Vba 处理多个文档时出现Word错误

Vba 处理多个文档时出现Word错误,vba,ms-word,Vba,Ms Word,现在我们有一个程序可以打开文件夹中的所有word文件,并向页脚添加一些信息。从Windows XP和Word 2003切换到Windows 7和Word 2007后,我们开始出现以下错误: 运行时错误“5096”: EoAlphabicarabicabjadarabicalphabahttextcapsca (c:\Users…\Content.MSO\8BE508C6.docx) 它随机出现在任何文件中(可以是10个文件或100个文件)。我认为网络驱动器上的文件可能有问题,所以我修改了程序,首

现在我们有一个程序可以打开文件夹中的所有word文件,并向页脚添加一些信息。从Windows XP和Word 2003切换到Windows 7和Word 2007后,我们开始出现以下错误:

运行时错误“5096”:

EoAlphabicarabicabjadarabicalphabahttextcapsca

(c:\Users…\Content.MSO\8BE508C6.docx)


它随机出现在任何文件中(可以是10个文件或100个文件)。我认为网络驱动器上的文件可能有问题,所以我修改了程序,首先在本地复制每个文件,将页脚添加到该副本中,然后将其复制回网络。然而,这似乎不起作用。我正在寻找任何关于如何解决问题或重写解决方案的建议。但是,我需要将解决方案保留在VBA中,因为此应用程序是一个更大套件的一部分,它还没有准备好进行.NET重写

事实证明,我能够通过在本地复制word文件,在本地副本上运行主代码,然后将它们复制回网络来解决这个问题。一开始它似乎不起作用,因为我测试它的用户机器上没有最新版本的程序。

为仍在寻找此错误答案的用户添加此注释

我有一个宏,它根据主文档中的部分打开的文档创建多个文档

我得到了运行时错误“5096”,并且能够找到任何有效的解决方案


在调试代码时进一步检查后,我发现在从主文档中提取数据并构建文件名时,在文件名之后和扩展名之前有一个回车符。在添加replace语句以删除回车后,我可以全天无误地处理文档

我发现该错误是由于文件名中的字符数太长造成的。这通常发生在操作文件名时,并且在变量中设置了完整路径。我将手动从真实的长名称中切掉片段,以强制它工作

我想如果我很聪明,我会移动到目录中,只处理文件名,而不在名称前面加上目录。

哪里会发生错误?(打开、关闭、写入…)