Word.Application и области редактирования

Нет не угадали, я уже на уровне рефлекса снимаю ворд процессы.
[doublepost=1485348184,1485178256][/doublepost]В общем, я совсем расстроен в связке лотусскрипт + VBA.
Есть макрос
.Text = "(?)"
... то что жирно
.Replacement.Text = "<b>\1</b>"
Selection.Find.Execute Replace:=wdReplaceAll

Пример cтроки в ворде (изначальное):
SD)UM_(*DMU_(*C*(SUC(*SDV(PVMSDMV
<US)*(DUMV)(SD)Vm
IS)D(VMSD{I<vS{DVS<V(

Вызываю с лотуса макрос из вордового дока:
SD)UM_(*DMU_(*C*(SUC(*SDV(PVMSDMV
DUMV)(SD)Vm
IS)D(VMSD{I<vS{DVS

Запускаю макрос с ворда без лотуса:
SD)UM_(*DMU_(*C*(SUC(*SDV(PVMSDMV
<US)*(DUMV)(SD)Vm
IS)D(VMSD{I<vS{DVS<V(

Вывод, макрос при запуске с ворда - работает корректно.
А если вызывать макрос, который храниться в вордовском доке из лотуса, то он некорректно может отрабатывать.
 
Последнее редактирование:
Пользуйтесь приблудами форума под названием CODE

Вот что видим мы

безобразие.PNG
 
Всё верно видите.
В ворде была строка - "<US)*(DUMV)(SD)Vm", а стала после обработки макроса, вызванного лотус скриптом - "DUMV)(SD)Vm"
Я в примерах не ставлю теги, чтобы было читабельно.
[doublepost=1485511037,1485355770][/doublepost]Как перевести на лотусскрипт вот такой макрос?

Код:
Selection.WholeStory
Selection.GoToEditableRange (wdEditorEveryone)
 
Мне нужно получить в переменную лотуса значение между определенными закладками.
'tart% = Bookmark(3).Range.Start
mEnd%= Bookmark(1).Range.End

А оказалось, что Range.End выдает ошибку оверфлоу при объемах текста в 20+ страниц.
[doublepost=1485518588,1485517119][/doublepost]Не получается
Set worddoc = WordApp.Documents.Open ...
worddoc.Selection.WholeStory ' ошибка
worddoc.Selection.GoToEditableRange (wdEditorEveryone)
Text$ = worddoc.Selection.text
 
"но продолжали есть кактус..."
я уже упоминал кучу разных ограничений при использовании КОМа
постройте процесс без него (уже выше сказано не раз) - и проблемы пройдут
 
Сохраняю с word в html нужную мне часть текста, регулярками (VBScript.RegExp) удаляю все ненужное, но есть проблема:
<table border=0 cellspacing=0 cellpadding=0 > - в html
А мне надо для моей xml такой код: <table border="0" cellspacing="0" cellpadding="0" >

Как это сделать? регулярные не могут же добавить кавычки.
 
1 вместо двойной кавычки - одинарная, тож валидно
2 вместо двойной кавычки - какуюнить уникальную фигню с последующим реплейсом на дв.кав.
 
Сделать XSLT преобразование с XML (полученным на основе сохраненного с ворда html) ?
[doublepost=1486470606,1486452309][/doublepost]А в принципе, есть лотусовый докоборот, в котором гоняются doc файлы.
Надо обмениваться с другими системами документами с эцп.
Насколько правилен вариант - конвертить doc в xml и на xml-ку накладывать эцп?
 
Сделать XSLT преобразование с XML (полученным на основе сохраненного с ворда html) ?
вполне-себе
Насколько правилен вариант - конвертить doc в xml и на xml-ку накладывать эцп?
в этой схеме лишний - doc
почему не odf? ну в крайнем случае docx?
настолько сложная/горбатая верстка (историческая) - что нужен именно МСО?
[doublepost=1486476726,1486476553][/doublepost]почему именно эти форматы
[doublepost=1486477116][/doublepost]для ODF
[doublepost=1486480533][/doublepost]кстати, для POI уже есть готовый конвертор, на убунте запускается так:
java -cp /usr/share/java/*:. org.apache.poi.hwpf.converter.WordToHtmlConverter <doc file> <html file>
Usage: WordToHtmlConverter <inputFile.doc> <saveTo.html>

на винде будет строка запуска немного другой - запиточка разделитель и слэши в др. сторону (ну и путь надо прописывать туда - где либа распакована)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!