问:
嗨,ScriptingGuy!我有一系列Word文件。我想打开这些文件中的每一个并将它们另存为纯文本文件。有没有一种通过使用脚本实现此目的的方法呢?
--CG
答:
您好,CG。是的,使用一个脚本,您很容易实现此目的。事实上,除了极少例外情况之外,您在MicrosoftOffice程序中可以做到的事情基本上都可以使用一个脚本来完成。在Word中,您可以使用“文件”–“另存为”将Word文档另存为文本文件。您也可以使用一个脚本做同样的事情。实际上,您可以使用以下脚本实现此目的:
复制代码 代码如下:
ConstwdFormatText=2
SetobjWord=CreateObject("Word.Application")
SetobjDoc=objWord.Documents.Open("c:scriptsmylog.doc")
objDoc.SaveAs"c:scriptsmylog.txt",wdFormatText
objWord.Quit
我们先创建一个名为“wdFormatText”的常量,然后将值2分配给它;此常量将用于告诉Word我们希望新文件保存为一个文本文件。然后我们创建一个MicrosoftWord实例,使用“打开”方法打开文件C:ScriptsMyLog.doc。文档打开之后,我们只需要一行代码就可将此Word文档另存为文本文件:
objDoc.SaveAs"c:scriptsmylog.txt",wdFormatText
Asyoucansee,wecalltheSaveAsmethod,andwepassittwoparameters:1)C:ScriptsMyLog.txt,whichisthepathforournewtextfile;and,2)wdFormatText,whichtellsWordtosavethefileasplaintext.这样就可以了。然后我们使用“Quit”方法关闭Word实例。
两个重要注意事项。第一,您在屏幕上看不到任何正在发生的事情,因为,默认情况下,无论何时您从一个脚本中调用Word,它都将运行在一个不可见窗口中。如果您希望看到它在屏幕上弹出,保存文件,然后消失,请使用以下代码:
ConstwdFormatText=2
SetobjWord=CreateObject("Word.Application")
objWord.Visible=TRUE
SetobjDoc=objWord.Documents.Open("c:scriptsmylog.doc")
objDoc.SaveAs"c:scriptsmylog.txt",wdFormatText
objWord.Quit
唯一的不同之处在于:我们将“Visible”属性设置为TRUE。
第二,您可以将Word文档另存为纯文本以外的格式。例如,使用常量wdFormatHTML(值=8)将Word文档另存为HTML文件;使用常量wdFormatXML(值=11)将Word文档另存为XML文件。