6. Oktober 2006 09:13
Hallo,
Ich möchte auf Basis des Reports wie er in Navision24.de beschrieben wird ein Excel erstellen.
Link:
Navision24 - Echte Excel Tabellen erzeugen
Jedoch möchte ich nicht das ein Excel erzeugt wird
- Code:
ExcelBuffer.GiveUserControl();
sondern ich möchte wie wie bei einem Dataport das Excel in einem Verzeichnis speichern können - ist das möglich?
Und noch ein große Bitte - kann jemand ein Template hochladen, in welchem mehrere Sheets gefüllt werden?
DANKE
Jürgen
[Code-Tag korrigiert.]
Gruß, Marc Teuber
MSDynamics.de-Team
6. Oktober 2006 09:23
Hast du mal gesucht im Forum? Es gibt eine Diskussion genau darüber unter
Excel mit mehreren Sheets
(inkl. Codebeispielen usw.)
6. Oktober 2006 10:02
Hallo Jürgen,
die Tabelle 370 "Excel Buffer" bietet vom Standard her keine Möglichkeit. Erstelle dort einfach eine neue Funktion mit der Bezeichnung "SaveAs" und dem Parameter "FileName" (Text 250).
Der Code der Funktion müsste ungefähr so aussehen:
- Code:
IF XlWrkBk.FullName = FileName THEN
XlWrkBk.Save
ELSE
XlWrkBk.SaveAs(FileName);
Der Code ist ungetestet.
Gruß, Marc
12. Oktober 2006 12:09
Zu dem anderen Thema gibt es bereits etwas von mir.
Hier mal ein Beispiel für das Umwandeln einer CSV-Datei zu einer Excel-Datei mit "speichern"und das 2. Beispiel ist "nur speichern" einer Datei.
Gruß tom
- Code:
Name DataType Subtype Length
Excel Automation Unknown Automation Server.Application
Book Automation Unknown Automation Server.Workbook
Range Automation Unknown Automation Server.Range
Sheet Automation Unknown Automation Server.Worksheet
IF NOT VARIABLEACTIVE(Excel) THEN
CREATE(Excel,FALSE);
Excel.Visible(TRUE);
ExcelPathFileName := ExcelPath+ExcelFileName;
Excel.Workbooks.Open(ExcelPathFileName);
ExcelFileName := 'Test.xls';
ExcelPathFileName := ExcelPath+ExcelFileName;
OK := ERASE(ExcelPathFileName);
Book := Excel.ActiveWorkbook;
Book.SaveAs(ExcelPathFileName,39);
//oder so
NewFilename := ExcelPath+'test2'.xls';
Sheet.SaveAs(NewFilename);
2. August 2007 15:25
Marc Teuber hat geschrieben:Hallo Jürgen,
die Tabelle 370 "Excel Buffer" bietet vom Standard her keine Möglichkeit. Erstelle dort einfach eine neue Funktion mit der Bezeichnung "SaveAs" und dem Parameter "FileName" (Text 250).
Der Code der Funktion müsste ungefähr so aussehen:
- Code:
IF XlWrkBk.FullName = FileName THEN
XlWrkBk.Save
ELSE
XlWrkBk.SaveAs(FileName);
Der Code ist ungetestet.
Gruß, Marc
Hallo Marc,
ich habe diese Funktion gerade in die Tabelle Excel-Buffer integriert und möchte für evtl. interessierte Benutzer ergänzen, dass man im Anschluss auch noch ein
- Code:
XlApp.Quit;
schreiben sollte, da sonst die Excel-Instanz geöffnet bleibt und die Datei nicht frei gibt.
2. August 2007 16:56
Guter Hinweis.
Das Problem hatte ich damals beim Testen auch oft und hatte im Windows Task-Manager unzählige Excel-Prozesse laufen...
Gruß, Marc
5. März 2008 13:04
Hallo zusammen,
ich sitze leider immer noch an diesem Problem.
Also soweit funktioniert er alles, aber er schließt Excel nicht wieder und wenn ich den Befehl
XlApp.Quit; benutze, bekomme ich immer eine Fehlermeldung.
Ich wäre für eure Hilfe sehr dankbar.
Gruß
Claire
5. März 2008 13:27
Quit sollte eigentlich klappen.
Eventuell sollte man vorher speichern.
- Code:
Sheet.SaveAs(NewFilename);
Excel.Quit;
Gruss Tom
5. März 2008 16:22
Danke,
nur mache ich es schon so und bekomme immer die Fehlermeldung, dass für diese Variable keine Instanz erstellt wurde, obwohl dieser Befehl in der Tabelle Excelbuffer, ja öfters schon benutzt wurde.
Bin da mittlerweile sehr ratlos.
Gruß
Claire
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.