powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / replacement в Word
10 сообщений из 10, страница 1 из 1
replacement в Word
    #34624174
пионер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Excel'e создаю объект Word для передачи ему информации.
Есть необходимость заменить текст, допустим "@group@", на некое значение.

Пишу пример из хелпа с небольшим изменением
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Set myRange = msword.ActiveDocument.Content
With myRange.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "Hello"
    .Replacement.Text = "Goodbye"
    .Execute Replace:=wdReplaceAll
End With

Во время выполнения на второй строке получаю ошибку 'Invalid procedure call or argument'.
Причем если выполнять этот код в самом Ворде, то все тип-топ

Кто-нибудь знает какие есть заморочки при управлении Вордом из Ексля?
...
Рейтинг: 0 / 0
replacement в Word
    #34624181
пионер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри, ошибка на третьей строке, т.е. на .ClearFormatting
...
Рейтинг: 0 / 0
replacement в Word
    #34624363
пионер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оказалось что вариант с replacement тоже мне не подходит так как есть ограничиние на длину текста, который заменяет старый.

Тогда может может есть другие способы вставить информацию в нужное место в worde? У меня основная проблема как это место найти
...
Рейтинг: 0 / 0
replacement в Word
    #34624391
пионер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока обнаружил, что в шаблоне можно понаставить bookmarks'ов и дальше их уже заменять их нужным текстом. Но проблема в том что, нельзя создать несколько закладок с одним именем.

Нужен другой способ
...
Рейтинг: 0 / 0
replacement в Word
    #34624922
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пионерПока обнаружил, что в шаблоне можно понаставить bookmarks'ов и дальше их уже заменять их нужным текстом. Но проблема в том что, нельзя создать несколько закладок с одним именем.

Нужен другой способ

Про Ворд мало что знаю, но чисто теоритически:
Понаставить закладок с индексом
Закладка1
Закладка2
Закладка3
А потом пробегаться по всем закладкам
Код: plaintext
IF bookmarks.name LIKE "Закладка?" THEN...
или
Код: plaintext
IF Rihgt(bookmarks.name,  8 ) = "Закладка" THEN...

это теоретически. команды выдуманные, не проверял
...
Рейтинг: 0 / 0
replacement в Word
    #34625434
пионер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Практически так, конечно, можно сделать, но идейно это неверно. Пользователь должен знать, что если от оставляет в шаблоне некий маркер с именем "name", то в отчете маркер заменятеся информацией. Наличие индексов сбивает столку.
Мне, кажется, есть более подходящий способ добавления в отчет информации
...
Рейтинг: 0 / 0
replacement в Word
    #34625491
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пионерПрактически так, конечно, можно сделать, но идейно это неверно. Пользователь должен знать, что если от оставляет в шаблоне некий маркер с именем "name", то в отчете маркер заменятеся информацией. Наличие индексов сбивает столку.
Мне, кажется, есть более подходящий способ добавления в отчет информации

Так а кто мешает маркер добавлять??? Одинаковый всмысле? Придумать какой-нить кусок текста. А потом искать его, удалять и вставлять в найденную позицию свой текст!
...
Рейтинг: 0 / 0
replacement в Word
    #34625536
пионер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этом то и проблема, что я не знаю как искать. Не могу понять. Выше приведенный вариант с replacement неподходит, так как вставляемый мной текст превышает какое-то там ограничение по длине строки (у меня много текста вставляется)
...
Рейтинг: 0 / 0
replacement в Word
    #34625699
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пионерВ этом то и проблема, что я не знаю как искать. Не могу понять. Выше приведенный вариант с replacement неподходит, так как вставляемый мной текст превышает какое-то там ограничение по длине строки (у меня много текста вставляется)

Что-то типа

Код: plaintext
1.
2.
3.
    Selection.Find.Text = "SuperMarker"
    Selection.Find.Execute
    Selection.Delete
    Selection.Paste

Справку нужно почитать как бы это зациклить и вовремя остановиться.
Можно по всем словам пробежаться и сравнивать, но это дольше!
...
Рейтинг: 0 / 0
replacement в Word
    #34625727
пионер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть твоя идея, что после выполнения execute курсор будет на нужном мне месте, и остается только удалить маркер и вставить из буфера текст. Что ж, надо попробовать из буфера. Спасибо!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / replacement в Word
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]