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

Вход

Регистрация

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

 

= Мир MS Excel/макрос копирования стилей - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Word » макрос копирования стилей (скопировать через макрос стили из исходного файла в текущий)
макрос копирования стилей
карандаш Дата: Среда, 01.04.2015, 17:17 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
вопрос по макросам в Word (не знаю где правильнее разместить - здесь в форуме про Word или в форуме про макросы)

есть файл с заданным именем и заданным путем (которые не меняются, т.е. их можно указать в макросе напрямую - для облегчения задания)
есть много файлов, нуждающихся в обработке.
При открытии готового файла в него не загружается стандартный шаблон Normal.dot
Хотелось бы получить макрос, который бы открывал заданный файл и копировал из него стили в текущий открытый "чужой" файл.
В заданном файле (не файл шаблона, а обычный word'овский файл) находятся N абзацев, каждый из которых отформатирован нужным стилем.
Поэтому можно узнать имя (и прочие параметры) стиля, если "распотрошить первый (а за ним и остальные) абзацы.
т.е. должен получиться цикл, повторяющийся N раз, для изъятия очередного стиля и его переноса в существующий документ.

Этот способ
1. обходит ошибки (глюки, баги) сохранения стилей с Normal.dot
2. Даёт возможность наглядно увидеть форматирование абзацев конкретным стилем
3. даёт возможность наглядно поправить форматирование нужного стиля руками.

p.s. не знаю сработает ли метод "в лоб" - тупое копирование всего текста из заданного файла в конец (или начало) текущего документа с его последующим удалением. Но по идее, привнесённый текст копируется с форматированием (значит со стилями), а после удаления стили вроде как не должны удаляться автоматически.
 
Ответить
Сообщениевопрос по макросам в Word (не знаю где правильнее разместить - здесь в форуме про Word или в форуме про макросы)

есть файл с заданным именем и заданным путем (которые не меняются, т.е. их можно указать в макросе напрямую - для облегчения задания)
есть много файлов, нуждающихся в обработке.
При открытии готового файла в него не загружается стандартный шаблон Normal.dot
Хотелось бы получить макрос, который бы открывал заданный файл и копировал из него стили в текущий открытый "чужой" файл.
В заданном файле (не файл шаблона, а обычный word'овский файл) находятся N абзацев, каждый из которых отформатирован нужным стилем.
Поэтому можно узнать имя (и прочие параметры) стиля, если "распотрошить первый (а за ним и остальные) абзацы.
т.е. должен получиться цикл, повторяющийся N раз, для изъятия очередного стиля и его переноса в существующий документ.

Этот способ
1. обходит ошибки (глюки, баги) сохранения стилей с Normal.dot
2. Даёт возможность наглядно увидеть форматирование абзацев конкретным стилем
3. даёт возможность наглядно поправить форматирование нужного стиля руками.

p.s. не знаю сработает ли метод "в лоб" - тупое копирование всего текста из заданного файла в конец (или начало) текущего документа с его последующим удалением. Но по идее, привнесённый текст копируется с форматированием (значит со стилями), а после удаления стили вроде как не должны удаляться автоматически.

Автор - карандаш
Дата добавления - 01.04.2015 в 17:17
Pelena Дата: Среда, 01.04.2015, 17:25 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19185
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
А не пробовали напрямую копировать стили из одного документа в другой через Импорт/экспорт стилей?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеА не пробовали напрямую копировать стили из одного документа в другой через Импорт/экспорт стилей?

Автор - Pelena
Дата добавления - 01.04.2015 в 17:25
карандаш Дата: Среда, 01.04.2015, 18:22 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
А не пробовали напрямую копировать стили из одного документа в другой через Импорт/экспорт стилей?


пробовали. Не получается. Криворукие программеры Билла так и не удосужились исправить этот баг даже в 2013. Копируется с ошибками - не копирует отступы.
Но это не выход, т.к. юзеры тупые (я в том числе) и каждый раз проделывать сложную операцию импорта для множества файлов... - это не камильфо. Необходима кнопка, которая бы делала то, что должен делать сам Word - автоматически подключать шаблон Normal (пусть кривой и косой) с сохранёнными тв нём пользовательскими стилями к любому открытому документу.

Не обладая знаниями по VBA не могу подобрать по наитию нужные команды.


Сообщение отредактировал карандаш - Среда, 01.04.2015, 18:23
 
Ответить
Сообщение
А не пробовали напрямую копировать стили из одного документа в другой через Импорт/экспорт стилей?


пробовали. Не получается. Криворукие программеры Билла так и не удосужились исправить этот баг даже в 2013. Копируется с ошибками - не копирует отступы.
Но это не выход, т.к. юзеры тупые (я в том числе) и каждый раз проделывать сложную операцию импорта для множества файлов... - это не камильфо. Необходима кнопка, которая бы делала то, что должен делать сам Word - автоматически подключать шаблон Normal (пусть кривой и косой) с сохранёнными тв нём пользовательскими стилями к любому открытому документу.

Не обладая знаниями по VBA не могу подобрать по наитию нужные команды.

Автор - карандаш
Дата добавления - 01.04.2015 в 18:22
карандаш Дата: Четверг, 02.04.2015, 17:04 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
частично ответ нашёлся
[vba]
Код
ActiveDocument.CopyStylesFromTemplate ("c:\Users\kpa\Documents\МоиСтилиДоговора1.docx")
[/vba]
Он вытаскивает стили и из простого доковского файла
Уточняющий момент
Чем заменить такую часть как "c:\Users\kpa\Documents\"?
Папка "документы" может быть расположена на каждом компе по своему адресу
Есть какой-то обобщённый, "абстрактный" путь с использованием %
 
Ответить
Сообщениечастично ответ нашёлся
[vba]
Код
ActiveDocument.CopyStylesFromTemplate ("c:\Users\kpa\Documents\МоиСтилиДоговора1.docx")
[/vba]
Он вытаскивает стили и из простого доковского файла
Уточняющий момент
Чем заменить такую часть как "c:\Users\kpa\Documents\"?
Папка "документы" может быть расположена на каждом компе по своему адресу
Есть какой-то обобщённый, "абстрактный" путь с использованием %

Автор - карандаш
Дата добавления - 02.04.2015 в 17:04
RAN Дата: Четверг, 02.04.2015, 18:47 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Environ("TMP") & "\МоиСтилиДоговора1.docx"
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Environ("TMP") & "\МоиСтилиДоговора1.docx"
[/vba]

Автор - RAN
Дата добавления - 02.04.2015 в 18:47
карандаш Дата: Пятница, 03.04.2015, 08:27 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
RAN, не работает. Даёт ошибку
 
Ответить
СообщениеRAN, не работает. Даёт ошибку

Автор - карандаш
Дата добавления - 03.04.2015 в 08:27
anvg Дата: Пятница, 03.04.2015, 08:37 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток
Попробуйте

[vba]
Код
Environ("HOMEPATH") & "\МоиСтилиДоговора1.docx"
[/vba]
Может, потребуется добавить Documents - сейчас от версий Windows многое зависит.
 
Ответить
СообщениеДоброе время суток
Попробуйте

[vba]
Код
Environ("HOMEPATH") & "\МоиСтилиДоговора1.docx"
[/vba]
Может, потребуется добавить Documents - сейчас от версий Windows многое зависит.

Автор - anvg
Дата добавления - 03.04.2015 в 08:37
RAN Дата: Пятница, 03.04.2015, 16:00 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
TMP должно быть аглицкими буквами.
варианты tmp, temp


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Пятница, 03.04.2015, 16:02
 
Ответить
СообщениеTMP должно быть аглицкими буквами.
варианты tmp, temp

Автор - RAN
Дата добавления - 03.04.2015 в 16:00
карандаш Дата: Пятница, 03.04.2015, 23:54 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
странно
куда-то ответ делся. Пишу ещё раз
HomePath + Documents - работает
TMP или просто HomePath - не работают
TMP + Documents - не работает

спасибо
 
Ответить
Сообщениестранно
куда-то ответ делся. Пишу ещё раз
HomePath + Documents - работает
TMP или просто HomePath - не работают
TMP + Documents - не работает

спасибо

Автор - карандаш
Дата добавления - 03.04.2015 в 23:54
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Word » макрос копирования стилей (скопировать через макрос стили из исходного файла в текущий)
  • Страница 1 из 1
  • 1
Поиск:

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