Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ein MS Word Dokument zweimal öffnen (https://www.delphipraxis.net/122517-ein-ms-word-dokument-zweimal-oeffnen.html)

Eurowig 17. Okt 2008 11:11


Ein MS Word Dokument zweimal öffnen
 
Wenn ich ein *.doc mit MS Word öffne wird die Datei anscheinend exclusive geöffnet.

Kann man das ändern oder umgehen?

Natürlich macht es eigentlich keinen Sinn ein DOC zweimal zu öffnen. Das möchte ich auch gar nicht. Ich möchte aber auf die geöffnete Datei zugreifen können.

Mein Szenario:
Ich öffne mit D2007 ein Worddokument, mach ein paar Änderungen im Doc und speichere das ganze wieder auf Festplatte.

Delphi-Quellcode:
FWordDoc := Word2007.TWordDocument.Create(FWordApp);
FWordDoc.ConnectKind := ckNewInstance;

oFileName := 'C:\Test.doc';

FWordDoc.ConnectTo(FWordApp.Documents.Open2000(
          oFileName,oConfirmConversions,oReadOnly,oAddToRecentFiles,
          oPasswordDocument,oPasswordTemplate,oRevert,oWritePasswordDocument,
          oWritePasswordTemplate,oFormat,oEncoding,oVisible))
...
... // Änderunge im Doc
...

FWordDoc.SaveAs2000;
Jetzt möchte ich obwohl das Doc noch am Bildschirm angezeigt wird, diese in eine Datenbank speichern.
Delphi-Quellcode:
SaveToDB('C:\Test.doc');

procedure SaveToDB(const FileName: string);
var
  Stream: TStream;
begin
  Stream := TFileStream.Create(FileName, fmOpenRead); // Hier knallts
  try
    ...
  finally
    Stream.Free;
  end;
end;
Warum kann ich das Doc nicht zum lesen öffnen ???
Hat jemand vielleicht eine Idee??

nahpets 17. Okt 2008 11:31

Re: Ein MS Word Dokument zweimal öffnen
 
Hallo,

schau mal hier fmopenread oder http://www.delphipraxis.net/internal...=932394#932394, das müsste Dir helfen.

Eurowig 17. Okt 2008 11:39

Re: Ein MS Word Dokument zweimal öffnen
 
Ohh Mann :wall:

So einfach. Genial !!!

Delphi-Quellcode:
Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyNone);
Thx


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz