|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.02.2008, 12:02 | #1 |
Пользователь
Регистрация: 28.01.2008
Сообщений: 17
|
xls - txt. VBS
Мож не в ту тему написал, но в общем трабла такая рисую скрипт на vbs
входные данные - 15 и более xls документов нужно создать один txt с разделителем (в xls данные формата Номер счёта 134516 199,5652 134517 79,2974 134518 102,4242 134519 2,4025 134520 85,0071 ) сделал построчно что то типа Option Explicit Dim XL,WshShell,fso,logOutputFile,t,t1, n,f,files,file Set XL=WScript.CreateObject("Excel.Appl ication") Set WshShell=WScript.CreateObject("WScr ipt.Shell") Set fso = CreateObject("Scripting.FileSystemO bject") Set OutputFile = fso.OpenTextFile(WshShell.CurrentDi rectory & "\test.txt", 8, True) Set F = FSO.GetFolder(WshShell.CurrentDirec tory & "\ttt") Set Files = F.Files For Each File In Files XL.Visible=false XL.WorkBooks.open(File) n = 2 Do While XL.Cells(n,1).Value > "" t = XL.Cells(n,1).Value t1 = XL.Cells(n,2).Value n = n + 1 OutputFile.WriteLine t & " " & t1 Loop xl.Workbooks(1).Close xl.Quit но это тьма времени уходит подскажите плз как бы это дело побыстрее оформить, и сразу же ещё вопрос - после выполнения сего творения при открытии одного из этих документов он мгновенно закрывается - это из-за XL.Visible=false ? кака избежать? |
01.03.2008, 17:25 | #2 |
Дон Кихот
Форумчанин
Регистрация: 17.01.2008
Сообщений: 130
|
Скопируй ячейки для экспорта во временный лист. Потом временный лист выгрузи экспортом SaveAs, где FileFormat = XlFileFormat.xlCSV.
Будет быстрее мне кажется... |
03.03.2008, 11:29 | #3 |
Пользователь
Регистрация: 28.01.2008
Сообщений: 17
|
Мда, спасибо разобрался почти со всем получилось что то типа
XL.Visible=false set actBook = xl.Workbooks.open(File) actBook.saveas Replace(File,"xls", "txt", 1, 1), 6 xl.activeworkbook.close false xl.Quit осталось тока пара трудностей на пример в первой строчке они мне сортировку устроили и она так же как текст сохраняется... да и в один файл приходиться отдельным скриптом сливать... думаю над тем что б действительно требуемый диапазон во временный лист грузить тока вот сложность в том что диапазон всегда меняется и без перебора не знаю как нужный выбирать спасибо за совет.) |