AGB  ·  Datenschutz  ·  Impressum  







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

Excelvorlage als .xlt öffnen

Ein Thema von beanbear6 · begonnen am 7. Sep 2015 · letzter Beitrag vom 8. Sep 2015
Antwort Antwort
beanbear6

Registriert seit: 28. Okt 2009
Ort: Passau
170 Beiträge
 
Delphi 7 Enterprise
 
#1

AW: Excelvorlage als .xlt öffnen

  Alt 8. Sep 2015, 06:31
Hi,
hm... ich hab in Delphi jedoch nicht die Möglichkeit beim Befehl diesen Editable-Parameter mit zu liefern...
Hat vielleicht noch jemand eine Idee?? Trotzdem vielen Dank für die Postings..
Gruß beanbear
PS: Hat das vielleicht schon mal jemand in DXE versucht? Evtl ein Bug in D5 oder D7?
Reiner
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Excelvorlage als .xlt öffnen

  Alt 8. Sep 2015, 08:01
Hi,
hm... ich hab in Delphi jedoch nicht die Möglichkeit beim Befehl diesen Editable-Parameter mit zu liefern...
Das kann ich mir jetzt aber nicht vorstellen. Kannst du mal deinen Code zeigen, wie du auf Excel zugreifst? Im Notfall müsstest du das doch mit lauter EmptyParams hinkriegen:

Workbook.Open(Filename,EmptyParam,EmptyParam,...., EmptyParam,True)
Ralph
  Mit Zitat antworten Zitat
beanbear6

Registriert seit: 28. Okt 2009
Ort: Passau
170 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Excelvorlage als .xlt öffnen

  Alt 8. Sep 2015, 10:08
Hi,
also hier mal der Code... Wär echt klasse wenn Du mir da helfen könntest, ich kriegs nicht hin...
Delphi-Quellcode:
procedure TDBForm.DBGrid1DblClick(Sender: TObject);
var excel : Variant;
    datei : String;
begin
  If (Table1.FieldByName('DFExt').asstring = '.xlt') or
     (Table1.FieldByName('DFExt').asstring = '.xltx') then begin
    Excel := CreateOleObject('Excel.Application');
    Excel.Visible := True;
    Datei:=Table1.FieldByName('DFNAMEPATH').AsString;
    Excel.Workbooks.Open(Datei, emptyParam, emptyParam, emptyParam, emptyParam,
                        emptyParam, emptyParam, emptyParam, emptyParam, emptyParam,
                        emptyParam, emptyParam, emptyParam,emptyParam, emptyParam,True);
  end;
end;
Das Ganze wird zwar Comiliert, aber dann krieg ich nen Fehler, dass Parameteranzahl nicht stimmt.
Reiner
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: Excelvorlage als .xlt öffnen

  Alt 8. Sep 2015, 10:35
nach https://msdn.microsoft.com/de-de/lib...ice.11%29.aspx müsste der 10 Parameter auf True gesetzt werden.

ungefähr so?
Delphi-Quellcode:
procedure TDBForm.DBGrid1DblClick(Sender: TObject);
var excel : Variant;
    datei : String;
begin
  If (Table1.FieldByName('DFExt').asstring = '.xlt') or
     (Table1.FieldByName('DFExt').asstring = '.xltx') then begin
    Excel := CreateOleObject('Excel.Application');
    Excel.Visible := True;
    Datei:=Table1.FieldByName('DFNAMEPATH').AsString;
    Excel.Workbooks.Open(Datei, emptyParam, emptyParam, emptyParam, emptyParam,
                        emptyParam, emptyParam, emptyParam, emptyParam, true,
                        emptyParam, emptyParam, emptyParam,emptyParam, emptyParam);
  end;
end;
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#5

AW: Excelvorlage als .xlt öffnen

  Alt 8. Sep 2015, 11:28
kann sein das Du die Parameter als OleVariant übergeben musst.
Ich glaube auch die Anzahl der Paramter ist je nach verwendeter Excel Versionen unterschiedlich.

Delphi-Quellcode:
procedure TDBForm.DBGrid1DblClick(Sender: TObject);
var excel : Variant;
    datei : String;
    OleString : OleVariant;
    OleBoolean : OleVariant;
begin
  OleBoolean := True;
  If (Table1.FieldByName('DFExt').asstring = '.xlt') or
     (Table1.FieldByName('DFExt').asstring = '.xltx') then begin
    Excel := CreateOleObject('Excel.Application');
    Excel.Visible := True;
    OleString :=Table1.FieldByName('DFNAMEPATH').AsString;
    Excel.Workbooks.Open(OleString , emptyParam, emptyParam, emptyParam, emptyParam,
                        emptyParam, emptyParam, emptyParam, emptyParam, OleBoolean,
                        emptyParam, emptyParam, emptyParam,emptyParam, emptyParam);
  end;
end;

Geändert von EarlyBird ( 8. Sep 2015 um 11:38 Uhr)
  Mit Zitat antworten Zitat
beanbear6

Registriert seit: 28. Okt 2009
Ort: Passau
170 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Excelvorlage als .xlt öffnen

  Alt 8. Sep 2015, 12:51
Ou mann ey Ihr seid die BESTEN hier!!! Was würd ich oft nur ohne Eure Hilfe machen..
Vieeelen herzlichen Dank! Habt mir sehr geholfen.
Gruß beanbear
Reiner
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Excelvorlage als .xlt öffnen

  Alt 8. Sep 2015, 14:51
Hallo,

es ist auch möglich die Parameter in Workbooks.Open zu bezeichnen, das sorgt dafür das wenn sich die Parameteranzahl ändert trotzdem die richtigen Parameter angesprochen werden. Als weiteres ist es besser die Excel – Instanz mit OLEVariant zu deklarieren. Dafür ist es nicht notwendig den Dateiname und die Boolean als OLEVariant zu deklarieren.

Delphi-Quellcode:
procedure TDBForm.DBGrid1DblClick(Sender: TObject);
var excel : OLEVariant;
    DateiName : String;
begin
  OleBoolean := True;
  If (Table1.FieldByName('DFExt').asstring = '.xlt') or
     (Table1.FieldByName('DFExt').asstring = '.xltx') then begin
    Excel := CreateOleObject('Excel.Application');
    Excel.Visible := True;
    DateiName :=Table1.FieldByName('DFNAMEPATH').AsString;
    Excel.Workbooks.Open(FileName:=DateiName, Editable:=TRUE);
  end;
end;
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  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 15:09 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