![]() |
Excelvorlage als .xlt öffnen
Hallo zusammen,
ich versuche zum Einen eine Exceldatei als .xls/.xlsx zu öffnen, das klappt auch sehr gut mit dem Befehl: Excel.Workbooks.Add... Aber ich bräuchte ne Möglichkeit, eine .xltx zur Bearbeitung zu öffnen. Ich hab in einem anderen Thread gelesen, dass es ein Unterschied sei, wenn man die .xltx mit dem Befehl Add oder Open öffnet. In beiden Fällen jedoch wird mir aus der .xltx eine .xls geöffnet. Seltsamer Weise (was ich schon gelöst habe) gehts mit Worddateien .doc/.dot usw. einwandfrei. Kann mir bitte jemand sagen wie ich aus D5 raus ne Excelvorlage als .xltx öffnen und bearbeiten kann? Ich Danke Euch für jeeede Hilfe. Gruß Beanbear |
AW: Excelvorlage als .xlt öffnen
Ich habe das gerade mal alleine in Excel-VBA versucht und glaube, dass es nicht geht. Man kann auch keine Parameter angeben, die daran was ändern wie mir scheint. Immer wenn man eine Vorlage öffnet, wird direkt eine neue .xlsx datei davon erzeugt.
Ich glaube das einzige was man machen kann ist die geänderte Vorlage (die ja jetzt wieder eine normale Mappe, keine Vorlage ist) via SaveAs wieder als Vorlage xltx zu speichern, dabei aber nicht vergessen den Parameter FileFormat richtig zu setzen (xlTemplate=17 ?). Edit: Es geht wie folgt doch, wenn man dem Makroeditor glauben kann, mit dem Parameter Editable: Workbooks.Open Filename:="C:\Test\Mappe1.xltm", Editable:=True Zitat:
|
AW: Excelvorlage als .xlt öffnen
ich habe mal ein Makro in Excel aufgezeichnet.
herausgekommen ist folgendes
Delphi-Quellcode:
vielleicht hilft Dir das weiter
Workbooks.Open Filename:="G:\Test.xlt", Editable:=True
Führt man das Makro aus funktioniert es auch richtig. |
AW: Excelvorlage als .xlt öffnen
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? |
AW: Excelvorlage als .xlt öffnen
Zitat:
Workbook.Open(Filename,EmptyParam,EmptyParam,...., EmptyParam,True) |
AW: Excelvorlage als .xlt öffnen
Hi,
also hier mal der Code... Wär echt klasse wenn Du mir da helfen könntest, ich kriegs nicht hin...
Delphi-Quellcode:
Das Ganze wird zwar Comiliert, aber dann krieg ich nen Fehler, dass Parameteranzahl nicht stimmt.
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; |
AW: Excelvorlage als .xlt öffnen
nach
![]() 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; |
AW: Excelvorlage als .xlt öffnen
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; |
AW: Excelvorlage als .xlt öffnen
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 |
AW: Excelvorlage als .xlt öffnen
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:
Bis bald Chemiker
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:28 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