如果没有链接,则在保存时跳过宏以断开链接

时间:2016-04-21 12:19:44

标签: excel vba excel-vba

我有一个我设计的成本计算电子表格,其中我的一些成本计算项目链接到其他工作簿。我有一个宏,所以当我保存成本表时,它会破坏链接,因此前进的成本将被锁定而不是更新。但是,如果我重新保存我的电子表格,它会进行调试并说没有链接可以中断。我试图找到一种方法绕过这个断开链接宏后第一次保存一旦链接已经被打破。我现在唯一可以做的就是当我再次尝试保存时,进入并删除我的宏的这部分。下面是我的整个保存宏,它的第一部分是断开链接的部分。非常感谢任何帮助。

END {
      # If here from a main block exit error, it is unlikely to be at EOF
      if (getline) exit 
      # If the input can still be read, exit with the previously set status rather than run the rest of the END block.

      ......

2 个答案:

答案 0 :(得分:2)

ActiveWorkBook.BreakLink......替换为以下内容。

如果有任何链接,那么LinkCheck(1)中会有数据,如果没有数据,那么它将为空。

  If Not IsEmpty(ActiveWorkbook.LinkSources) Then
      ActiveWorkbook.BreakLink Name:="H:\JUNK\Quotes\Al Costing\Ultra-D\Ultra-D.xlsx", Type:=xlExcelLinksEnd
 End if

答案 1 :(得分:0)

非常感谢Jean-Pierre的回答。我只想在下面发布我的最终代码。

'To break links
Dim MyLinks As Variant
    MyLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
    If Not IsEmpty(ActiveWorkbook.LinkSources) Then
    For I = 1 To UBound(MyLinks)
    ActiveWorkbook.BreakLink Name:=MyLinks(I), Type:=xlLinkTypeExcelLinks
    Next I
    End If