#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. Я пробовал это раньше, и это не сработало. Только что попробовал это еще раз, и это сработало. Вздох….