как пересохранить 500 вордовских файлов в тхт?

lubanj

есть 500 вордовских файлов-анкеток. Типа фио, адрес, и т.д.
Нужно это перегнать в эксель-табличку.
В принципе если сохранить в тхт, то можно потом распарсить, и сгенерить нужный .csv файлик.
Вопрос: как автоматически сделать такое массовое пересохранение?
Взбатывать великий и могучий VBA не охота. Небось кто-нибудь уже делал подобное?

Serab

catdoc :smirk:
возможно, даже серьезно :grin:

lubanj

в принципе doc2txt справляется. командная строка присутствует
но не все пробельные символы попадают в тхт :( парсить потом не выйдет.

serega1604

antiword

kill-still

20-30 строк на VBA же.
и ставить ничего не надо.

lubanj

окей. давай строчки. вставлю так и быть.

kill-still

от молодёжь пошла. :grin:
сначала пишешь
Set word = CreateComObject('Word');
потом
word.Application.Documents.Open.... ну и так далее :grin: :grin: :p ....
справка очень подробная: http://msdn.microsoft.com/en-us/library/bb288732%28office.12...

0000

Чет типа того. Сохранить в виде filename.vbs. Исходные файлы положить туда, куда первая строка указывает, получаемые должны складироваться во вторую.

strSrcFolder = "C:\Source"
strTrgFolder = "C:\Target"

set objFSO = CreateObject("Scripting.FileSystemObject")
set objF = objFSO.GetFolder(strSrcFolder)

Dim objWord
Set objWord = WScript.CreateObject("Word.Application")


Set objFileSearch = objF.Files
For Each objf1 in objFileSearch
doc2txt strSrcFolder & "/" & objF1.name, strTrgFolder & "/" & objF1.name & ".txt"
Next

objWord.Quit

Sub doc2txt (strSrcFile, strTrgFile)
objWord.Documents.Open strSrcFile
objWord.ActiveDocument.SaveAs strTrgFile, 2
' For UTF-8 format, use the next line, instead of the one above
'objWord.ActiveDocument.SaveAs strTrgFile, 265001
objWord.ActiveDocument.Close
End Sub

P.S. Можно написать скрипт перегона из doc сразу в xls, но для этого надо дать денег на еду.
Оставить комментарий
Имя или ник:
Комментарий: