2013-03-11 1 views
0

Я пытаюсь программно разорвать все ссылки, а затем воссоздать их в книге.Как чистить разрывы ссылок в Excel VBA 2010

У меня есть код VBA для чистого разрыва ссылок Excel в Excel 2010, однако проблема, с которой я всегда сталкиваюсь, заключается в том, что Excel подскажет мне каждый раз, когда я RECREATE ссылку.

Вот что я делаю:

Вот процедура 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, и просто полностью воссоздать свою Формулу/Ссылка.

ответ

2

Вы можете попробовать использовать Application.DisplayAlerts:

Application.DisplayAlerts = False 
'<statements that may invoke alerts> 
Application.DisplayAlerts = True 
+0

спасибо Я буду стараться, что и пусть вы знаете, как можно скорее. –

+0

У меня все еще есть две проблемы с breakLinks выше: 1) если старая книга все еще существует, она будет постоянно включать в себя старую папку в ссылках (в дополнение к моей недавно связанной книге. 2), если старая книга не существует, я не может разорвать связь вообще (по-видимому, поскольку старый источник не найден) –

+0

Возможно, вы захотите проверить, есть ли в книге другие ссылки, кроме формул, они могут быть скрыты в именованных диапазонах, условном форматировании или проверке данных. У меня были проблемы с разрывными ссылками, которые были встроены в эти области, но я всегда мог найти и разбить их вручную. –

Смежные вопросы