我目前正在研究基于Delphi 5的非常旧的项目。当我尝试在x64系统上打开新的Word文档时,我发现了这个错误:
根据MSDN,问题的根源可能是我的Office版本(x64)。在应用程序中,我们使用TWordApplication对象来管理Word调用。这个问题有什么解决方案吗?在Office x86上,一切正常。
这是代码的一部分:
Word := TWordApplication.Create(nil);
Word.ConnectKind := ckNewInstance;
Word.AutoQuit := True;
Word.Connect;
Word.Options.CheckSpellingAsYouType := False;
Word.Options.CheckGrammarAsYouType := False;
Word.Options.SuggestSpellingCorrections := False;
Word.Options.CheckGrammarWithSpelling := False;
Word.Options.ShowReadabilityStatistics := False;
Word.Options.IgnoreInternetAndFileAddresses := False;
Word.Options.IgnoreUppercase := True;
Word.Options.IgnoreMixedDigits := True;
Word.Options.ReplaceSelection := True;
答案 0 :(得分:4)
问题似乎出现在附加到文档的VBA代码中,而不是Delphi代码中。具体而言,涉及名为API的隐藏模块。也许这是在模板或加载项或自动启动。
隐藏的模块受到保护,这表明您可能无法修改模块。您可以尝试联系受保护模块的作者,也可以删除引入此模块的任何内容。
恢复到32位Office是一个更简单的解决方案。这将要求您首先卸载64位Office,因为这两个版本不共存。