AGB  ·  Datenschutz  ·  Impressum  







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

Auf geöffnetes Exceldokument zugreifen

Ein Thema von Ykcim · begonnen am 12. Aug 2009 · letzter Beitrag vom 12. Aug 2009
Antwort Antwort
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
828 Beiträge
 
Delphi 10.4 Sydney
 
#1

Auf geöffnetes Exceldokument zugreifen

  Alt 12. Aug 2009, 11:20
Hallo Zusammen,

ich habe eine Funktion, mit dieser werden die Daten aus einem StringGrid in eine Exceldatei geschrieben. Die Exceldatei wird dabei nach einer Vorlage (Template) geöffnet.

==> So weit so gut

Jetzt möchte ich aber in einer ButtonClick Prozedure (in der die oben beschriebene Funktion aufgerufen wird) noch weitere Daten in dieses Excelodokument schreiben. Und das bekomme ich nicht. Ich schaffe es nicht, dass ich eine Verbindung zu einem bereits geladenen Dokument bekomme.
Wenn ich die Zusätze direkt in die Funktion mit integriere, ist das kein Problem, aber dann würde ich für jeden Anwendungsfalls meine eigene Funktion benötigen, was ziemlich sinnfrei wäre.

Kann mir jemand erklären, wie ich zu einem bereits geladenen Exceldokument eine Verbindung bekomme und dieses bearbeiten kann?

Vielen Dank im Voraus

Ykcim
Patrick
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
828 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Auf geöffnetes Exceldokument zugreifen

  Alt 12. Aug 2009, 12:03
Ich brauche wirklich Eure Hilfe, sonst komme ich nicht weiter...
Patrick
  Mit Zitat antworten Zitat
hoika

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

Re: Auf geöffnetes Exceldokument zugreifen

  Alt 12. Aug 2009, 12:52
Hallo,

wenn du es selber geladen hast,
wo ist das Problem ?
Du schreibst doch schon rein,
hast als ein WorkSheet.Connect gemacht ?

Oder willst du, dass der Nutzer selbst das Excel aufmacht
und du dann dich damit verbindest ?
Ist keine gute Idee, finde ich.

Du kannst ja durch die WorkSheets laufen und dein Dokument suchen.

Schau mal hier
1

und such nach
My program always creates a separate instance of Excel


Heiko
Heiko
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
828 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Auf geöffnetes Exceldokument zugreifen

  Alt 12. Aug 2009, 14:54
Hallo Heiko,

vielen Dank für Deine Antwort.

Excel soll über mein Programm geöffnet werden. Aber nachdem die Funktion abgeschlossen ist, werden alls Variablen wieder frei, sodass ich in der Procedure, in der die Funktion aufgerufen wird, nicht mehr darauf zugreifen kann.

Das ist notwendig, da ich bei einem Button noch in einzelne Felder zusätzliche Dinge eintragen möchte, oder die Datei direkt als e-Mail Anhang benötige ohne sie in Excel zu zeigen oder die Exceldatei nur zum Drucken erstellt und sofort wieder geschlossen wird etc.

Ich habe es jetzt so gelöst (sehr unschön, ich weiß) dass ich die notwendigen Variable aus der Funktion öffentlich gemacht habe, und diese nicht in der aufgerufenen Funktion wieder freigebe, sondern in der Procedure, in der die Funktion aufgerufen wurde, nachdem ich die zusätzlichen Daten / Befehle ausgeführt habe.

Bis jetzt läuft es stabil...

Vielen Dank

Ykcim
Patrick
  Mit Zitat antworten Zitat
hoika

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

Re: Auf geöffnetes Exceldokument zugreifen

  Alt 12. Aug 2009, 15:30
Hallo,

willkommen bei der Interface-Programmierung
Sobald die Interface-Variablen ihren Scope verlassen,
werden die ungültig.

Dein Ansatz mit den "globalen" Variablen ist eine Lösung dafür.


Heiko
Heiko
  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 16:04 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