我在excel 2013中创建了宏,我将一些数据从excel指向Word(通过word模板)。 在excel 2013中,一切都运行良好,但现在我必须在旧公司PC中运行这个excel,只安装M $ Office 2010 / win7 - 全新安装。
Set objDoc = objWord.Documents.Add(Template:=ThisWorkbook.Sheets("Data").Range("O1").Value & ThisWorkbook.Sheets("Data").Range("G2").Value)
在这个excel 2010中,我得到了运行时错误5981(应用程序定义的或对象定义的错误)。
单元格“O1”中的是保存此excel + word模板的文件夹 单元格“G2”包含应使用哪个模板的信息(根据下拉选择)。
更新:我在办公室2010的其他电脑上检查了这个并且它有效。可能有些加载项/库无法正常工作,但idk如何检查它。
答案 0 :(得分:0)
错误5981似乎附有两个描述(为什么?):
由于我得到了第二个描述,我只能评论那个,虽然“无法打开宏存储”似乎表明Word文件本身存在错误(宏的存在)。
在我的情况下,错误5981的原因是Word模板不是受信任的文档。 手动打开Word模板时,它在受保护的视图中打开。当通过VBA自动打开模板时,这显然会导致错误5981。
答案 1 :(得分:0)
错误是因为当您打开单词模板时,视图受到保护。 解决方案:在microsotf word中禁用受保护的视图 转到选项,信任中心,受保护的视图禁用