Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Open Dialog autoconnect (https://www.delphipraxis.net/149656-open-dialog-autoconnect.html)

RWarnecke 29. Mär 2010 12:49

Re: Open Dialog autoconnect
 
Zitat:

Zitat von SnakeSchitt
Es wäre nur entscheidend bequemer wenn nicht nach dem klicken des Buttons noch einmal ein Fenster aufgeht und ich extra öffnen muss sondern das Dokument sich ohne weiteres nachfragen öffnet.

Funktionieren tut es. Auch die Übergabe und alles andere.

Hast Du mal mein Beispiel ausprobiert ? Bei dem Biespiel kommt kein extra Fenster, wo ich nochmal die Datei auswählen muss, die ich öffnen muss.

SnakeSchitt 29. Mär 2010 12:58

Re: Open Dialog autoconnect
 
Ich habs mal mit deinem Beispiel ausprobiert.

Den einzigen Unterschied zu meiner Variante war die If Anweisung:

if assigned(WordApplication1) then
begin

Aber auch wenn ich das mit drin hab fragt er mich einmal extra.

Liegt es vllt am ConnectKind vom OpenDailog?

Ich hab im mom die Einstellung:

ckRunningOrNew


Oder habe ich einen Denkfehler? Muss es denn immer so sein.

In der Hilfe zum TOpenDialog steht es nämlich genauso dirn wies bei mir passiert:

TOpenDialog zeigt ein Dialogfeld an, in dem der Benutzer Dateien auswählen und öffnen kann. Das Dialogfeld wird zur Laufzeit erst angezeigt, nachdem es mit der Methode Execute aktiviert wurde. Wenn der Benutzer auf Öffnen klickt, wird das Dialogfeld geschlossen, und die ausgewählten Dateien werden in der Eigenschaft File gespeichert.

SnakeSchitt 29. Mär 2010 13:11

Re: Open Dialog autoconnect
 
Ja, es wird ja explizit gesagt dass ein Dialogfenster geöffnet wird auf dem auf öffnen geklickt werden muss.

Gibt es eine Komponente bei der dies nicht extra notwendig ist?

kaiser1401 29. Mär 2010 13:18

Re: Open Dialog autoconnect
 
Wenn du gar kein Dialogfenster zum auswählen und öffnen einer Datei haben willst, warum machst du dann Opendialog.execute ?

SnakeSchitt 29. Mär 2010 13:20

Re: Open Dialog autoconnect
 
weil ich in diesem zusammenhang nur den kannte.

Was gibt es denn für eine clevere Lösung wenn ich das nicht haben will?

RWarnecke 29. Mär 2010 13:31

Re: Open Dialog autoconnect
 
Warum übergibts Du den Pfad mit der Datei direkt an Word übergeben.

SnakeSchitt 30. Mär 2010 06:44

Re: Open Dialog autoconnect
 
Wie sähe das denn aus?

Ich hatte mal eine Variante mit cdoc gesehen aber mich nicht weiter damit beschäftigt.

RWarnecke 30. Mär 2010 06:51

Re: Open Dialog autoconnect
 
So zum Beispiel :
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var FileName:OleVariant;
  vWhat, vBookmark:OleVariant;
begin
  FileName := 'C:\Test\testdokument.doc';
  if assigned(WordApplication1) then
  begin
    WordApplication1.Connect;
    WordApplication1.Documents.OpenOld(FileName, EmptyParam, EmptyParam,
      EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
      EmptyParam, EmptyParam);
    WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
    WordApplication1.Visible := True;
    vWhat:=wdGoToBookmark;
    vBookmark:='Name';
    WordApplication1.Selection.GoTo_(vWhat,emptyParam,emptyParam,vBookmark);
    WordApplication1.Selection.TypeText('Max Mustermann'#13'Dorfstraße 100');
  end;
end;

SnakeSchitt 30. Mär 2010 06:53

Re: Open Dialog autoconnect
 
Danke für deine Hilfe.

Funktioniert jetzt.

Habs aber so gelöst:
Delphi-Quellcode:
var FileName:OleVariant;
  vWhat, vBookmark:OleVariant;
  CDoc : string;
  p1, p2, p3, t1, t2, t3, u1, u2, u3 : integer;
  s, titel, untertitel, titelneu1, titelneu2, untertitelneu1, untertitelneu2 : string;
begin

cdoc:= 'C:\Users\Flo\Desktop\OffenerKanal\DatenbankProjekt\TEST FREISTELLUNG 2010.doc';
FileName := cDoc;
Hab mich an nem älteren Beispiel orientiert.

Nochmal, Danke für die Hilfe!

RWarnecke 30. Mär 2010 06:59

Re: Open Dialog autoconnect
 
Warum so umständlich über eine extra String Variable ? Zumal würde ich den komplette String noch in doppelte Anführungszeichen setzen, da sich Leerzeichen im Pfad und Dateinamen befinden.

Ich würde es eher so schreiben :
Delphi-Quellcode:
var FileName:OleVariant;
  vWhat, vBookmark:OleVariant;
  p1, p2, p3, t1, t2, t3, u1, u2, u3 : integer;
  s, titel, untertitel, titelneu1, titelneu2, untertitelneu1, untertitelneu2 : string;
begin
FileName := '"C:\Users\Flo\Desktop\OffenerKanal\DatenbankProjekt\TEST FREISTELLUNG 2010.doc"';
Edit:
Zusätzlich solltest Du Dir noch diesen Code-Lib Beitrag anschauen für den Bereich C:\Users\Flo\Desktop.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:15 Uhr.
Seite 2 von 2     12   

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