Включить ссылки в заблокированном файле VBA - PullRequest
0 голосов
/ 18 мая 2018

У меня есть сценарий VBA в Word, который требует нескольких ссылок, таких как MS Scripting Runtime и библиотеки Office и Object.Чтобы пользователи не могли (случайно) редактировать код, я заблокировал проект.Однако это также мешает редактированию ссылок.Поскольку скрипт запускается на разных компьютерах, ссылки необходимо включать каждый раз.Возможно ли встраивать активацию библиотек в код?Или есть другой способ предотвратить редактирование (чтение в порядке) кода, в то же время позволяя пользователю получить доступ к меню ссылок?

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

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

0 голосов
/ 18 мая 2018

Как правило, ссылки на стандартные библиотеки должны оставаться в файле всякий раз, когда вы передаете его.

Если вы не «доверяете» этому, у вас есть следующие опции:

  1. Позднее связывание - тогда вам не нужны ссылки
  2. Что-то такое уродливое, как в коде ниже + Позднее связывание
  3. Что-то столь же уродливом, как код ниже +начните кодировать себя с раннее связывание (хотя я не могу придумать реальный сценарий, когда это было бы предпочтительным)

Sub TestMe
    On Error Resume Next
    strGUID = "{420B2830-E718-11CF-893D-00A0C9054228}"
    ThisWorkbook.VBProject.References.AddFromGuid GUID:=strGUID, Major:=1, Minor:=0

    Dim Dic1 As Object
    Set Dic1 = CreateObject("Scripting.Dictionary")
    Dim Dic2 As Object
    Set Dic2 = CreateObject("Scripting.Dictionary")
End Sub

Код выше приходит отсюда - Глобальные переменные с поздним связыванием?

...