![]() |
Aktives Excel Workbook umbenennen
Hallo zusammen,
ich öffne mit Excel:=CreateOleObject('Excel.Application'); Workbook:=Excel.Workbooks.open(filename,emptyparam ); ein Excel Dokument und bearbeite mit excel.sheets[1].cells[10,28].value ein paar Zellen. Ich möchte dann sofort einen neuen Namen zuweisen, da "filename" nur eine Vorlage ist. Speichern mit "Workbook.SaveAs" wäre zwar eine Möglichkeit, aber ich möchte es dem Anwender überlassen, ob er überhaupt speichern möchte. Weiß jemand Rat? Gruß, Steffen |
AW: Aktives Excel Workbook umbenennen
Wenn du es dem Anwender überlassen willst, so muss dieser auch den neuen Namen aussuchen, da kannst du nichts machen. Ausser natütlich die Vorlage (als Datei) schützen, so dass der Anwender die Vorlage nicht überschreiben kann.
Oder aber in der Vorlage ein VBA-Makro hinterlegen, dass beim Save-Event stattdessen das SaveAs-Event auslöst. Oder, wenn der Anwender gar nicht richtig mitbekommt, dass Excel offen ist, er quasi noch im Delphi-Programm ist, könntest du den Delphi-Dialog zum Speichern nutzen. |
AW: Aktives Excel Workbook umbenennen
Stell doch deinen User vorher einfach per Dialog die Frage, ob er speichern möchte.
|
AW: Aktives Excel Workbook umbenennen
Hallo Ralph,
mein Programm muss den neuen Namen bestimmen. Hintergrund ist, dass das Excel-Dok (mit dem neuen Namen ! ) bearbeitet wird und dann als PDF gespeichert wird. Das klappt ja auch prima, aber ich habe jetzt immer NeuerName.xls und NeuerName.PDF. Ich möchte also das Excel Dok gar nicht speichern. Vielleicht kann auch der NeuName beim Drucken übergeben werden (an den PDF-Drucker) ?? Gruß, Steffen |
AW: Aktives Excel Workbook umbenennen
2 Gedanken, jetzt wo ich weiß, dass es um PDF geht:
1. Geht für alles: Nach Abschluss der ganzen Aktion das Excel-File einfach wieder löschen. Dann ist das quasi nur eine temporäre Datei. 2. Excel2007 oder höher hat ja (ggf. mit AddOn) die Möglichkeit direkt als PDF exportiert zu werden. Habs glaub ich noch nicht gemacht, aber dazu musst du entweder beim SaveAs einfach nur die richtigen Parameter mitgeben, oder in der Excel-Hilfe nachschauen, wie man als PDF speichert, vll. ist das auch eine eigen Funktion... |
AW: Aktives Excel Workbook umbenennen
Hallo Steffen0917,
ab Excel 2007 kann man die Datei auch direkt als PDF speichern. Zum Bleistift:
Delphi-Quellcode:
EXCEL.ActiveWorkbook.ExportAsFixedFormat (type :=xlTypePDF, Filename:='C:\Users\Internet1\Documents\pdftest5');
An dem Filename keine Dateiendung hängen die wird mit [type] bestimmt und automatisch als PDF interpretiert. Der Ablauf währe so: 1. Excel öffnen 2. Formular laden 3. Daten manipulieren 4. Als PDF speichern 5. Excel schließen Bis bald Chemiker |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 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