WinFuture-Forum.de: Delphi-excel-problem - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Delphi-excel-problem


#1 Mitglied ist offline   wisher 

  • Gruppe: aktive Mitglieder
  • Beiträge: 40
  • Beigetreten: 03. Dezember 03
  • Reputation: 0
  • Wohnort:Highstone (im taunus)
  • Interessen:Zur Zeit Anno1701, bisschen Coden auf der Arbeit und hoffentlich irgendwann mal wieder an ner Frau rumschrauben :oD

  geschrieben 08. Januar 2004 - 09:09

hallo,
ich möchte programmtechnisch eine bilddatei in ein excelsheet einfügen.
ich dachte mir das so:

procedure TDataModule_Rabatte.gestallte_Layout(sheet: _worksheet);
begin
Sheet.Pictures.Insert('C:PICTURE.WMF').Select;
end;


...doch leider gibt mir delphi beim compilieren
den fehler, dass pictures noch zwei parameter haben möchte.
und die methode insert gibt es auch nicht.
unter excel im makro funktioniert es allerdings.
ich benutze delphi 6 und excel 2000.
weiss jemand rat ?

danke wisher
0

Anzeige



#2 Mitglied ist offline   mexxage 

  • Gruppe: aktive Mitglieder
  • Beiträge: 525
  • Beigetreten: 07. August 02
  • Reputation: 0
  • Wohnort:Magdeburg

geschrieben 08. Januar 2004 - 14:51

Ich kenne mich mit den Makros nicht so aus. Aber muss man die nicht in Visual Basic schreiben. Lasse mich gerne eines besseren belehren.
Hast du nicht ein Delphi-Buch oder so. Da muesste das ja eigentlich drin stehen.
0

#3 Mitglied ist offline   Dimension 

  • Gruppe: aktive Mitglieder
  • Beiträge: 772
  • Beigetreten: 17. November 03
  • Reputation: 0

geschrieben 08. Januar 2004 - 15:27

Die Makros schon, aber imho meint er dass er zum Test den Befehl in einem VB-Makro geschrieben hat und das jetzt gern von Delphi aus machen würd ... ? :)

@wisher: Wenn du nur C:PICTURE.WMF angibst, ist das eine relative Pfadangabe, und das funktioniert nur lokal (also im selben Programm) wie man es will. Mit einer absoluten Angabe ('C:\PFAD\ZUR\DATEI\PICTURE.WMF') sollts eigentlich gehen
0

#4 Mitglied ist offline   wisher 

  • Gruppe: aktive Mitglieder
  • Beiträge: 40
  • Beigetreten: 03. Dezember 03
  • Reputation: 0
  • Wohnort:Highstone (im taunus)
  • Interessen:Zur Zeit Anno1701, bisschen Coden auf der Arbeit und hoffentlich irgendwann mal wieder an ner Frau rumschrauben :oD

geschrieben 09. Januar 2004 - 11:35

@dimension :
das ist schon klar... bin schon etwas länger im coder-geschäft :P
das sollte nur ein beispiel sein.

hier mal die antwort von herrn kosch aus www.entwickler-forum.de:


Hallo,

>..dass pictures noch zwei parameter haben möchte.
>und die methode insert gibt es auch nicht.

beim Zugriff über die frühe Bindung benötigt Delphi die importierte Typbibliothek (xyz_TLB.pas) des Automation-Servers. Es ist in der Tat so, das es bis Heute keine Delphi-Version gibt, die dabei keine Fehler macht. Dies hat zur Folge, dass sich im Worst Case der
a. Interface-Name, der
b. Methoden-Name sowie die
c. Parameter-Liste ändern.
Letztendlich sind diese Umbenennungen nicht wichtig, denn der aufgerufene COM-Server sieht immer nur die "richtigen" Aufrufe. Nur beim Compilieren achtet Delphi penibel darauf, dass wir exakt die Deklaration aus der importierten TLB-Daten verwenden.

Der Platzhalter EmptyParam hilft immer dann weiter, wenn bestimmte Parameter "leer" gelassen werden sollen. Bei der frühen Bindung müssen - im Gegensatz zur späten Bindung a la VBA - alle Parameter angegeben werden. Daher lassen sich die Makro-Beispiele nur dann 1:1 übernehmen, wenn die späte Bindung verwendet wird (aber diese hat unerwünschte Nebenwirkungen, so dass die frühe Bindung in der Regel die bessere Wahl ist, auch wenn wir dann mehr eintippen müssen).



... wurde nur zum teil daraus schlau.
0

#5 Mitglied ist offline   Dimension 

  • Gruppe: aktive Mitglieder
  • Beiträge: 772
  • Beigetreten: 17. November 03
  • Reputation: 0

geschrieben 10. Januar 2004 - 15:47

Naja die COM-Interfaces werden ja nicht im eigentlichen Sinn kompiliert, sondern zur Laufzeit verwendet und nur wenn die Definitionen mit ins Programm kommen, kontrolliert Delphi, ob alle Parameter der Funktionen gegeben sind und vom richtigen Typ sind - zur Laufzeit hingegen werden alle vergessenen Parameter durch EmptyParam ersetzt und wenn Excel da was anderes erwartet, bricht es ab. Zumindest meine Auffassung von dem Beitrag, ich mag COM persönlich nicht so :wallbash:
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0