Формула ссылок захватывает рабочую книгу, даже если она отключена VBA и в рабочей книге - PullRequest
0 голосов
/ 01 июля 2019

Краткое описание проблемы:

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

«Рабочая тетрадь 1» - трекер;«Рабочая тетрадь 2» содержит общие данные (например, контактные данные).Формулы вытягивают данные от 2 до 1;макрос в Рабочей книге 1 открывает Рабочую книгу 2, чтобы обеспечить обновление и актуальность ссылок.

Excel останавливается и просит пользователя указать путь к Workbook 2, даже если:

  • Он был открыт макросом при запуске
  • автоматическое обновление отключено
  • макрос указывает не обновлять ссылки
  • путь к книге правильный

Существуют сотни формул, поэтому пользователь застревает, когда его неоднократно просят идентифицировать книгу2 и должен Ctrl = Alt = Удалить

Я пытался ..

  • Я проверил пути дисков на компьютерах пользователей одинаковы
  • Я отключил опцию «автообновление» в Excel («Файл»> «Редактировать ссылки на файлы»> «Приглашение при запуске»> «Не отображать предупреждение и не обновлять ссылки»)

Код события On-Open

HF_name - это имя файла, например, HF.xlsx

HF_path - полный приводпуть

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

For Each wBook In Application.Workbooks
  If wBook.Name = HF_name Then
    flag = 1
  End If
Next wBook

If flag = 0 Then
  'HF not found; Open HF
  'If open fails then warn the user that the list cannot be updated

  On Error GoTo error_couldNotOpenHF
  Application.DisplayAlerts = False
  Set HF = Workbooks.Open(Filename:=HF_path, UpdateLinks:=False, 
        ReadOnly:=True, ignoreReadOnlyRecommended:=True)
  Application.DisplayAlerts = True

Else
  Set HF = Workbooks(HF_name)
End If

Calculate

Я ожидаю;

  1. Рабочая книга 1 открывает рабочую книгу 2 с помощью макроса;обновление ссылок не происходит
  2. Поскольку книга 2 является путем к ссылкам, Excel по умолчанию будет использовать значение «DRIVE \ folder \ Folder \ MSF.xlsx ...» просто «MSF.xlsx ..», как это происходиткогда ваша связанная рабочая книга открыта
  3. Код выполняет «Вычисление» для принудительного пересчета, когда Рабочая книга 2 уже открыта, поэтому ссылки должны обновляться.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...