Как вставить символ по OLE #571647


#0 by Konan
Подключаюсь по Оле к документу Word, там в нем есть текст <Перевод1>, следующим кодом я его нахожу и хочу заменить на текст, в котором между слов есть символ перевода строки, но когда вставляю в Word, то там все слитно: Замена = Док.Content.Find; Замена.Execute("<Перевод"+Индекс+">", ложь, Истина, Ложь,,,Истина,,Ложь, "Привет" + Символ + "Привет"); должно получиться: Привет Привет а получается: Привет Привет
#1 by Ненавижу 1С
кто сказал, что Символ перевод строки?
#2 by Konan
Я пробовал в 1С и Символы.ПС
#3 by andrewks
а если попробовать "Привет" + Символ+Символ + "Привет")
#4 by smaharbA
не поверишь Замена.Execute("привет", 0, 0, 0, 0, 0, -1, 0, 0, "Привет^pПривет")
#5 by Konan
Последняя работает. спасибо
#6 by Konan
Да, но если у меня не два слова, а какой-то многострочный текст, который я подставляю, то мне выдает ошибку: Произошла исключительная ситуация (Microsoft Word): Слишком длинный строковый параметр. Почему? При этом я специально выводил 5 строк из этого многострочного текста, а начиная с 6-ой строки лезет эта ошибка, кто-то может сталкивался?
#7 by ado
Может быть потому, что строковый параметр, передаваемый по ОЛЕ не должен быть слишком длинным?
#8 by Konan
логично :), правда насколько длинным 255 что ли?
#9 by Konan
Тогда как же вставить вместо одного слова текст? Может есть у кого, что, а то перерыл уже все
#10 by Fish
128 символов. Для более длинных я использовал такую конструкцию: Документ.Variables.Add("Имя_Поля", "");            Документ.Variables("Имя_поля").Value = "Длинная строка";
#11 by Konan
"Имя_Поля" оно уже проставлено как-то в Worde? Так как в Worde  у меня есть простое слово Перевод1 и вместо него надо вставить
#12 by Fish
+ А в вордовском файле должно быть вставлено поле типа DocVariable с тем же именем
#13 by Konan
Неа, пустую строку там выводит
#14 by smaharbA
ltkfqnt cfvb
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С