2014-09-05 9 views
-2

Мне нужен код VBA, который преобразует текстовый файл (.txt) в документ MS Word (.docx). Кто-нибудь имеет код для этого? У меня есть много текстовых файлов в каталоге и вы хотите конвертировать их в файлы docx в том же каталоге или в созданном каталоге VBA, используя то же имя каталога, что и «преобразованный», добавленный в имя каталога. У меня есть более 800 файлов txt для преобразования.Преобразование текстового файла в Word docx

Спасибо, Нельсон

ответ

0

Вы можете создать VBA скрипт/макрос в Excel, записывая шаги, чтобы импортировать текстовый файл и сохранить его в (XLS, XLSX) файл Excel. Я сделал это с помощью Excel, но Word имеет аналогичную функцию записи/макроса.

0

Here Я создал скрипт, который делает именно это opposite.Here переработано один, который создает docx из txt (это VBScript/партии гибридного и должно быть экономит как .bat) НЕОБХОДИМОСТИ ADMIN РАЗРЕШЕНИЯ (чтобы начать невидимое слово в основном):

'>nul 2>&1|| @copy /Y "%windir%\System32\doskey.exe" "'.exe" >nul 
'&&@echo off && cls &&goto :end_vbs 

Set WordApp = CreateObject("Word.Application") 
WordApp.Visible = FALSE 

'Open txt for reading 
Set WordDoc = WordApp.Documents.Open(WScript.Arguments.Item(0),false) 

'wdFormatText 2 
'wdFormatUnicodeText 7 
'wdFormatDocumentDefault 16 
'http://msdn.microsoft.com/en-us/library/office/ff839952.aspx 



WordDoc.SaveAs WScript.Arguments.Item(1) ,16 
WordDoc.Close() 
WScript.Quit 

:end_vbs 

'& if "%~1" equ "-help" echo %~n0 text_document [ destination ] 
'& if "%~1" equ "" echo txt document not given & exit /b 1 
'& if not exist "%~f1" echo txt document does not exist & exit /b 2 
'& if "%~2" equ "" (set "save_as=%~dpn1.docx") else (set "save_as=%~2") 
'& if exist "%~f2" del /s /q "%~f2" 
'& for %%# in ("%save_as%") do set "save_as=%%~dpn#" 
'& taskkill /im winword* /f >nul 2>&1 
'& cscript /nologo /E:vbscript %~f0 "%~f1" "%save_as%" 
'& pause 
'& rem del /q '.exe 

Может быть, я должен создать JScript/BAT гибрид, как код будет более удобно ... Во всяком случае это принимает 2 аргумента, один для файла .txt и один для .docx удаление, но txt-файл останется eleted. Вы можете использовать это для повторного преобразования ваших файлов txt и их удаления.

+0

Извините, но я мало знаю о программировании, поэтому я не знаю, как использовать этот код. Я скопировал его непосредственно в .bat-файл, но, похоже, он ничего не делает, кроме флэш-окна DOS на экране, а затем останавливается. Как я могу использовать этот код? Извините, что я такой неофит. – ntman2

+0

@ ntman2 - Сначала вы можете добавить паузу в конце, чтобы узнать, что происходит, или вызвать его из командной строки. Для сценария нужны аргументы - путь к 'txt' и путь к' docx', который вы хотите создать. скажем, что он сохраняется как 'txt2docx.bat'. Чтобы преобразовать' test.txt' в 'test.docx', вам нужно вызвать его из командной строки следующим образом:' c: \ dir> txt2docx.bat "c: \ dir \ test.txt "" c: \ res \ test.docx "' – npocmaka

Смежные вопросы