我需要将文本文件(.txt)转换为MS Word文档(.docx)的VBA代码。有没有人有代码来完成这个?我在一个目录中有许多文本文件,并且希望将它们批量转换为相同目录下的docx文件,或者使用相同的目录名称将VBA创建的目录与“转换”添加到目录名称中。我有超过800个txt文件被转换。将文本文件转换为Word docx
谢谢 尼尔森
我需要将文本文件(.txt)转换为MS Word文档(.docx)的VBA代码。有没有人有代码来完成这个?我在一个目录中有许多文本文件,并且希望将它们批量转换为相同目录下的docx文件,或者使用相同的目录名称将VBA创建的目录与“转换”添加到目录名称中。我有超过800个txt文件被转换。将文本文件转换为Word docx
谢谢 尼尔森
您可以通过记录导入文本文件并将其保存到一个Excel(XLS,XLSX)文件的步骤在Excel中创建一个VBA脚本/宏。我使用Excel完成了这项工作,但Word具有类似的录制/宏功能。
Here我创建了一个脚本,它完全opposite.Here的一个被整顿的一个,创建一个docx
从txt
(这是一个VBScript /批混合并需要保存为.bat
)NEED管理员权限(开始主要是看不见的字):
'>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
desination但txt文件将保持und eleted。您可以使用它来迭代您的txt文件转换和删除它们
对不起,但我对编程知之甚少,所以我不知道如何使用此代码。我直接将它复制到一个.bat文件,但它似乎没有做任何事情,除了在屏幕上闪烁DOS窗口,然后停止。我如何去使用这段代码?对不起,成为这样的新手。 – ntman2 2014-09-06 18:36:50
@ ntman2 - 首先,您可以在结尾处添加暂停以查看会发生什么情况,或从命令提示符调用该脚本。脚本需要参数 - “txt”的路径和要创建的“docx”的路径。可以说它保存为'txt2docx.bat'。要将'test.txt'转换为'test.docx',你需要像这样命令提示符来调用它:'c:\ dir> txt2docx.bat“c:\ dir \ test.txt“”c:\ res \ test.docx“' – npocmaka 2014-09-06 18:54:17