Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
16 / 16 / 2
Регистрация: 19.03.2013
Сообщений: 48

Автоматическое формирование содержания для нескольких Word документов

19.03.2013, 10:44. Показов 3820. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
при создании макроса у меня появляется
Visual Basic
1
2
3
Application.Templates( _
        "C:\Users\alekseev\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Built-In Building Blocks.dotx" _
        ).BuildingBlockEntries("Àâòîñîáèðàåìîå îãëàâëåíèå 1").Insert Where:=Selection.Range, RichText:=True
как сделать чтоб содержание вставлялось не в этот документ, а в какой либо другой, и при формировании нового содержания для другого документа вставлялось в конец этого документа с содержанием. либо помогите перевести этот код в код C++ либо С#. Также ищу другие методы реализации данной проблемы
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.03.2013, 10:44
Ответы с готовыми решениями:

Формирование содержания массива с листа
Добрый день . На листе1 имеется таблица цветов(469 цветов).В коде программы используется массив со значениями кодов всех цветов.Однако...

Параметры страниц для нескольких документов
Задача в чём? Нужно для 10 открытых документов установить одинаковые поля и колонтитулы. Вот есть код Sub SetHeadersFootersAndMargins() ...

VBA скрипт для печати конвертов для Word документов на ВЫДЕЛЕННОМ принтере
Всем привет! Мне приходится печатать в MS Word 2010 много писем в разные адреса (то есть каждое письмо имеет свой почтовый адрес). Я...

5
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
19.03.2013, 15:39
loken, а как вообще макрос начинает работать? Пользователь нажимает кнопку, запускается макрос, затем что происходит?
0
16 / 16 / 2
Регистрация: 19.03.2013
Сообщений: 48
20.03.2013, 07:14  [ТС]
это макрос записанный при создании автоматического содержания... я хочу его использовать для формирования содержания для нескольких документов, причем содержание для всех документов должно собираться в отдельном файле, один за другим
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
20.03.2013, 08:58
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Пункт 1

loken, такое содержание нельзя сделать в программе "Word". Автоматическое содержание работает только внутри одного документа.

В вашем случае нужно использовать другие инструменты для решения вашей задачи, а не инструмент программы "Word" - "автоматическое содержание".


Пункт 2

Предложу варианты решения вашей задачи (возможно есть ещё и другие варианты, т.к. одну и ту же задачу иногда можно решать несколькими средствами).

Вариант 1

Можно попробовать использовать поля программы "Word", например: "INCLUDETEXT", "LINK".

Кликните здесь для просмотра всего текста
Поле ниже я поместил в Word-документ, в котором нужно сформировать содержание:
INCLUDETEXT "C:\\Users\\User\\Desktop\\Общая папка\\Источник.docx" Закладка_1 \* MERGEFORMAT

где:

"INCLUDETEXT" - поле программы "Word". В данном случае под полем понимается фрагмент Word-документа, где находится текст, который автоматически формируется программой "Word";

"C:\\Users\\User\\Desktop\\Общая папка\\Источник.docx" - путь и имя Word-документа, откуда надо взять данные;

"Закладка_1" - в документе-источнике я пометил текст, который нужно будет переносить в содержание в другой документ, закладкой и дал этой закладке имя "Закладка_1";

"\* MERGEFORMAT" - используется для оформления текста: размер шрифта, цвет шрифта и т.п. В данном случае подразумевается - сохранить оформление при обновлении поля. Обновление поля - это когда вы в документ-источник вносите изменения и затем хотите, чтобы изменения отобразились в содержании. Тогда вы выполняете обновление.


Примечание

При перемещении Word-документов в другие места на жёстком диске компьютера, поля перестают работать. Может быть можно использовать в полях относительные адреса.


Вариант 2

Можно макросом формировать документ с содержанием.

Кликните здесь для просмотра всего текста

Макрос будет по такому алгоритму работать:
  1. пользователь нажимает кнопку;
  2. появляется окно для выбора Word-документов, из которых нужно взять содержания;
  3. пользователь выбирает Word-документы и нажимает кнопку "OK";
  4. макрос проходится по всем выбранным документам и копирует содержания в документ с содержанием.
1
16 / 16 / 2
Регистрация: 19.03.2013
Сообщений: 48
20.03.2013, 10:44  [ТС]
второй вариант был очень даже удобен, но как его реализовать? начал делать через open xml, но тоже возникли некоторые трудности
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
20.03.2013, 10:59
loken, я думаю, что вы вряд ли найдёте где-то информацию, даже на английском языке, как работать с Word-документом с помощью "XML". Поэтому используйте VBA-Word-объекты, про них много информации в интернете и VBA-справочниках.

У вас задача состоит из нескольких частей:
  1. открытие и закрытие определённых Word-документов;
  2. взятие из Word-документа данных и помещение в другой Word-документ.
Делайте ваше задание по частям. У вас объёмное задание и не каждый захочет писать вам код, выясняя детали.

Поэтому разбивайте вашу задачу на части и выясняйте детали по каждой части.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.03.2013, 10:59
Помогаю со студенческими работами здесь

Макрос для всех открытых документов ms word
Добрый день. Необходимо написать макрос, который будет устанавливать переплет во всех открытых документах. Собственно сам макрос...

Печать в Word нескольких документов подряд
Не знаю, как быть: в Word - у меня должны распечататься несколько документов, которые тут же и формируются, без показа на экран, сразу....

Открытие нескольких документов Word: proc.WaitForExit() не дожидается завершения процесса
Добрый день! Проблема возможно тривиальная, но я никак не могу разобраться. В общем задача чтоит в следующем, я посредством...

Цикл FOR, формирование содержания с другого КФ
Задачка: Создать командный файл с именем «Свое_имя.bat». В данном файле прописать команды для вывода текстового сообщения «параметр вызова:...

Автоматическое составление содержания ячейки из значений других ячеек таблицы
здравствуйте подскажите, пожалуйста, можно ли, не будучи программистом, сделать, чтобы в поле № таблицы базы Access был не порядковый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru