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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2013, 22:28   #1
Dima_com
Пользователь
 
Регистрация: 29.11.2011
Сообщений: 40
По умолчанию Возможно ли построчно записывать данные в excel vbs?

Здравствуйте!
Столкнулся с такой проблемой:
на входе имею построчно считываемый фаил.
Строку с разделителями табуляцией
на выходе необходимо лист книги ексел.
Записывается это добро в определенные заранее шаблонный документ ексель так что просто открыть с помощью к сожалению не подойдет.
Заранее, всем, спасибо за помощь!
Dima_com вне форума Ответить с цитированием
Старый 16.10.2013, 00:45   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

А в чем проблема?
Создавайте программно обычный текстовый (CSV) файл, с разделителем «точка с запятой»
Только расширение текстовому файлу сделайте XLS

Несмотря на то, что файл останется текстовым (CSV), Excel его поймёт как родной XLS, и откроет без всяких предупреждений о несоответствующем формате файла.
EducatedFool вне форума Ответить с цитированием
Старый 16.10.2013, 12:04   #3
Dima_com
Пользователь
 
Регистрация: 29.11.2011
Сообщений: 40
По умолчанию

Спасибо за ответ но я хочу открыть его в конкретной книге где у меня уже есть определенные данные, эти я хочу просто поместить на 1 из листов.
Если делать как вы говорите он откроет новую книгу.
Dima_com вне форума Ответить с цитированием
Старый 18.10.2013, 00:14   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Читаете текст в массив, создаёте соответствующий массив для результата, перекладываете данные из одного массива в другой разбивая по полям, выгружаете результат в свой шаблон.
Всё можно делать кодом vbs.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 27.10.2013, 22:57   #5
Dima_com
Пользователь
 
Регистрация: 29.11.2011
Сообщений: 40
По умолчанию

Спасибо большое! Но это то о чем я говорил сразу это долго выполняется. Нашел лучший способ может кому то понадобиться.
Пишу все в первый столбик первую ячейку а потом бью по разделителю.


PHP код:
Dim rngSet rng WScript.CreateObject("Excel.Application")
 
rng.Columns("A").TextToColumns  rng.Range("A1"), xlDelimited,,,,,,,True,vbTab 
Dima_com вне форума Ответить с цитированием
Старый 28.10.2013, 01:29   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Долго? Не хотите показать этот долгий код?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 28.10.2013, 12:51   #7
Dima_com
Пользователь
 
Регистрация: 29.11.2011
Сообщений: 40
По умолчанию

Ну я уже удалил но по памяти могу сказать
Входящая строка
readLine = знач-таб-знач-таб-знач-таб-знач-таб-знач-таб-знач
col = Split(readLine, vbTab)
For x =0 to UBound (col)
excApp.Cells(y,x).Value = col
Next
x=x+1
Ну как то так но я уже закрыл для себя этот вопрос, у меня сейчас новая беда)).
http://www.programmersforum.ru/showthread.php?t=246666
Dima_com вне форума Ответить с цитированием
Старый 28.10.2013, 13:53   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Ну ясно, так и думал.
Нужно было как я выше написал - читать в массив, создать массив, переложить в массив, и лишь затем [a1].resize(x,y).value=arr
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 28.10.2013, 19:17   #9
Dima_com
Пользователь
 
Регистрация: 29.11.2011
Сообщений: 40
По умолчанию

Спасибо за помощь и совет, в следующий раз попробую!
Dima_com вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повторяющиеся данные, длинные строки, VBS Boris26rus Помощь студентам 0 30.05.2013 22:03
VBS + Excel PrincNochi Microsoft Office Excel 5 29.03.2013 14:36
не получается записать данные из файла в массив построчно monnzz Общие вопросы C/C++ 0 14.02.2013 21:45
Нужно переделать, чтобы программа могла считывать данные с файла и записывать в него результат. Kroleg Помощь студентам 2 13.11.2011 19:15
Возможно ли востановить данные в Excel? vovikbvovikb Помощь студентам 0 08.08.2009 09:53