56 / 0 / 1
Регистрация: 22.08.2012
Сообщений: 14
|
||||||
1 | ||||||
Поиск и замена текста Word из ячейки Excel13.09.2012, 15:43. Показов 23002. Ответов 16
Метки нет (Все метки)
Здравствуйте.
Стоит такая задача: Требуется создать папку с именем из ячейки эксель, копировать туда вордовский файл, открыть его, найти в нем слова "nomer" и заменить их на число из ячейки эксель. сохранить изменения и закрыть документ. Для простоты, решил сначала заменить на число, заданное в самом макросе, но это пока тоже не удалось: выделяет текст, но не заменяет его.
0
|
13.09.2012, 15:43 | |
Ответы с готовыми решениями:
16
Замена текста в Word макросом из Excel Поиск и замена текста в word Поиск и замена текста в word Поиск и замена текста в Word |
1301 / 403 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
||||||
14.09.2012, 17:34 | 2 | |||||
AAP,
2
|
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
||||||
14.09.2012, 19:14 | 3 | |||||
Может, открыть ДОК один раз, а потом сохранять в одну, другую, третью папку (SaveAs)?
Удобно не искать слово "nomer", а сделать в ДОКе закладку с этим именем и просто вписывать туда текст:
1
|
56 / 0 / 1
Регистрация: 22.08.2012
Сообщений: 14
|
|
17.09.2012, 10:00 [ТС] | 4 |
работает) спасибо. всего то надо было еще библиотеку подрубить. только программно почему-то не получилось, только в tools->references. ща буду свою прогу пытать =)
Добавлено через 4 минуты можно, конечно, но в документе это слово не один раз встречается, придется много закладок делать, хотелось бы все-таки через поиск.
0
|
1301 / 403 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
|
17.09.2012, 10:12 | 5 |
0
|
56 / 0 / 1
Регистрация: 22.08.2012
Сообщений: 14
|
||||||
17.09.2012, 10:45 [ТС] | 6 | |||||
Сообщение было отмечено как решение
Решение
в экселе подключил вордовскую библиотеку MSWORD.OLB. может возникнуть вопрос почему я это раньше не сделал. отвечаю. до этого я ее пытался подключить программно, но не получилось, выдавал ошибку. в references я давно еще когда-то подключил, но помимо нее еще всяких наподключал - и тоже код не работал. сейчас я ее не нашел в том списке, но догадался воспользовался кнопкой browse =) подключил только её и всё заработало =)
Добавлено через 18 минут Программно пытался сделать это так:
0
|
1301 / 403 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
|
17.09.2012, 11:35 | 7 |
AAP, есть 2 варианта:
1
|
56 / 0 / 1
Регистрация: 22.08.2012
Сообщений: 14
|
|
17.09.2012, 12:24 [ТС] | 8 |
Чтоб работало =) а в будущем, лучше, чтоб не приходилось ничего подключать. а как можно обойтись без подключения библиотек?
0
|
1301 / 403 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
|
17.09.2012, 12:41 | 9 |
AAP, отключите библиотеку программы Word и сделайте то, что написано в сообщении #2.
Опишите, что не работает в этом коде.
0
|
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
||||||
17.09.2012, 12:45 | 10 | |||||
Да на здоровье!
Хотя можно еще повставлять в ДОК поля с кодом DOCVARIABLE MyVar (т.е. вставка переменной документа), и присвоить значение этой переменной:
Про References почитайте: References и автоматическое подключение библиотек на поздних версиях MS Office
1
|
56 / 0 / 1
Регистрация: 22.08.2012
Сообщений: 14
|
|
17.09.2012, 12:59 [ТС] | 11 |
Текст выделяется только во время выполнения строки 15, а замены вообще не происходит. Никаких ошибок не выскакивает. Что касается библиотек, то подключены первые 5 в references, они подключаются, видимо, по умолчанию.
Так было 2 часа назад. а сейчас - запарывается на 8 строчке и выдает ошибку Run-time error '4248' Application-defined or object-defined error. вроде и тогда и сейчас все делал согласно указаниям
0
|
1301 / 403 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
|||||||||||
17.09.2012, 13:25 | 12 | ||||||||||
дело в строке 15. В этой строке есть константа wdReplaceAll. Из-за этой константы код и работает неправильно.
Причина, почему происходит ошибка Чтобы лучше понимать, приведу аналогию. Вы тоже можете создать константу для каких-либо своих нужд, например:
Чтобы код заработал, вам нужно посмотреть, какое число содержит константа wdReplaceAll. Для этого вам надо сделать следующее:
5
|
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
||||||
17.09.2012, 13:44 | 13 | |||||
Немного дополню. Неопределенные константы - еще одна причина использовать
Option Explicit !!! Сэкономите кучу времени и нервов.Добавлено через 1 минуту Или открыть VBE Word и в окне Immediate ввести
2
|
56 / 0 / 1
Регистрация: 22.08.2012
Сообщений: 14
|
|
17.09.2012, 14:00 [ТС] | 14 |
Что то у меня не запускается этот код. Даже с библиотекой (и без нее также). запарывается на 8 строчке и выдает ошибку Run-time error '4248' Application-defined or object-defined error.
0
|
1301 / 403 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
|
17.09.2012, 14:28 | 15 |
AAP, сделайте все пункты, которые есть в сообщении #2. Вы делаете не все пункты.
0
|
56 / 0 / 1
Регистрация: 22.08.2012
Сообщений: 14
|
|
17.09.2012, 15:23 [ТС] | 16 |
вообще все пункты делал) помогла перезагрузка компа =) теперь все работает. спасибо!
0
|
0 / 0 / 0
Регистрация: 25.01.2018
Сообщений: 1
|
|
25.01.2018, 13:46 | 17 |
Busine2012, Прямо нашёл ответ на свою проблему, целый час ломал голову. Огромное спасибо друг!
0
|
25.01.2018, 13:46 | |
25.01.2018, 13:46 | |
Помогаю со студенческими работами здесь
17
Поиск и замена текста в документах Word Поиск и замена текста в Excel Замена текста в в word на "текст с гиперссылкой" из Excel Замена тэгов в шаблоне Word на данные из Excel (поиск всех однотипных тэгов) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |