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

Здесь обсуждаются проблемы мироустройства.
Post Reply
Nicola777
Posts: 5
Joined: Wed 03 Apr, 2013 08:07

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

Post by Nicola777 »

Доброго времени суток!
Подскажите пож-та! Необходимо из документа 123.xlsm
скопировать первый столбец в файл 123.txt находящийся в папке "room"!
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Post by HaRT »

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

PS
Тему перенёс из “Macros & Scripts/Нужна помощь”.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Nicola777
Posts: 5
Joined: Wed 03 Apr, 2013 08:07

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

Post 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... не могу это как то объединить, чтобы столбец скопировать в текстовый документ.
Nicola777
Posts: 5
Joined: Wed 03 Apr, 2013 08:07

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

Post 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
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Post by HaRT »

Настаиваю на необходимости ответов на оба своих вопроса из предыдущего сообщения.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Nicola777
Posts: 5
Joined: Wed 03 Apr, 2013 08:07

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

Post by Nicola777 »

Так, на вопрос какие я шаги предпринимал, думаю я ответил.
Вопрос : "при чём тут ФАР?"
Ошибся.. написал не туда. Но вы же уже перенесли тему в нужный топик.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

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

Post by Skirda »

Nicola777 wrote:Совсе не силен в VBA...
Так вопрос про VBA или VBScript?

Решение в лоб - перебор циклом пока ячейка "этого" стобца не пуста (или цикл до заранее заданной строки)
We are the Borg. You will be assimilated.
So Say We All!
Nicola777
Posts: 5
Joined: Wed 03 Apr, 2013 08:07

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

Post by Nicola777 »

то на чем макросы в EXCEL делают )
Sheets("Unique").Select
Columns("A:A").Select
Selection.copy
Вот , столбец скопирован!
его надо добавить в текст. док .
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

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

Post 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 в файл рисуй - каждое значение в свой строке
We are the Borg. You will be assimilated.
So Say We All!
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

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

Post by Skirda »

Сцылки: 1, 2
We are the Borg. You will be assimilated.
So Say We All!
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Автору темы конечно не поможет, но чтобы повернуть тему хоть как-то в русло фара.
Есть https://github.com/jjensen/lua-xls (от автора LuaPlus).

Сам пощупал бы, но к не получилось собрать (
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

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

Post by Skirda »

John Doe wrote:Есть https://github.com/jjensen/lua-xls (от автора LuaPlus).
Lua? Внутри MS Office вместо VBA? ;-)
We are the Borg. You will be assimilated.
So Say We All!
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Снаружи. Работа с самими файлами из Lua-скриптов/макросов
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

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

Post by Skirda »

John Doe wrote:Снаружи. Работа с самими файлами из Lua-скриптов/макросов
Ну как бы было сказано так:
Nicola777 wrote:то на чем макросы в EXCEL делают )
We are the Borg. You will be assimilated.
So Say We All!
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Что нужно топикстартеру я не знаю.
Может быть именно VB-макрос, а может всё-равно, лишь бы результат.

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

Return to “О тщете всего сущего”