c# Word互操作保存docx与Word 2003 +兼容性包

本文关键字:Word 兼容性 2003 docx 互操作 保存 | 更新日期: 2023-09-27 17:49:15

在我的开发机器上,我安装了Win7 x64的office 2007。

目标机器是在WinXP x64上运行的Office 2003 + Compatibility Pack(用于读写docx等)。

我的程序,除其他外,在doc文件上打开/保存为命令,将它们转换为docx。

它在我的机器上运行得很好,但遗憾的是在目标机器上给出零大小的文件。没有抛出异常,它看起来工作正常,除了当我查看输出文件时,它是零长度。

知道为什么会发生这种情况吗?如何解决?

我最后的办法是写一个丑陋的Word/PowerPoint宏来打开文档并保存它。我希望一切都能从我的程序中自动发生,而不需要打开Word/PowerPoint窗口。

c# Word互操作保存docx与Word 2003 +兼容性包

没有必要自动化Word,由于弹出消息,它相当缓慢和脆弱。你可能想看看微软的Office文件转换器(Office .exe),但是它有一个不必要的复杂的用户界面。

最简单和最快的方法是使用以下命令轻松地从。doc转换为。docx:

"C:'Program Files'Microsoft Office'Office12'wordconv.exe" -oice -nme <input file> <output file>

其中需要是完全限定的路径名。

该命令可以使用for:

轻松地应用于多个文档
for %F in (*.doc) do "C:'Program Files'Microsoft Office'Office12'wordconv.exe" -oice -nme "%F" "%Fx"

您可以使用Process.Start方法在c#中运行此命令

您确定正在使用的SAVE或SAVEAS指定了正确的选项来强制文件保存为DOCX吗?在2007中,这是内置的,但在2003中,我认为您必须以不同的方式指定保存格式,明确地告诉它使用来自兼容性包的适当过滤器。