Непреднамеренное диалоговое окно файла при обновлении ссылок в Excel 2003 VBA

#excel #vba

#excel #vba

Вопрос:

Я сохраняю наборы взаимосвязанных электронных таблиц Excel 2003 для каждого проекта моей компании.

Я хочу скопировать некоторые файлы шаблона XLS в название проекта и изменить ссылки, которые соединяют их друг с другом.

Например, файл TEMPLATE_ScanProgress.xls ссылки на TEMPLATE_Film_Review.xls.

Я копирую их оба в 123456_ScanProgress.xls и 123456_Film_Review.xls и обновлении ссылки в 123456_ScanProgress.xls.

Пример кода того, что я делаю:

 If Dir("WorkOrder amp; "_ScanProgress.xls") = "" Then
    FileCopy "TEMPLATE_ScanProgress.xls", WorkOrder amp; "_ScanProgress.xls"
    Workbooks.Open Filename:=WorkOrder amp; "_ScanProgress.xls", UpdateLinks:=0
    ActiveWorkbook.ChangeLink "TEMPLATE_Film_Review.xls", _
                              WorkOrder amp; "_Film_Review.xls", _
                              xlLinkTypeExcelLinks
    Workbooks(WorkOrder amp; "_ScanProgress.xls").Close SaveChanges:=True
Else
    FileExists = True
    FileExistsWarning_7 = WorkOrder amp; "_ScanProgress.xls"
End If
  

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

Ответ №1:

Попробуйте присвоить DisplayAlerts значение False. DisplayAlerts находится в объекте приложения и используется для подавления диалоговых окон, например, при перезаписи файла. Это может сработать и в этом случае.

Комментарии:

1. Я пробовал это раньше, и это не сработало. Только что попробовал это еще раз, и это сработало. Вздох….