Api 获取打开的Word文档的完整路径

Api 获取打开的Word文档的完整路径,api,ms-word,dde,Api,Ms Word,Dde,如果MS Word正在打开一个文档文件,外部程序是否有办法获取该文档文件的完整路径?我尝试使用GetCommandLineA(),但没有结果,只有“C:\Program Files\Microsoft Office\Office12\WINWORD.EXE”/n/dde”。我也在上读过一篇文章,但我不知道如何获得DDE消息。你能告诉我怎么做吗?你需要一个Word对象模型的钩子(例如通过.Net/Office Interop或直接通过COM)。对文档进行引用后,请使用其FullName属性。如果文

如果MS Word正在打开一个文档文件,外部程序是否有办法获取该文档文件的完整路径?我尝试使用GetCommandLineA(),但没有结果,只有“C:\Program Files\Microsoft Office\Office12\WINWORD.EXE”/n/dde”。我也在上读过一篇文章,但我不知道如何获得DDE消息。你能告诉我怎么做吗?

你需要一个Word对象模型的钩子(例如通过.Net/Office Interop或直接通过COM)。对文档进行引用后,请使用其FullName属性。如果文档可能通过网络在服务器上或来自数据库,则文件名中可能有字符(如“-”)对下载到的任何平台都无效。如果是这种情况,请根据平台去除无效文件路径字符的名称


有几种防御性的方法可以用来命名。

您能使用.Net/Office Interop吗?或者这是COM还是其他东西?最后一点注意:我遇到过Name和FullName属性返回空字符串或null的情况。最后,我认为这归结于微软的一个问题,即对文档应用XSLT转换将导致这些值被剥离(实际上是有意义的)。因此,如果有任何转换业务正在进行:在进行任何处理之前,在代码中尽快获取文档的名称。