Заменить текст в документе Word с ActiveX? - PullRequest
0 голосов
/ 20 апреля 2009

Я хочу заменить строку в документе Word, используя ActiveX и JavaScript, теперь у меня есть что-то вроде этого:

var text = Selection.Text;
Selection.Text = text.replace('somesting','somevalue');

Но после этого я теряю все образование. Если я записываю макросы в WinWord, я получаю это:

With Selection.Find
    .Text = "somestring"
    .Replacement.Text = "somevalue"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.Find.Execute Replace:=wdReplaceAll

Итак, как мне переписать последнюю строку с помощью JS?

Ответы [ 2 ]

1 голос
/ 20 апреля 2009
Selection.Find.Execute('somestring',
                       false,
                       false,
                       false,
                       false,
                       false,
                       wdFindContinue,
                       false,
                       false,
                       'somevalue'
                       wdReplaceAll,
                       false,
                       false,
                       false,
                       false);

Также у вас должны быть некоторые константы слова, такие как:

var wdReplaceAll = 2;
var wdFindContinue = 1;
0 голосов
/ 09 декабря 2009

Хорошо работает, если текст меньше 256 символов. Обратитесь к ID статьи: 212543 http://support.microsoft.com/kb/212543 для обхода проблемы.

Спасибо, Манжу

...