AGB  ·  Datenschutz  ·  Impressum  







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

Excel als PDF über Fernsteuerung speichern

Ein Thema von VkPenguin · begonnen am 20. Jan 2013 · letzter Beitrag vom 23. Jan 2013
Antwort Antwort
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#1

Excel als PDF über Fernsteuerung speichern

  Alt 20. Jan 2013, 22:26
Hallo zusammen,
ich arbeite momentan an einem Programm, das unter anderem Excel Dateien als PDF abspeichern soll. Ich habe beim suchen nach einer Lösung schon gesehen, dass es mithilfe von Druckern oder AddIns möglich ist, darauf würde ich aber gerne verzichten.

Normalerweise extrahiere ich die benötigten Befehle einfach aus in Excel erstellten Markos. Daraus ergibt sich in diesem Fall folgender Code:

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\SC5\Desktop\test.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

Meistens genügt es, diesen Code etwas an Delphi anzupassen, also etwa so (Ziel ist ein String, welcher den Pfad enthält):


Delphi-Quellcode:
Excel.ActiveSheet.ExportAsFixedFormat(xlTypePDF, PWideChar(Ziel), xlQualityStandard,
                                               True, False, False)
Hier stosse ich aber an das Problem, dass Delphi (Im Gegensatz zu den meisten Xl... Konstanten) weder XLTypePDF noch xlQualityStandart erkennt. Hat jemand eine Idee, wie ich die Werte der Konstanten herausfinden kann, um diese einzufügen, oder wie ich das Problem anders lösen kann ?

Vielen Dank für die Hilfe!
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#2

AW: Excel als PDF über Fernsteuerung speichern

  Alt 20. Jan 2013, 22:31
Es reicht eigentlich auf MSDN zu suchen.

XlFixedFormatType
Lars
  Mit Zitat antworten Zitat
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#3

AW: Excel als PDF über Fernsteuerung speichern

  Alt 20. Jan 2013, 23:00
Danke erstmal für Deine Antwort

Ich befürchte, das ist eine ziemliche Anfängerfrage, aber was bedeutet das nun?

Das -

Delphi-Quellcode:
Excel.ActiveSheet.ExportAsFixedFormat('PDF', PWideChar(Ziel), 'Standard quality',
                                       True, False, False)
- kann doch nicht gemeint sein oder?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Excel als PDF über Fernsteuerung speichern

  Alt 21. Jan 2013, 00:18
Delphi-Quellcode:
Excel.ActiveSheet.ExportAsFixedFormat(0, PWideChar(Ziel), 0,
                                       True, False, False)
Wenn man schnell mal einen Stapel Konstanten bei Word und Excel braucht kann es hilfreich sein einfach eine Makro zu erstellen und sich den Wert in einer MsgBox anzeigen zu lassen.

Im Menü unter weitere Befehle >> Menüband anpassen >> Entwicklertools anhaken.
Code:
Sub dummy()
  MsgBox (xlTypePDF)
End Sub
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#5

AW: Excel als PDF über Fernsteuerung speichern

  Alt 21. Jan 2013, 00:34
Ah, das ist ein super Tipp, danke Dir! Den werd ich sicher noch öfter brauchen können. Wenn ich es richtig gemacht habe, sind beide Werte in meinem Fall 0, ich habe es also mit

Excel.ActiveSheet.ExportAsFixedFormat(0, PWideChar(Ziel), 0, True, False, False) versucht. Daraufhin bekomme ich aber die Fehlermeldung "Die Zahl muss zwischen 1 und *Größtmöglicher Integer* liegen" und mein Programm gibt folgenden Fehler aus:

---------------------------
Sckg
---------------------------
OLE-Fehler 800A03EC.
---------------------------
OK
---------------------------

Was habe ich denn falsch gemacht ? Da es in Excel Konstanten sind (Oder?) kann es nicht daran liegen, dass sie durch Eingaben, die ich in meinem kleinen Makro nicht berücksichtigt habe, verändert werden...

*EDIT* Oh, ich sehe gerade, Du hast mir die Konstanten ja schon rausgesucht, das hatte ich ganz übersehen, sorry Naja, jetzt hab ich's immerhin auch mal selbst gemacht
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: Excel als PDF über Fernsteuerung speichern

  Alt 21. Jan 2013, 01:07
Das letzte false in dem Aufruf macht den Ärger, wenn Du das PDF nicht anzeigen musst setze dort einfach EmptyParam ein, ansonsten siehe hier:
http://msdn.microsoft.com/en-us/libr...ffice.12).aspx


Mit benannten Parametern kann man sich auf das beschränken was einen interessiert.

xls.ActiveSheet.ExportAsFixedFormat(Type:=0, Filename:='C:\temp\test.pdf', OpenAfterPublish:= true)
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (21. Jan 2013 um 01:15 Uhr)
  Mit Zitat antworten Zitat
VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#7

AW: Excel als PDF über Fernsteuerung speichern

  Alt 23. Jan 2013, 11:01
Das funktioniert, vielen lieben Dank Allerdings erkennt Delphi "Type" automatisch und wirft daher einen Fehler (das Programm wird aber trotzdem gestartet). Die Rote Markierung irritiert aber trotzdem, gibt es einen Weg, das zu ändern?
  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 00:12 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