1

Тема: Импорт шаблона и макросов из Normal.dot в Normal.dotm

Как осуществить импорт всех макросов из Normal.dot в Normal.dotm?
СИТУАЦИЯ.
В наличии имеется:
1. (большой) файл Normal.dot, сформированный под MS Word 2003, 
2. на компьютере стоит MS Word 2007 (в составе Office 2007).

Я не смог найти ответ через поиск.
Буду благодарен за однозначный ответ.

Отредактировано klikk (17.06.2010 14:20:00)

2

Re: Импорт шаблона и макросов из Normal.dot в Normal.dotm

В настройках ворда посмотрите путь к папке, где располагаются данные шаблоны. Шаблон normal.dot оставляем, а normal.dotm удаляем, точнее, вырезаем в какую-то другую папку. Все это делаем при отключенном ворде. После запуска 2007 ворда заходим в редактор Visual Basic (ALT+F11). В дереве проектов выбираем Normal, проверяем, что макросы из шаблона 2003 видны, наводим на кнопку сохранения, проверяем, что появляется подсказка - Save Normal - нажимаем эту кнопку. Закрываем редактор  Visual Basic, закрываем ворд. В папке шаблонов видим появление нового шаблона Normal.dotm. Вырезаем normal.dot в какую-нибудь другую папку. Запускаем ворд и убеждаемся, что все макросы в новом шаблоне и работают.

3

Re: Импорт шаблона и макросов из Normal.dot в Normal.dotm

Из Word 2007 открыть Normal.dot, который был для 2003, для редактирования. В редакторе Visual Basic перетянуть мышкой все модули из старого шаблона в новый.

Лучше день потерять — потом за пять минут долететь!

4

Re: Импорт шаблона и макросов из Normal.dot в Normal.dotm

"normal.dotm удаляем, точнее, вырезаем в какую-то другую папку. Все это делаем при отключенном ворде. После запуска 2007 ворда заходим в редактор Visual Basic (ALT+F11). "
Честно говоря, не понял. Зачем в другую папку? Ведь можно временно переименовать. Далее, как только мы запустили Word 2007, файл Normal.dotm образуется автоматически (можно его не сохранять, но это не меняет дело). Но тогда зачем было его уничтожать или переименовывать?
"В дереве проектов выбираем Normal, проверяем, что макросы из шаблона 2003 видны," - так вот они НЕ ВИДНЫ. Я перепробовал все простые способы.
Word-2007 и открываемый из-под него Visual Basic не видят ни Normal.dot 2003 , ни его макросы ни при какой погоде. Соответственно, присоединять просто нечего. Идут сообщения о невозможности открыть файл и т.п.

При этом Normal.dot 2003 не дефектен и вполне работает. Не исключаю, что что-то делаю неверно. Но пока в Project - Normal не вижу ничего, кроме Microsoft Word Objects - ThisDocument.

Кто-то делал этот импорт РЕАЛЬНО, а не теоретически, на уровне "надо дать совет"?

Отредактировано klikk (22.06.2010 00:55:13)

5

Re: Импорт шаблона и макросов из Normal.dot в Normal.dotm

То, что я описал - сначала проделал у себя - никогда не даю советы, пока сам не проверю то, что пишу. Отмечу, что у меня лицензионный офис. Других причин я не вижу. Можете мне на почту прислать ваш шаблон? Я повторю с ним те действия, что проделывал со своим шаблоном. Если все получится, значит что-то у вас с 2007 офисом.
Ну и самый простой, но точно рабочий способ! из редактора Visual Basic 2003 просто экспортируйте все модули и пользовательские формы, а потом их импортируйте уже в редакторе Visual Basic 2003. Экспортируемый файлы будут с расширением .bas и .frm .cls.
Да, и еще - в настройках обоих вордов проверьте, что в настройках сохранений директории для расположения normal совпадают. Если они разные, то 2007 не будет видеть шаблон 2003.
Вроде бы все возможные варианты рассмотрены. Пробуйте - и у вас все обязательно получится!

6

Re: Импорт шаблона и макросов из Normal.dot в Normal.dotm

klikk пишет:

Кто-то делал этот импорт РЕАЛЬНО, а не теоретически, на уровне "надо дать совет"?

Т.е. мы тут теорией занимаемся? big_smile
Бывает, что иногда я советую по наитию, не проверив. Но в данном случае, я эту процедуру проделывал три года назад, переходя на 2007 Word.
Сейчас проделал то же самое. Скриншот прилагаю. Как можно убедиться, все формы, классы и модули видны. На этом компьютере у меня система новая и Word 2003 ставился после 2007-го, поэтому я специально добавил модули и формы внутри Word 2003, закрыл его и открыл Normal.dot из Word 2007.
Импорт шаблона и макросов из Normal.dot в Normal.dotm
Ознакомьтесь со статьёй Вопросы переноса для Word 2007

Лучше день потерять — потом за пять минут долететь!

7

Re: Импорт шаблона и макросов из Normal.dot в Normal.dotm

Самый простой способ: открыть Normal.dot в Word 2007/2010 и "Сохранить как" в формате dotm.

viter.alex пишет:

Из Word 2007 открыть Normal.dot, который был для 2003, для редактирования. В редакторе Visual Basic перетянуть мышкой все модули из старого шаблона в новый.

Может не сработать, т.к. проект VBA это не только код, но и настройки, например VBA > Tools > References...

Макросы под заказ и готовый пакет - mtdmacro.ru

8

Re: Импорт шаблона и макросов из Normal.dot в Normal.dotm

Ребята, спасибо за советы, но … не удается их реализовать.
"На этом компьютере у меня система новая и Word 2003 ставился после 2007-го, поэтому я …"

У меня не стоит Word 2003 (см. выше). Есть только файл Normal.dot размером около 600 КБ.

….  ставился после 2007-го, поэтому я специально добавил модули и формы внутри Word 2003,
Куда и как добавил?
************
"Самый простой способ: открыть Normal.dot в Word 2007/2010 и "Сохранить как" в формате dotm".

Рекомендуемый способ сразу приходит в голову (как и простое изменение имени файла Normal.dot на Normal.dotm и тому подобное). Но его тоже не удается реализовать, т.к. :
1. при открытии Word'a 2007 файл Normal.dotm образуется автоматически (размером около 20 КБ), даже если он был предварительно переименован или уничтожен, и писать придётся поверх него или вместо него, заместив его;
2. если открытый в Word'e 2007 файл Normal.dot в запомнить как Normal.dotm, то этот Normal.dotm  всё равно оказывается имеющим размер около 20 КБ.

Отредактировано klikk (23.06.2010 00:25:34)

9

Re: Импорт шаблона и макросов из Normal.dot в Normal.dotm

klikk пишет:

если открытый в Word'e 2007 файл Normal.dot в запомнить как Normal.dotm, то этот Normal.dotm  всё равно оказывается имеющим размер около 20 КБ.

У меня такого не наблюдается. Заменяется корректно.

Возможно поможет дугой вариант.
У меня в Windows XP установлены Word 2003 и 2007.
Если при запуске Word 2007 в папке "C:\Documents and Settings\имя_пользователя\Application Data\Microsoft\Шаблоны\" отсутствует Normal.dotm, но есть Normal.dot, то Word 2007 автоматом создает Normal.dotm на основе имеющегося Normal.dot сохраняя все его содержимое.

Макросы под заказ и готовый пакет - mtdmacro.ru

10

Re: Импорт шаблона и макросов из Normal.dot в Normal.dotm

Вождь - именно такой вариант я и описал выше.. И у меня все заработало..
А может ларчик просто открвался? Может просто уровень безопасности у Klikk установлена высокая в 2007 и он просто не пропускает макросы????

11

Re: Импорт шаблона и макросов из Normal.dot в Normal.dotm

Вполне возможно, что нехитрый способ, предлагаемый Вождём - и простой, и работающий. И другие советы (см. выше), возможно, тоже работают.

Но мне придётся снять свой первичный вопрос. Дело в том, что я поставил себе также и Word 2003, но ни один вариант старого Normal.dot'a он не воспринял. То есть почему-то они все оказались якобы дефектны. Странно, но гадать о причинах бесполезно.

Таким образом, для меня актуален теперь другой вопрос, имеющий лишь косвенное отношение к обсуждаемой теме, а именно - как раскрыть дефектный  Normal.dot какой-то другой программой, чтобы вырезать оттуда блоки, которые там написаны в Visual Basic.

12

Re: Импорт шаблона и макросов из Normal.dot в Normal.dotm

Из личной переписки:
********
В данном файле тоже нет макросов. Скорее всего вы записывали макросы в те документы, с которыми работали, а не в нормал.
********
Ясно. Спасибо Вам за диагноз.
Попробую перебросить макросы из doc-файлов в Normal.dot и затем воспользоваться Вашим рецептом.
Не получится - буду постепенно их восстанавливать.

Надеюсь, что тем не менее это обсуждение кому-то будет полезно.

Мне осталось несколько непонятным, чем же тогда набиты эти большие файлы Normal.dot, если там нет макросов, и какие программы эти "дефектные" файлы открывают.