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

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

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

Post by Nicola777 » Wed 03 Apr, 2013 10:42

Доброго времени суток!
Подскажите пож-та! Необходимо из документа 123.xlsm
скопировать первый столбец в файл 123.txt находящийся в папке "room"!

User avatar
HaRT
Moderator
Posts: 8118
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 68 times
Been thanked: 107 times

Post by HaRT » Wed 03 Apr, 2013 11:10

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

PS
Тему перенёс из “Macros & Scripts/Нужна помощь”.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Nicola777
Posts: 5
Joined: Wed 03 Apr, 2013 08:07

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

Post by Nicola777 » Wed 03 Apr, 2013 11:52

Есть функция записи в текстовый файл из переменной:
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 » Wed 03 Apr, 2013 11:54

поправка: Необходимо не копировать, а дописывать.
Добавление в текстовый файл из переменной:

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: 8118
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 68 times
Been thanked: 107 times

Post by HaRT » Wed 03 Apr, 2013 12:01

Настаиваю на необходимости ответов на оба своих вопроса из предыдущего сообщения.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Nicola777
Posts: 5
Joined: Wed 03 Apr, 2013 08:07

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

Post by Nicola777 » Wed 03 Apr, 2013 12:20

Так, на вопрос какие я шаги предпринимал, думаю я ответил.
Вопрос : "при чём тут ФАР?"
Ошибся.. написал не туда. Но вы же уже перенесли тему в нужный топик.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 1 time

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

Post by Skirda » Wed 03 Apr, 2013 12:27

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 » Wed 03 Apr, 2013 12:31

то на чем макросы в EXCEL делают )
Sheets("Unique").Select
Columns("A:A").Select
Selection.copy
Вот , столбец скопирован!
его надо добавить в текст. док .

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 1 time

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

Post by Skirda » Wed 03 Apr, 2013 12:41

Грубо так (от второй строки до тех пор, пока не встретится пустая ячейка):
  1. y = 2
  2. dest = ""
  3. Do While Range("A" & y).Value <> ""
  4.         If dest <> "" Then dest = dest & vbCrLf
  5.         dest = dest & Range("A" & y).Value
  6.         y = y + 1
  7. Loop
или так (от второй строки до сотой):
  1. dest = ""
  2. For y=2 To 100
  3.         If dest <> "" Then dest = dest & vbCrLf
  4.         dest = dest & Range("A" & y).Value
  5. Next
а потом dest в файл рисуй - каждое значение в свой строке
We are the Borg. You will be assimilated.
So Say We All!

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 1 time

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

Post by Skirda » Wed 03 Apr, 2013 12:44

Сцылки: 1, 2
We are the Borg. You will be assimilated.
So Say We All!

User avatar
John Doe
Бюрократ
Posts: 11419
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

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

Post by John Doe » Wed 03 Apr, 2013 12:47

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

Сам пощупал бы, но к не получилось собрать (

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 1 time

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

Post by Skirda » Wed 03 Apr, 2013 12:50

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: 11419
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

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

Post by John Doe » Wed 03 Apr, 2013 12:53

Снаружи. Работа с самими файлами из Lua-скриптов/макросов

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 1 time

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

Post by Skirda » Wed 03 Apr, 2013 12:54

John Doe wrote:Снаружи. Работа с самими файлами из Lua-скриптов/макросов
Ну как бы было сказано так:
Nicola777 wrote:то на чем макросы в EXCEL делают )
We are the Borg. You will be assimilated.
So Say We All!

User avatar
John Doe
Бюрократ
Posts: 11419
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

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

Post by John Doe » Wed 03 Apr, 2013 13:00

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

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

Post Reply

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