我在一个文件夹中有一堆.doc文件,我需要将其转换为.docx .
手动将.doc转换为.docx非常简单:
在Word 2007中打开.doc
点击另存为...
将其另存为.docx
但是,对数百个文件执行此操作肯定不是很有趣 . = p
你会如何自动化?
自动化Word .
如果您使用的是.NET,请将Microsoft.Office.Interop.Word(确保它是版本12 - 相当于Word 2007,以便您可以实现上述目标)添加到您的项目并使用它自动化Word应用程序来完成你想在上面做 . 伪代码
创建应用程序对象
使用应用程序对象打开文档(通过提供文件名)
使用应用程序对象通过向其提供格式和输出文件名来执行SaveAs
关闭当前文档
循环上述内容,直至完成所有文件
用于释放Word或Doc对象的管家代码
您可以在google上找到大量示例,只需在C#中搜索Word Automation或其他内容 .
没有必要自动化Word,由于弹出消息而导致相当缓慢和脆弱,或者使用Microsoft的Office文件转换器(ofc.exe),后者具有不必要的复杂用户界面 .
最简单,最快捷的方法是安装Office 2007或从Microsoft下载并安装兼容包(如果尚未安装) . 然后,您可以使用以下命令轻松地将.doc转换为.docx:
"C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme <input file> <output file>
其中<input file>和<output file>需要是完全限定的路径名 .
使用 for 可以轻松地将该命令应用于多个文档:
for
for %F in (*.doc) do "C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme "%F" "%Fx"
最简单的方法是使用命令行 Office File Converter . 赶紧跑
ofc
并且魔术发生了 .
WD2000: How to Use (OLE) Automation with Word . 适用于Word 2000,但该模型仍适用 .
阅读本文:http://forums.techarena.in/office-update-service/785673.htm
5 回答
自动化Word .
如果您使用的是.NET,请将Microsoft.Office.Interop.Word(确保它是版本12 - 相当于Word 2007,以便您可以实现上述目标)添加到您的项目并使用它自动化Word应用程序来完成你想在上面做 . 伪代码
创建应用程序对象
使用应用程序对象打开文档(通过提供文件名)
使用应用程序对象通过向其提供格式和输出文件名来执行SaveAs
关闭当前文档
循环上述内容,直至完成所有文件
用于释放Word或Doc对象的管家代码
您可以在google上找到大量示例,只需在C#中搜索Word Automation或其他内容 .
没有必要自动化Word,由于弹出消息而导致相当缓慢和脆弱,或者使用Microsoft的Office文件转换器(ofc.exe),后者具有不必要的复杂用户界面 .
最简单,最快捷的方法是安装Office 2007或从Microsoft下载并安装兼容包(如果尚未安装) . 然后,您可以使用以下命令轻松地将.doc转换为.docx:
其中<input file>和<output file>需要是完全限定的路径名 .
使用
for
可以轻松地将该命令应用于多个文档:最简单的方法是使用命令行 Office File Converter . 赶紧跑
并且魔术发生了 .
WD2000: How to Use (OLE) Automation with Word . 适用于Word 2000,但该模型仍适用 .
阅读本文:http://forums.techarena.in/office-update-service/785673.htm