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
Во-первых, при чём тут ФАР?
Во-вторых, какие ещё шаги Вы уже предприняли для самостоятельного решения своей задачи? Только предельно чётко и конкретно, по пунктам и с деталями.
Тут не любят лодырей, которые не хотят самостоятельно делать лабораторки. :evil:

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
Грубо так (от второй строки до тех пор, пока не встретится пустая ячейка):
  1. y = 2
  2.  
  3. dest = ""
  4.  
  5. Do While Range("A" & y).Value <> ""
  6.  
  7.         If dest <> "" Then dest = dest & vbCrLf
  8.  
  9.         dest = dest & Range("A" & y).Value
  10.  
  11.         y = y + 1
  12.  
  13. Loop
или так (от второй строки до сотой):
  1. dest = ""
  2.  
  3. For y=2 To 100
  4.  
  5.         If dest <> "" Then dest = dest & vbCrLf
  6.  
  7.         dest = dest & Range("A" & y).Value
  8.  
  9. Next
а потом dest в файл рисуй - каждое значение в свой строке

Re: Копировать столбец из Excel в .txt

Posted: Wed 03 Apr, 2013 12:44
by Skirda
Сцылки: 1, 2

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
John Doe wrote:Есть https://github.com/jjensen/lua-xls (от автора LuaPlus).
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-макрос, а может всё-равно, лишь бы результат.

Скорее конечно первое, но я дополнил вторым для полноты картины.