AGB  ·  Datenschutz  ·  Impressum  







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

Aktives Excel Workbook umbenennen

Ein Thema von Steffen0917 · begonnen am 21. Mai 2011 · letzter Beitrag vom 23. Mai 2011
Antwort Antwort
Steffen0917

Registriert seit: 20. Jun 2005
64 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Aktives Excel Workbook umbenennen

  Alt 21. Mai 2011, 13:32
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
Steffen
  Mit Zitat antworten Zitat
Jumpy

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

AW: Aktives Excel Workbook umbenennen

  Alt 21. Mai 2011, 21:00
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.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von rainerg
rainerg

Registriert seit: 5. Aug 2002
Ort: Hannover
82 Beiträge
 
Delphi XE Starter
 
#3

AW: Aktives Excel Workbook umbenennen

  Alt 21. Mai 2011, 21:50
Stell doch deinen User vorher einfach per Dialog die Frage, ob er speichern möchte.
Rainer G. aus H.
www.BunteReisebilder.de
  Mit Zitat antworten Zitat
Steffen0917

Registriert seit: 20. Jun 2005
64 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Aktives Excel Workbook umbenennen

  Alt 21. Mai 2011, 21:58
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
Steffen
  Mit Zitat antworten Zitat
Jumpy

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

AW: Aktives Excel Workbook umbenennen

  Alt 22. Mai 2011, 20:16
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...
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Aktives Excel Workbook umbenennen

  Alt 23. Mai 2011, 20:20
Hallo Steffen0917,

ab Excel 2007 kann man die Datei auch direkt als PDF speichern.
Zum Bleistift:

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
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 06:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz