Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2009, 12:05   #1
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию Запись массива данных из Excel в файл txt

Всем Доброго дня!

Код:
Dim txtoutput_array()
txtoutput_array() = Range([A2], Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1))

NewFilename = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "" & имя моего будущего файла & ".txt")
    Set fso = CreateObject("scripting.filesystemobject")
    Set ts = fso.CreateTextFile(NewFilename, True)
    ts.Write 123
    ts.Close
    Set ts = Nothing: Set fso = Nothing
Как вместо
Код:
ts.Write 123
подставить массив txtoutput_array() ?
Maxx вне форума Ответить с цитированием
Старый 11.12.2009, 12:07   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Код:
Dim sTxt as String, li as long
    for li = lbound(txtoutput_array) to ubound(txtoutput_array)
        sTxt = sTxt & txtoutput_array(li)
    next li
    ts.Write sTxt
    ts.Close
    Set ts = Nothing: Set fso = Nothing
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 11.12.2009, 12:15   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Вместо строки
Код:
ts.Write 123
в Вашем случае можно использовать
Код:
ts.Write Join(Application.Transpose(Application.Index(txtoutput_array, 0, 1)), " ")
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 11.12.2009, 12:44   #4
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию

The_Prist,
на строке sTxt = sTxt & txtoutput_array(li) вылетает ошибка "Скрипт аут оф рейндж"

SAS888, все работает, только пишет непрерывной строкой.
А можно ли массив записать в txt построчно, как в Excel?
Maxx вне форума Ответить с цитированием
Старый 11.12.2009, 13:23   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

ts.Write Join(Application.Transpose(Applicat ion.Index(txtoutput_array, 0, 1)), vbCrLf)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 11.12.2009, 14:00   #6
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию

Всем огромнейшее СПАСИБО!!!
Все отлично работает! Закончил большой проект
Maxx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись массива с цифрами файл, и его загрузка Kycaka Общие вопросы C/C++ 4 08.06.2009 22:38
Запись массива в txt yura-cat Помощь студентам 5 20.10.2008 23:54
ввод, запись массива чисел в файл Sairut Помощь студентам 1 11.12.2007 23:19
Как прочесть txt файл www.site.ru/info.txt BR17UY Работа с сетью в Delphi 1 16.04.2007 13:01