2011-01-14 2 views
0

Я пытаюсь выяснить, что может быть проблемой на второй машине развертывания, которая вызывает глобальный шаблон (normal.dot), чтобы потерять свои сохраненные значения.Глобальный шаблон MS Word 2000 не сохраняет значения VBA

Этот код работает на чистой машине VM, которую у меня есть. Обе машины - Windows XP с только Word 2000. Он работает как ожидается на виртуальной машине. На другой машине есть другие шаблоны, установленные и используемые, я считаю, и каждая из них ссылается на Normal.dot.

Каждый раз, когда приведенный ниже код выполняется при открытии второго документа, он все еще является «ложным» MsgBox, поскольку он не сохраняет начатое значение.

Что может привести к тому, что Normal.dot перезапустит/потеряет сохраненные значения? Я думаю, это может быть потому, что он использует другие шаблоны, но я не понимаю, как они связаны.

Dim started As Boolean 

Private Sub Document_Open() 
    MsgBox started 
    If Not started Then 
     started = True 
    End If 
End Sub 

ответ

0

Хмм по какой-то причине я не могу комментировать, чтобы задать этот вопрос ... У любого из других шаблонов работает код? И вы уверены, что на машине этого пользователя есть только один файл normal.dot?

Я бы начал с тщательного поиска шаблонов на жестком диске и «отключил» все найденные шаблоны один за другим, изменив расширение файла на что-то не-слово. Если вы не займетесь никакими другими шаблонами и все равно не стреляете, тогда вы знаете, что они не несут ответственности. (Их не должно быть, так как шаблон загружен только документом или пользователем.)

+0

Существует множество других шаблонов из их существующего программного обеспечения, поэтому я думаю, что это тоже проблема. Я переработал свой .NET-класс как синглтон, поэтому мне не нужно беспокоиться о инициализации нескольких экземпляров. Спасибо за вашу помощь. – TommyGunn32

Смежные вопросы