1568 / 504 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
1 | |
Макрос для поиска и вставки текста27.04.2013, 04:08. Показов 14159. Ответов 19
Метки нет Все метки)
(
Друзья, помогите, пожалуйста, с простенькой задачкой.
Пусть, помимо прочего текста, в документе имеется пару абзацев, скажем, такого содержания: Необходимо вписывать текущую дату и какие-либо цифры соответственно. Цифры сделать жирными. Шрифт как у абзаца (или параграфа?). Т.е. должно получиться вот так: ![]() Благодарю! Не по теме: P.S. А чем, кстати, параграф от абзаца отличается? :)
0
|
|
27.04.2013, 04:08 | |
Ответы с готовыми решениями:
19
Нужен макрос для поиска полужирного текста Макрос вставки текста в верхнем колонтитуле в ячейке таблицы
Макрос для поиска текста в PDF и копирования в excel |
1568 / 504 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
27.04.2013, 15:17 [ТС] | 3 |
Скрипт, с одним документом.
0
|
1568 / 504 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
27.04.2013, 17:07 [ТС] | 5 |
Скрипт, на самом деле все это дело (передаваемые данные) будет идти из другой программы посредством OLE-сервера.
Мне просто нужен пример, как это будет смотреться на VBA. Текст пусть будет любым и статичным, т.е. заранее указанным в параметрах.
0
|
5468 / 1148 / 50
Регистрация: 15.09.2012
Сообщений: 3,514
|
|
27.04.2013, 17:15 | 6 |
The_Immortal, вставьте в Word-документ в то место, куда должны поступать данные, закладку.
Закладка имеет имя и порядковый номер. По имени и порядковому номеру можно обращаться к закладке и вставлять в то место, где находится закладка, текст. В "Word 2010" вот так можно включить отображение закладок в документе (по умолчанию закладки скрыты): Файл - Параметры - Дополнительно - Показывать содержимое документа - флажок Показывать закладки. Закладки есть двух видов:
1
|
1568 / 504 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
27.04.2013, 17:33 [ТС] | 7 |
Скрипт, каждая закладка имеет свой какой-то идентификатор? Просто как их различать? По счету?
И все-таки, можно как-нибудь обойтись без закладок? Мне просто надо найти текст и после него вставить другой текст. Все. Предполагается, что найденный текст будет уникальным.
0
|
5468 / 1148 / 50
Регистрация: 15.09.2012
Сообщений: 3,514
|
|
27.04.2013, 18:27 | 8 |
это одно из назначений закладок - использование их в макросах. Пользователю неудобно работать с закладками, т.к. закладки представляют собой какие-то мелкие чёрточки, которые едва видно на мониторе, и между этих чёрточек что-то записать вряд ли получится, если работу надо делать быстро и много.
А то, что вы хотите, - это неправильный подход.
1
|
1568 / 504 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
27.04.2013, 18:35 [ТС] | 9 |
Скрипт,
Понял. А можно услышать ответ на И если не сложно, то пример макроса, работающего с закладками.
0
|
1568 / 504 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
||||||
27.04.2013, 19:12 [ТС] | 11 | |||||
Надо быть повнимательнее
![]() Скрипт, Нашел в Интернете пример, однако у меня он не работает:
На документ помещена закладка с именем "закладка1".
0
|
5468 / 1148 / 50
Регистрация: 15.09.2012
Сообщений: 3,514
|
|
27.04.2013, 19:17 | 12 |
The_Immortal, в VBA-Word закладка называется "Bookmark".
Вообще, чтобы узнать VBA-имя какого-то элемента Word-документа, нужно начинать с макрорекордера. Потому что, чтобы знать VBA-имена всех объектов в программе "Word", нужно каждый день макросы писать. Включите макрорекордер, вставьте закладку, отключите макрорекордер. Перейдите в "VBA" и посмотрите код.
1
|
1568 / 504 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
27.04.2013, 19:26 [ТС] | 13 |
Скрипт,
У меня нет такой необходимости. Мне всего лишь надо разово решить задачу, не охватывая VBA, т.к. это совершенно иррационально. У меня другая специализация. Сделал. А как вставить текст на место закладки без использования макросов? Чтобы также отследить через макрорекордер.
0
|
5468 / 1148 / 50
Регистрация: 15.09.2012
Сообщений: 3,514
|
|
27.04.2013, 19:29 | 14 |
таких действий в программе "Word" нет. В закладки просто так текст не помещают, для этого нужно сделать какие-то сложные манипуляции.
Поэтому дальше перейдите в "VBA" напишите: Activedocument.bookmarks(1) поставьте точку и смотрите, какие члены есть у этого объекта. По члену можно смотреть справку. Хоть справка и на английском языке, но примеры можно посмотреть. Чтобы открыть справку по члену объекта, поставьте курсор на член и нажмите клавишу "F1".
0
|
28.04.2013, 17:05 | 15 |
Вот эта ваша задача — основная в делопроизводстве, и Word заботливо предоставляет нам специальные инструменты.
Регулярно я этим не занимаюсь — каждый раз приходится ломать голову, посему прилагаю пока готовый документ. Там клавишей F9 открываете окно ввода (так работает поле {ASK} — его код см. по ALT-F9), и введённая зарплата (число) попадает в места закладок; результат виден по CTRL-F2 (это предварительный промотр перед печатью) или после обновления всех полей: F9, выделив всё. Сами же закладки, с вариацией свойств, дипломированные делопроизводители ставят и просматривают по CTRL-SHIFT-F5 — это куда практичнее, чем рыться в красивых панельках! Примечаниe. Приведены клавиатурные сокращения команд работы с полями и закладками в любой версии MS Word.
1
|
1568 / 504 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|||||||||||
28.04.2013, 18:33 [ТС] | 16 | ||||||||||
Sasha_Smirnov, здорово!
![]() Однако все это как-то сложновато... Мне всего лишь надо вставить текст по месту закладки. И сделать максимально простым образом, т.к. потом все это дело еще переводить. Вообще исток здесь: Заполнение Word документа данными из строки DBGrid Мне бы всего лишь пример получить... Скрипт, На это я получаю: UPD: В общем, что-то начало двигаться ![]() Получилось два варианта. Первый:
Кто-нибудь может пояснить, почему можно обойтись без процедуры InsertAfter (первый вариант). Код не VBA-шный, но думаю, что должно быть понятно. Кстати, был бы благодарен, если бы его кто-нибудь перевел в VBA ![]()
1
|
1568 / 504 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
28.04.2013, 19:39 [ТС] | 18 |
Sasha_Smirnov, чудеса творите
![]()
0
|
28.04.2013, 21:24 | 19 |
Так уж и чудеса! Это же уровень дипломированной (ну если без взяток) секретарши. Хочется верить.
Под тёмным лесом я Си-плас-плас подразумевал — 20 лет его не видел! И мало у кого он установлен. А макросы-то да, сам Ворд велел! Без них тоска.
1
|
0 / 0 / 0
Регистрация: 21.11.2014
Сообщений: 7
|
|
21.11.2014, 21:25 | 20 |
Уважаемые форумчане! Подскажите пожалуйста в какую сторону копать в данном вопросе, т.к. только недавно начал изучать VBA.
Задача: в определенном месте документа word указал закладку bookmarks ("точка_вставки1"), после определенных событий кода происходит вставка в указанное место номера строки , например " 178, ". Как продолжить написание кода чтобы после вставки номера строки 178, программа вставляла следующие определенные строки после 178, например 199, 301, 405, и т.д.
0
|
21.11.2014, 21:25 | |
Помогаю со студенческими работами здесь
20
Макрос поиска критерий и их вставки в другой лист
MultiReplace - Word макрос поиска и замены текста
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |