Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   doc in Word geöffnet? (https://www.delphipraxis.net/180447-doc-word-geoeffnet.html)

knochen 21. Mai 2014 11:28

doc in Word geöffnet?
 
Hallo zusammen,

wie kann ich feststellen, ob eine bestimmte Worddatei, z.B. 'test.doc', gerade in Word geöffnet ist?

Vielen Dank für eure Tipps.

p80286 21. Mai 2014 12:03

AW: doc in Word geöffnet?
 
Dann schau mal hier herein (vielen Dank an Hathor!)

Gruß
K-H

knochen 21. Mai 2014 14:25

AW: doc in Word geöffnet?
 
Danke für die schnelle Antwort. Die Lösung wird mir bei einer anderen Problemstellung gewiss nützlich sein.
Hier war die Problemstellung jedoch so, dass ich feststellen möchte, ob eine Datei gerade in Word geöffnet ist. :?:

baumina 21. Mai 2014 14:35

AW: doc in Word geöffnet?
 
Ich würde es in dieser Art versuchen:

Delphi-Quellcode:
 
WordObj := ComObj.CreateOleObject('Word.Application');
for i:=1 to WordObj.Documents.Count do
begin
  If WordObj.Documents.Item(i).fullname = 'c:\temp\test.docx' then
  begin
    Showmessage('Aha, schon offen');
  end;
end;
UNGETESTET !

p80286 21. Mai 2014 15:15

AW: doc in Word geöffnet?
 
Zitat:

Zitat von knochen (Beitrag 1259649)
Danke für die schnelle Antwort. Die Lösung wird mir bei einer anderen Problemstellung gewiss nützlich sein.
Hier war die Problemstellung jedoch so, dass ich feststellen möchte, ob eine Datei gerade in Word geöffnet ist. :?:

Falls das Word auf Deinem rechner die Datei geöffnet hat, dann wird das angezeigt.


Gruß
K-H

knochen 22. Mai 2014 10:02

AW: doc in Word geöffnet?
 
Zitat:

Zitat von p80286 (Beitrag 1259660)
Zitat:

Zitat von knochen (Beitrag 1259649)
Danke für die schnelle Antwort. Die Lösung wird mir bei einer anderen Problemstellung gewiss nützlich sein.
Hier war die Problemstellung jedoch so, dass ich feststellen möchte, ob eine Datei gerade in Word geöffnet ist. :?:

Falls das Word auf Deinem rechner die Datei geöffnet hat, dann wird das angezeigt.


Gruß
K-H

Mag sein. Allerdings kann ich die EXE nicht starten, weil sie von Kaspersky direkt nach dem Kompilieren wieder gelöscht wird. Meldung:
"nach Quarantäne verschoben: trojanisches Programm HEUR:Trojan.Win32.Generic (Modifikation) Die Datei: C:\...\FileUnlock.exe"

p80286 22. Mai 2014 11:24

AW: doc in Word geöffnet?
 
Zitat:

Zitat von knochen (Beitrag 1259757)
Mag sein. Allerdings kann ich die EXE nicht starten, weil sie von Kaspersky direkt nach dem Kompilieren wieder gelöscht wird. Meldung:
"nach Quarantäne verschoben: trojanisches Programm HEUR:Trojan.Win32.Generic (Modifikation) Die Datei: C:\...\FileUnlock.exe"

Da würde ich jetzt mal Kaspersky den schwarzen Peter zuschieben. Gibt es eine Möglichkeit ein (oder mehrere) Verzeichnis(se) von dem Scan auszunehmen?

(und es es kein Fehler den Kaspers die Echse zu schicken, als false positiv)

Gruß
K-H

knochen 23. Mai 2014 08:29

AW: doc in Word geöffnet?
 
@baumina:
Danke für den Code. Er funktioniert und ich habe ihn ein wenig modifiziert

Delphi-Quellcode:
procedure TMainForm.Button1Click(Sender: TObject);
var
  i: Integer;
  WordObj: OLEVariant;
begin
  WordObj := ComObj.CreateOleObject('Word.Application');
  for i := 1 to WordObj.Documents.Count do
  begin
    if AnsiUpperCase(WordObj.Documents.Item(i).Fullname) = 'C:\TEMP\TEST.DOCX' then
    begin
      Showmessage('Aha, schon offen');
    end;
  end;
  WordObj.Quit; // wichtig, sonst lungert noch eine Wordinstanz im Hintergrund herum
end;
@p80286:
Nachdem ich Image1 gelöscht habe, erscheint die Meldung von Kaspersky nicht mehr. Das Programm selbst hängt sich aber auf, sobald ich per Drag und Drop eine Datei hineinziehe. Zu Debugging in Code, den ich in Teilen nicht verstehe, habe ich wenig Ambitionen, zumal eine einfache Lösung existiert.

Thanks anyway.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 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