Page 1 of 1
Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 10:42
by Nicola777
Доброго времени суток!
Подскажите пож-та! Необходимо из документа 123.xlsm
скопировать первый столбец в файл 123.txt находящийся в папке "room"!
Posted: Wed 03 Apr, 2013 11:10
by HaRT
Во-первых, при чём тут ФАР?
Во-вторых, какие ещё шаги Вы уже предприняли для самостоятельного решения своей задачи? Только предельно чётко и конкретно, по пунктам и с деталями.
Тут не любят лодырей, которые не хотят самостоятельно делать лабораторки.
PS
Тему перенёс из “
Macros & Scripts/Нужна помощь”.
Re: Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 11:52
by Nicola777
Есть функция записи в текстовый файл из переменной:
Function SaveTXTfile(ByVal filename As String, ByVal txt As String) As Boolean
On Error Resume Next: Err.Clear
Set fso = CreateObject("scripting.filesystemobject")
Set ts = fso.CreateTextFile(filename, True)
ts.Write txt: ts.Close
SaveTXTfile = Err = 0
Set ts = Nothing: Set fso = Nothing
End Function
Могу скопировать из одного столбца в другой:
Sub copy()
Sheets("Unique").Select
Columns("A:A").Select
Selection.copy
Columns("G:G").Select
ActiveSheet.Paste
End Sub
Совсе не силен в VBA... не могу это как то объединить, чтобы столбец скопировать в текстовый документ.
Re: Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 11:54
by Nicola777
поправка: Необходимо не копировать, а дописывать.
Добавление в текстовый файл из переменной:
Function AddIntoTXTfile(ByVal filename As String, ByVal txt As String) As Boolean
On Error Resume Next: Err.Clear
Set fso = CreateObject("scripting.filesystemobject")
Set ts = fso.OpenTextFile(filename, 8, True): ts.Write txt: ts.Close
Set ts = Nothing: Set fso = Nothing
AddIntoTXTfile = Err = 0
End Function
Posted: Wed 03 Apr, 2013 12:01
by HaRT
Настаиваю на необходимости ответов на оба своих вопроса из предыдущего сообщения.
Re: Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 12:20
by Nicola777
Так, на вопрос какие я шаги предпринимал, думаю я ответил.
Вопрос : "при чём тут ФАР?"
Ошибся.. написал не туда. Но вы же уже перенесли тему в нужный топик.
Re: Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 12:27
by Skirda
Nicola777 wrote:Совсе не силен в VBA...
Так вопрос про VBA или VBScript?
Решение в лоб - перебор циклом пока ячейка "этого" стобца не пуста (или цикл до заранее заданной строки)
Re: Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 12:31
by Nicola777
то на чем макросы в EXCEL делают )
Sheets("Unique").Select
Columns("A:A").Select
Selection.copy
Вот , столбец скопирован!
его надо добавить в текст. док .
Re: Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 12:41
by Skirda
Грубо так (от второй строки до тех пор, пока не встретится пустая ячейка):
y = 2
dest = ""
Do While Range("A" & y).Value <> ""
If dest <> "" Then dest = dest & vbCrLf
dest = dest & Range("A" & y).Value
y = y + 1
Loop
или так (от второй строки до сотой):
dest = ""
For y=2 To 100
If dest <> "" Then dest = dest & vbCrLf
dest = dest & Range("A" & y).Value
Next
а потом dest в файл рисуй - каждое значение в свой строке
Re: Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 12:44
by Skirda
Re: Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 12:47
by John Doe
Автору темы конечно не поможет, но чтобы повернуть тему хоть как-то в русло фара.
Есть
https://github.com/jjensen/lua-xls (от автора LuaPlus).
Сам пощупал бы, но к не получилось собрать (
Re: Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 12:50
by Skirda
Lua? Внутри MS Office вместо VBA?
Re: Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 12:53
by John Doe
Снаружи. Работа с самими файлами из Lua-скриптов/макросов
Re: Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 12:54
by Skirda
John Doe wrote:Снаружи. Работа с самими файлами из Lua-скриптов/макросов
Ну как бы было сказано так:
Nicola777 wrote:то на чем макросы в EXCEL делают )
Re: Копировать столбец из Excel в .txt
Posted: Wed 03 Apr, 2013 13:00
by John Doe
Что нужно топикстартеру я не знаю.
Может быть именно VB-макрос, а может всё-равно, лишь бы результат.
Скорее конечно первое, но я дополнил вторым для полноты картины.