При открытии нового документа не подгружается шаблон Building Blocks. Чтобы макросом вставлять из библиотеки Building Blocks автотекст приходится на лист сначала вручную сделать вставку из меню Вставка далее Експресс блоки хотя бы одного автотекста. Решил проблему подгружая библиотеку Building Blocks в надстройки. Макрорекодером записал код [vba]
Код
'Установка пути где сохраненки автотекста AddIns( _ "C:\Users\Гость\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Building Blocks.dotx" _ ).Installed = True With ActiveDocument .UpdateStylesOnOpen = False .AttachedTemplate = "Normal" .XMLSchemaReferences.AutomaticValidation = True .XMLSchemaReferences.AllowSaveAsXMLWithoutValidation = False End With
[/vba]
Думаю есть вариант решения лучше. Тем более путь к библиотеки у каждого конкретного пользователя свой ведь вместо Гость может быть Администратор или что то еще. Нужен универсальный макрос для любого пользователя.
Как макросом прописать путь к библиотеке Building Blocks, чтобы при открытии нового документа сразу работал макрос вставки автотекста.
Пример моего макроса для вставки реквизитов по договору. [vba]
При открытии нового документа не подгружается шаблон Building Blocks. Чтобы макросом вставлять из библиотеки Building Blocks автотекст приходится на лист сначала вручную сделать вставку из меню Вставка далее Експресс блоки хотя бы одного автотекста. Решил проблему подгружая библиотеку Building Blocks в надстройки. Макрорекодером записал код [vba]
Код
'Установка пути где сохраненки автотекста AddIns( _ "C:\Users\Гость\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Building Blocks.dotx" _ ).Installed = True With ActiveDocument .UpdateStylesOnOpen = False .AttachedTemplate = "Normal" .XMLSchemaReferences.AutomaticValidation = True .XMLSchemaReferences.AllowSaveAsXMLWithoutValidation = False End With
[/vba]
Думаю есть вариант решения лучше. Тем более путь к библиотеки у каждого конкретного пользователя свой ведь вместо Гость может быть Администратор или что то еще. Нужен универсальный макрос для любого пользователя.
Как макросом прописать путь к библиотеке Building Blocks, чтобы при открытии нового документа сразу работал макрос вставки автотекста.
Пример моего макроса для вставки реквизитов по договору. [vba]
Рассуждаю логически и иду по этому пути. Если шаблон Normal.dot открывается при любом открытии документов Word, тогда надо в ThisDocument для Normal.dot прописать в коде макроса при открытии: [vba]
Код
Sub AutoOpen() 'Установка пути где сохраненки автотекста AddIns( _ "C:\Users\Администратор\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Building Blocks.dotx" _ ).Installed = True End Sub
[/vba]Осталось дело за малым. чуть добавить к коду изменение вместо Администратор должно вставляться Имя пользователя данного компьютера. Тогда на любом компьютере будет подгружаться библиотека Building Blocks. Надеюсь, тогда все будет нормально.
Пожалуйста подправьте код, а то мозгов не хватает.
Рассуждаю логически и иду по этому пути. Если шаблон Normal.dot открывается при любом открытии документов Word, тогда надо в ThisDocument для Normal.dot прописать в коде макроса при открытии: [vba]
Код
Sub AutoOpen() 'Установка пути где сохраненки автотекста AddIns( _ "C:\Users\Администратор\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Building Blocks.dotx" _ ).Installed = True End Sub
[/vba]Осталось дело за малым. чуть добавить к коду изменение вместо Администратор должно вставляться Имя пользователя данного компьютера. Тогда на любом компьютере будет подгружаться библиотека Building Blocks. Надеюсь, тогда все будет нормально.
Пожалуйста подправьте код, а то мозгов не хватает. Otter
Сообщение отредактировал Otter - Суббота, 15.09.2018, 15:45
_Boroda_, Pelena, Большое спасибо за помощь. Вот окончательный код, который замечательно работает:[vba]
Код
Sub AutoOpen() 'Установка пути где сохраненки автотекста Dim ImPol_ As String ImPol_ = Environ("USERNAME") 'ищем текущее имя пользователя ,чтобы вставить в путь к шаблону AddIns( _ "C:\Users\" & ImPol_ & "\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Building Blocks.dotx" _ ).Installed = True End Sub
[/vba]
_Boroda_, Pelena, Большое спасибо за помощь. Вот окончательный код, который замечательно работает:[vba]
Код
Sub AutoOpen() 'Установка пути где сохраненки автотекста Dim ImPol_ As String ImPol_ = Environ("USERNAME") 'ищем текущее имя пользователя ,чтобы вставить в путь к шаблону AddIns( _ "C:\Users\" & ImPol_ & "\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Building Blocks.dotx" _ ).Installed = True End Sub