Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / replacement в Word / 10 сообщений из 10, страница 1 из 1
27.06.2007, 17:20:52
    #34624174
пионер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
replacement в Word
В 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
27.06.2007, 17:21:52
    #34624181
пионер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
replacement в Word
Сорри, ошибка на третьей строке, т.е. на .ClearFormatting
...
Рейтинг: 0 / 0
27.06.2007, 18:17:15
    #34624363
пионер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
replacement в Word
Оказалось что вариант с replacement тоже мне не подходит так как есть ограничиние на длину текста, который заменяет старый.

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

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

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

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

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

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

Что-то типа

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

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


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