Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

Word-OLE. geschütztes Dokument

  Alt 29. Mai 2017, 16:13
Hallo,

folgender Code-Ausschnitt zum Ersetzen von Text in MS-Word klappt seit Jahren.
Also bitte nicht fragen, was SL_Search und iString sind.

Delphi-Quellcode:
             
WordApp.ActiveWindow.ActivePane.Selection.WholeStory;


               WordApp.ActiveWindow.ActivePane.View.SeekView:= wdSeekMainDocument;
               WordApp.ActiveWindow.ActivePane.View.Type := wdPrintView;
               DBInText_OLE_ReplaceString(WordApp, SearchString, ReplaceString, 'Hauptdokument');
Delphi-Quellcode:
             
DBInText sieht etwa so aus
      WordApp.Selection.Find.ClearFormatting;
      WordApp.Selection.Find.Replacement.ClearFormatting;
      WordApp.Selection.Find.Text:= SL_Search[iString];
      WordApp.Selection.Find.Replacement.Text := SL_Replace[iString];
      WordApp.Selection.Find.Forward := True;
      WordApp.Selection.Find.Wrap := wdFindContinue;
      WordApp.Selection.Find.Format := False;
      WordApp.Selection.Find.MatchCase := False;
      WordApp.Selection.Find.MatchWholeWord := False;
      WordApp.Selection.Find.MatchWildcards := False;
      WordApp.Selection.Find.MatchSoundsLike := False;
      WordApp.Selection.Find.MatchAllWordForms := False;

      //WordApp.Selection.Find.Execute(Replace:= wdReplaceAll);
      if not WordApp.Selection.Find.Execute(Replace:= wdReplaceAll) then
      begin
        //iDummy := 1;
      end;
Problem:
Ich habe ein teilweise geschütztes Dokument.
Dann schlägt die folgende Zeile mit
WordApp.ActiveWindow.ActivePane.Selection.WholeSto ry;
fehl.

Fehlermeldung
Diese Methode oder Eigenschaft ist nicht verfügbar, weil das Dokument geschützt ist

Was anderes als WholeStory soll ich denn dann nehmen?


Wichtig noch als Info:
Das Dokument ist nicht schreibgeschützt.
Ich kann es mit Word selbst bearbeiten, z.B. auch eigene Text-Kenner anlegen.
Heiko
  Mit Zitat antworten Zitat