Подтвердить что ты не робот

Непоследовательное поведение для ключевого слова Me

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

  • Документ с элементами управления ActiveX: Me ссылается на новый файл, созданный из шаблона.
  • Документ без элементов управления ActiveX: Me ссылается на шаблон вместо нового файла.

Чтобы продемонстрировать это странное поведение, я сделал два примера файлов:

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

Private Sub Document_New()
    Selection.TypeText "Me keyword is referencing """ & Me.Name & """."
End Sub

Если вы создадите новый файл из этих шаблонов, вы поймете, что результаты разные:

Содержимое WithActiveX.dotm

Ключевое слово Me ссылается на "Документ1". <- строка, генерируемая кодом выше

в то время как содержимое безActiveX.dotm

Me имеет ссылку "БезActiveX.dotm". <- строка, генерируемая кодом выше

Я сделал несколько тестов, чтобы сделать вывод, что источником несогласованности является наличие элементов управления ActiveX (нет кода, связанного с элементом управления: он просто присутствует в документе).

Это что-то по дизайну или просто ошибка?

EDIT 2017-06-13: описанная здесь ошибка частично исправлена, но она все еще воспроизводима. Теперь это происходит, только если есть экземпляр Word, открытый до того, как вы создадите новый документ, используя один из этих шаблонов (например, пустой документ).

4b9b3361