簡體   English   中英

如何防止Excel綁定到Microsoft Word 15.0對象庫?

[英]How do I keep Excel from binding to the Microsoft Word 15.0 Object Library?

我們有一個非常復雜的Excel 2010電子表格模板。 模板的每個新副本在其生命周期中都需要通過幾個人。

不幸的是,第一批使用該模板的人之一安裝了Office 365。 觸摸后,電子表格似乎綁定到Microsoft Word 15.0對象庫,這在Excel 2010 PC上不可用。 雖然可以通過在VBA代碼工具>引用中取消選中缺少的Word對象庫來修復單個損壞的文件,但我需要找到一種方法來防止這種情況發生。

我已經詳細閱讀了代碼,但是我找不到對MS Word對象庫的任何引用,那么是什么原因導致Excel首先綁定到它? 我能做些什么來阻止它嗎?

未經測試,但在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的引用; 無論如何,上面假設它確實如此。

要刪除,放置在模塊內:我知道這不會阻止它首先發生,但這可能有助於至少在下一個人之前刪除它。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM