AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ole Excel - wie kann ich Textmarken ansprechen
Thema durchsuchen
Ansicht
Themen-Optionen

Ole Excel - wie kann ich Textmarken ansprechen

Ein Thema von [TP]Hawk274 · begonnen am 28. Mär 2003 · letzter Beitrag vom 28. Mär 2003
Antwort Antwort
[TP]Hawk274
(Gast)

n/a Beiträge
 
#1

Ole Excel - wie kann ich Textmarken ansprechen

  Alt 28. Mär 2003, 14:44
Ich habe ich meinem Worddokument mehrere Textmarken gesetzt. Diese möchte ich nun über Ole ansprechen, aber ich komm nicht rauf wie.
Leider finde ich auch keine gute Dokumentation über dieses OLE. Wenn dann nur teilweise veraltete Dokumentation zu WinWord97.
Ich benutzte Winword2000!
  Mit Zitat antworten Zitat
Helld_River

Registriert seit: 2. Jan 2003
Ort: Hürth
136 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 28. Mär 2003, 15:21
http://www.delphi-treff.de/content/t...dex.php4?kat=3

einfach mal googlen

Und was Word97 lann, das kann word2000 schon lange *g*

Gruß, Helld
  Mit Zitat antworten Zitat
[TP]Hawk274
(Gast)

n/a Beiträge
 
#3
  Alt 28. Mär 2003, 15:44
Zitat:
Und was Word97 lann, das kann word2000 schon lange *g*
Eben nicht , das ist das dumme daran.
Delphi-Quellcode:
vWhat:=wdGoToBookmark;
vBookmark:='BerichtsNr';
Word.Selection.GoTo_(vWhat, EmptyParam, EmptyParam, vBookmark);
Als Fehlermeldung kommt jedenfalls immer:
Die Methode 'GoTo_' wird vom Automatisierungsobjekt nicht unterstützt.

Habe dann aber einfach mal den Unterstrich weggenommen und siehe da es klappt. Also nichts da was unter Word97 geht, das funktioniert auch unter Word2000.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4
  Alt 28. Mär 2003, 17:29
Hi,

Die Textmarken mit wdGoToBookmark anzusprechen ist eine Möglichkeit.
Es ist aber - so habe ich gehört - manchmal nicht so zuverlässig.
Andere Möglichkeit: Die Textmarken über das Bookmarks-Range anzusprechen.

Hier mal ein kleines Beispiel:


Code:
uses
  ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
  BookmarkName, Doc, WordApp, R: OleVariant;
begin

  // Word Instanz Starten
  try
    WordApp := CreateOleObject('Word.Application');
  except
    ShowMessage('Could not start Word !');
    Exit;
  end;

  // Dok. öffnen
  WordApp.Documents.Open('c:\titel.doc');
  Doc := WordApp.ActiveDocument;

  // Name der Textmarke
  BookmarkName := 'DeineTextMarke';
  // Überprüfen, ob Textmarke vorhanden
  if Doc.Bookmarks.Exists(BookmarkName) then
  begin
    R := Doc.Bookmarks.Item(BookmarkName).Range;
    // Text bei Textmarke einfügen
    R.InsertAfter('Text bei Textmarke');
    R.Font.Color := clRed;
  end;
  // Dokument Speichern und Word beenden.
  if not VarIsEmpty(WordApp) then
  begin
    WordApp.DisplayAlerts := 0;
    WordApp.Documents.Item(1).Save;
    WordApp.Quit;
    BookmarkName := Unassigned;
    R := Unassigned;
    WordApp := Unassigned;
  end;
end;
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz