AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Word OLE InsertFile

Ein Thema von hoika · begonnen am 13. Okt 2010 · letzter Beitrag vom 13. Okt 2010
Antwort Antwort
hoika

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

Word OLE InsertFile

  Alt 13. Okt 2010, 11:43
Hallo #,

ich versuche, per OLE-Automation in eine DOC-Datei eine RTF-Datei einzutragen.
Das ganze läuft noch unter OleVariant ... (historische Gründe).

Ich kenne den Befehl: InsertFile.

Jetzt soll die RTF-Datei aber eine bestimmte Stelle.

Die DOC sieht so aus (ohne die #-Zeilen.

#DOC-Start
Sehr geehrter Herr Müller,

hier die gewünschten Informationen:
<INFO>
#DOC-Ende

<INFO> soll jetzt durch den Inhalt der RTF-Datei ersetzt werden.

Wie mache ich das ?
Den Text direkt zu ersetzen per "Select.Execute (Replace)" klappt ja nicht.


Danke


Heiko
Heiko
  Mit Zitat antworten Zitat
GHorn

Registriert seit: 24. Mär 2009
Ort: NRW
124 Beiträge
 
#2

AW: Word OLE InsertFile

  Alt 13. Okt 2010, 14:31
Hi,

hilft dir das hier

http://entwickler-forum.de/showthread.php?t=17415

weiter?

Gruß
Gerald
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Word OLE InsertFile

  Alt 13. Okt 2010, 14:42
Quick and Dirty ungekapselt


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Fword,FDocument,FFindObject:OleVariant;
  Filename:String;

begin
   Filename := 'C:\temp\test.doc';
        Fword := CreateOleObject('Word.Application');
       FDocument := Fword.Documents.Add(Filename);
       FFindObject := FDocument.ActiveWindow.Selection.Find;
        Fword.visible := true;
        FFindObject.ClearFormatting;
        FFindObject.Replacement.ClearFormatting;
        FFindObject.Text := '#DOC-Ende';
        FFindObject.Forward := True;
        FFindObject.Replacement.Text := '';
        FFindObject.Wrap := 1;
        FFindObject.MatchCase := False;
        FFindObject.MatchWholeWord := False;
        FFindObject.MatchWildcards := False;
        FFindObject.MatchSoundsLike := False;
        FFindObject.MatchAllWordForms := False;
        if FFindObject.Execute() then Fword.selection.InsertFile('C:\temp\test.rtf')

end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (13. Okt 2010 um 14:44 Uhr)
  Mit Zitat antworten Zitat
hoika

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

AW: Word OLE InsertFile

  Alt 13. Okt 2010, 17:22
Hallo,

danke nach vielen Suchen habe ich jetzt auch den Code wie Bummi,
nur :

Er ersetzt keinen Kopfzeilen-/Fußnoten-Text ;(

*seufz*

PS:
Dort benutze ich das normale
WordApp.Selection.Find.Execute(Replace:= wdReplaceAll);


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Word OLE InsertFile

  Alt 13. Okt 2010, 17:38
umschalten vor dem Suchen
Delphi-Quellcode:
  wdSeekMainDocument=0;
  wdSeekCurrentPageHeader=9;
 wdSeekCurrentPageFooter=10;



w.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;

w.ActiveWindow.ActivePane.View.SeekView := wdSeekMainDocument;

etc....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
hoika

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

AW: Word OLE InsertFile

  Alt 13. Okt 2010, 19:06
Danke,

ich probier es morgen auf der Arbeit aus.

#Update:'
Der Kandidat Bummi erhält 100 Punkte und ein Fleißlob.
Klappt Prima !!!

Danke


Heiko
Heiko

Geändert von hoika (14. Okt 2010 um 12:40 Uhr)
  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 22:28 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