1

我正在尝试以编程方式断开所有链接,然后在工作簿中重新创建它们。

我得到了一些 VBA 代码来干净地破坏 Excel 2010 中的 Excel 链接,但是我一直遇到的问题是每次我重新创建链接时 Excel 都会提示我。

这就是我正在做的事情:

这是 BreakLinks 程序:

Sub BreakLinks()
    vLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)

    ' Break all links in the active workbook.
    For lLink = LBound(vLinks) To UBound(vLinks)
        ActiveWorkbook.BreakLink _
            Name:=vLinks(lLink), _
            Type:=xlLinkTypeExcelLinks
    Next lLink
end sub

这是主要部分: *请注意,我分配 thisFormula 的最后一行是 Excel 提示我使用文件对话框的地方,该对话框迫使我取消或选择我要链接回的主工作簿...

    BreakLinks    ' call proc to break the links
    thisFormula = "='[DataMaster - Data Template.xlsm]MASTER'!$B" + Trim(Str(myRow))     ' reference back to master workbook
    Range("A1").Formula = thisFormula       ' i.e. "='[DataMaster - Data Template.xlsm]MASTER'!$B32"
    Range("B1").Formula = "=D1"
    Range("C1").Formula = "=E1/100"
    thisFormula = "=BDH('[DataMaster - Data Template.xlsm]MASTER'!$A" + Trim(Str(myRow)) + "," + charCode + "PX_LAST" + charCode + ",FirstDate," + charCode + " " + charCode + "," + charCode + "cols=2;rows=50" + charCode + ")"
    Range("D1").Formula = thisFormula

我想知道如何避免这个非常烦人的 Excel 提示,而只是干净地重新创建我的公式/链接。

4

1 回答 1

2

您可以尝试使用 Application.DisplayAlerts:

Application.DisplayAlerts = False
'<statements that may invoke alerts>
Application.DisplayAlerts = True
于 2013-03-11T21:47:49.403 回答