Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос подгрузки шаблона Building Blocks - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Word » Макрос подгрузки шаблона Building Blocks (Прописание пути к шаблону Building Blocks)
Макрос подгрузки шаблона Building Blocks
Otter Дата: Пятница, 07.09.2018, 16:43 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
При открытии нового документа не подгружается шаблон 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]
Код
        Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
        "AUTOTEXT  ""Реквизиты по договору"" ", PreserveFormatting:=False
[/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]
Код
        Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
        "AUTOTEXT  ""Реквизиты по договору"" ", PreserveFormatting:=False
[/vba]

Автор - Otter
Дата добавления - 07.09.2018 в 16:43
Otter Дата: Суббота, 15.09.2018, 15:40 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Рассуждаю логически и иду по этому пути. Если шаблон 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. Надеюсь, тогда все будет нормально.

Пожалуйста подправьте код, а то мозгов не хватает. yes


Сообщение отредактировал Otter - Суббота, 15.09.2018, 15:45
 
Ответить
СообщениеРассуждаю логически и иду по этому пути. Если шаблон 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. Надеюсь, тогда все будет нормально.

Пожалуйста подправьте код, а то мозгов не хватает. yes

Автор - Otter
Дата добавления - 15.09.2018 в 15:40
_Boroda_ Дата: Суббота, 15.09.2018, 17:38 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 12958
Репутация: 5330 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Это нужно?
[vba]
Код
Sub tt()
     ImPol_= Environ("USERNAME")
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЭто нужно?
[vba]
Код
Sub tt()
     ImPol_= Environ("USERNAME")
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 15.09.2018 в 17:38
Otter Дата: Суббота, 15.09.2018, 19:25 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
У меня Win 7 думаю то, что нужно. Как теперь вместо Администратор в моем макросе прописать этот USERNAME
 
Ответить
СообщениеУ меня Win 7 думаю то, что нужно. Как теперь вместо Администратор в моем макросе прописать этот USERNAME

Автор - Otter
Дата добавления - 15.09.2018 в 19:25
Pelena Дата: Суббота, 15.09.2018, 19:27 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 13020
Репутация: 2875 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
[vba]
Код
"C:\Users\" & ImPol & "\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Building Blocks.dotx"
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение[vba]
Код
"C:\Users\" & ImPol & "\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Building Blocks.dotx"
[/vba]

Автор - Pelena
Дата добавления - 15.09.2018 в 19:27
Otter Дата: Суббота, 15.09.2018, 20:37 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_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
[/vba]

Автор - Otter
Дата добавления - 15.09.2018 в 20:37
_Boroda_ Дата: Суббота, 15.09.2018, 21:27 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 12958
Репутация: 5330 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
В данном случае можно без переменой - она ведь дальше нигде использоваться не будет
[vba]
Код
"C:\Users\" & Environ("USERNAME") & "\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Building Blocks.dotx"
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВ данном случае можно без переменой - она ведь дальше нигде использоваться не будет
[vba]
Код
"C:\Users\" & Environ("USERNAME") & "\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Building Blocks.dotx"
[/vba]

Автор - _Boroda_
Дата добавления - 15.09.2018 в 21:27
krosav4ig Дата: Воскресенье, 16.09.2018, 05:01 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1647
Репутация: 687 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Так как-то проще будет [vba]
Код
application.templates.loadbuildingblocks
[/vba]


(_)Õvõ(_)
 
Ответить
СообщениеТак как-то проще будет [vba]
Код
application.templates.loadbuildingblocks
[/vba]

Автор - krosav4ig
Дата добавления - 16.09.2018 в 05:01
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Word » Макрос подгрузки шаблона Building Blocks (Прописание пути к шаблону Building Blocks)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!