从旧版c+调用office 2010 Api+;应用 我有一个问题,一个15年的C++应用程序使用旧的Office API创建.doc文件并用Word打开它。
该应用程序包括以下文件 mso9.dll从旧版c+调用office 2010 Api+;应用 我有一个问题,一个15年的C++应用程序使用旧的Office API创建.doc文件并用Word打开它。,c++,office-2010,visual-studio-6,C++,Office 2010,Visual Studio 6,该应用程序包括以下文件 mso9.dll vbe6ext.olb excel9.olb msword9.olb 我们目前正在从office 2003迁移到2010,从windows xp迁移到windows 7 现在我们在打开.doc文件时遇到了一些问题(“当已经有word的打开实例时,无法打开临时文件”) 现在,我想将上述包含的文件更改为office 2010中的相应文件。我知道现在已经没有*.olb文件了,但我曾希望有一个symple dll可以导入,一切都可以重新运行 有人能告诉我是否有这
vbe6ext.olb
excel9.olb
msword9.olb 我们目前正在从office 2003迁移到2010,从windows xp迁移到windows 7 现在我们在打开.doc文件时遇到了一些问题(“当已经有word的打开实例时,无法打开临时文件”) 现在,我想将上述包含的文件更改为office 2010中的相应文件。我知道现在已经没有*.olb文件了,但我曾希望有一个symple dll可以导入,一切都可以重新运行 有人能告诉我是否有这样一个dll(和哪个),或者是否有可能让这个应用程序在没有重大更改的情况下运行。我们宁愿重新实现整个应用程序,也不愿花太多时间来更改旧的应用程序 提前感谢
Andreas这与您使用的类型库的版本无关。Office只是阻止两个用户修改同一个文件,第一个用户获胜。下一个需要将Open()调用的ReadOnly参数设置为true。相应地调整代码。这不是多用户问题。该文件在本地创建并通过应用程序打开。当用户使用不同的文件打开word实例时会出现问题。很难解释,您总是使用COM创建自己的WinWord.exe实例。您确定这是Word而不是GetTempFileName()生成的错误吗?我会寻找一个行为错误的宏或加载项。我现在进一步调查了一下。我错了,因为应用程序没有打开.doc,但使用了.htm文件,并用word打开它。当word实例已打开时,似乎根本不会创建此文件。但是,调用CStdioFile.Open返回true这是我的问题: