如何防止Excel绑定到Microsoft Word 15.0对象库?

时间:2015-03-17 20:05:51

标签: excel vba excel-vba excel-2010

我们有一个非常复杂的Excel 2010电子表格模板。模板的每个新副本在其生命周期中都需要通过几个人。

不幸的是,首批使用该模板的人之一安装了Office 365。触摸后,电子表格似乎绑定到Microsoft Word 15.0对象库,这在Excel 2010 PC上不可用。通过在VBA代码工具中取消选中缺少的Word对象库,可以修复单个损坏的文件>参考文献,我需要找到一种方法来防止这种情况发生。

我已详细阅读了代码,但我找不到对MS Word对象库的任何引用,那么是什么原因导致Excel首先绑定到它?我能做些什么来阻止它吗?

2 个答案:

答案 0 :(得分:2)

未经测试,但在Workbook_BeforeSave事件中添加类似内容可能会有效:

With ThisWorkbook.VBProject.References
    For i = .Count To 1 Step -1
        If InStr(.Item(i).Name, "Word") <> 0 Then .Remove .Item(i)
    Next
End With

免责声明:我没有Office 365,也不知道为什么它会自动添加对Word 15.0的引用;无论如何,上面假设它确实如此。

答案 1 :(得分:1)

要删除,请放置在模块内部:我知道这不会阻止它首先发生,但这可能有助于至少在下一个人之前删除它。

Private Sub RemoveRef()
     Dim Reference As Object
     For Each Reference In ThisWorkbook.VBProject.References
           If Reference.Description = "Microsoft Word 15.0 Object library" Then
                 ThisWorkbook.VBProject.References.Remove Reference
           End If
     Next
End Sub