Я искал широко и широко для ответа на этот вопрос, но ничего, что я пытаюсь, кажется, работает. Вот где я до сих пор.Excel - ссылки, не обновляемые с помощью VBA
У меня есть две книги Excel. Первая книга - это книга, которую люди могут редактировать. Он содержит такие элементы, как раскрывающиеся меню, которые функционируют только при привязке к исходному файлу. Вторая книга является исходным файлом. Он содержит информацию, такую как таблицы данных, которые отображаются в списках выпадающих меню в первой книге. (Например, список заболеваний, таких как астма, диабет и т. Д., И люди могут выбрать условие из списка.)
Проблема, с которой я сталкиваюсь в данный момент, заключается в том, что эти ссылки больше не обновляются должным образом.
Чтобы уточнить, они будут обновляться, если я открою исходный файл, а затем выходной файл вручную. В менеджере имен, ссылки будут выглядеть следующим образом:
Исходный_файл NameRef1
Потому что я не хочу, чтобы люди должны открыть файлы по одному вручную, я написал несколько VBA, который открывает источник автоматически, когда вы открываете выходной файл.
Dim app As New Excel.Application
Dim book As Excel.Workbook
Private Sub Workbook_Open()
app.Visible = True
Set book = app.Workbooks.Open("C:\Users\user_000\Desktop\ExampleFolder\SourceFile.xlsm")
End Sub
Он отлично работает, но ссылки не будут обновляться, несмотря на то, что они установлены для автоматического обновления. На этом этапе, когда я перейду в диспетчер имен, ссылки теперь изменились на весь путь к файлу. По какой-то причине каждый раз, когда это было сделано (например, когда я переместил файл в другое место), он перестает обновлять ссылки.
Я не понимаю, почему Excel не нравится, когда вы используете пути к файлам в качестве ссылок в менеджере имен. Он всегда работает, когда я ссылаюсь только на имя файла. Я пробовал все, что я мог придумать в VBA, я изменил параметры безопасности макросов, чтобы включить практически все, но это не имеет никакого значения.
Я пробовал:
ThisWorkbook.UpdateLink
Но все это я получаю ошибки во время выполнения 1004: Метод 'UpdateLink' объекта '_Workbook' не удалось.