Probleme mit Makrobefehl SendKeys

Hey Leute,
bin neu hier im Forum, also wenn ich irgendwie was faslch mache, gleich draufhauen :wink:

Habe ein Problem mit der SendKeys-Methode in VBA. Habe mir das Zeug selber beigebracht, bin also absolut nich der Pro was das angeht. Ich versuche ein definiertes Tabellenblatt (z.B. „übersicht“) als PDF zu drucken und unter dem Namen Zelle A1 und dem Pfad B2 abzuspeichern. Ich kann dabei allerdings nur auf Adope Acrobat 7.0 Elements sprich den Drucker Adope PDF zurückgreifen. Ghostskript, PDF-Creator usw. keine Chance :frowning:
Habe im Inet auch schon ein bisl recherchiert und viele gut Ansätze gefunden, von denen allerdings keiner mein Problem endgültig lösen konnte.
Mein Code:
Dim Pfad as string
Dim Name as string

Pfad = Range(„B2“)
Name = Range(„A1“)

SendKeys „^p“
Sendkeys „{ENTER}“
Sendkeys Pfad & Name
SendKeys „{ENTER}“, True

Das Makro funktioniert auch, NUR NICHT IMMER und ich habe absolut keine Ahnung wieso. Mache ich etwas falsch? Ich habe im Inet gelesen, dass Sendkeys keine gute Methode ist. Hat das was damit zu tun? Ich hoffe es kann mir jemand bei meinem Problem helfen. Schonmal vielen Dank dass ihr die Zeit verschwendet habt, den Roman hier zu lesen :wink:
Gruß Eco

angeht. Ich versuche ein definiertes Tabellenblatt (z.B.
„übersicht“) als PDF zu drucken und unter dem Namen Zelle A1
und dem Pfad B2 abzuspeichern. Ich kann dabei allerdings nur

Hi Eco,

vermeide SendKeys wenn möglich.

Sub tt()
Dim Pfad As String
Pfad = Range(„A1“) & „“ & Range(„B1“)
Worksheets(„Übersicht“).PrintOut Copies:=1, ActivePrinter:= _
„Adobe PDF auf Ne03:“, PrintToFile:=True, Collate:=True, PrToFileName:=Pfad
End Sub

„Adobe PDF auf Ne03:“ wird bei dir anders sein, macht nix, gehe auf Drucken, stelle den PDF-printer als Drucker ein und beende das mit Klick auf "Schließen.

Dann

sub nn()
msgbox application.activeprinter
end sub

Gruß
Reinhard

Super Reinhard,
Vielen vielen Dank für deine schnelle Hilfe.
Habe prompt versucht deinen Code einzubauen. Habs nur nicht hinbekommen :frowning:
Nachdem er mir eine Fehlermeldung gegeben hat, die mich angewiesen hat in den Druckeinstellungen die Übertragung der Schriften nach Adope PDF wieder zu aktivieren, erzeugt er mir mitlerweile eine Datei im richtigen Ordner.
Allerdings ist das keine PDF-Datei sondern eine Datei ohne Dateityp, die sich dementsprechend auch nicht öffnen lässt. Habe das ganze dann mal versucht indem ich in die Zelle mit dem Namen „.pdf“ angehängt habe, dann erzeugt er zwar eine PDF-Datei, sie sich allerdings auch nicht öffnen lässt. Hast du eine Ahnung wo mein Fehler ist?
Viele Grüße Eco

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Habe prompt versucht deinen Code einzubauen. Habs nur nicht
hinbekommen :frowning:
Nachdem er mir eine Fehlermeldung gegeben hat, die mich
angewiesen hat in den Druckeinstellungen die Übertragung der
Schriften nach Adope PDF wieder zu aktivieren, erzeugt er mir
mitlerweile eine Datei im richtigen Ordner.
Allerdings ist das keine PDF-Datei sondern eine Datei ohne
Dateityp, die sich dementsprechend auch nicht öffnen lässt.
Habe das ganze dann mal versucht indem ich in die Zelle mit
dem Namen „.pdf“ angehängt habe, dann erzeugt er zwar eine
PDF-Datei, sie sich allerdings auch nicht öffnen lässt. Hast
du eine Ahnung wo mein Fehler ist?

Hallo Eco,

ich habe den Adobe PDF Drucker nicht, kann also nix testen.

Manuell ausdrucken mit dem Adobe PDF Drucker klappt ?
Dann müßte an sich der Code auch klappen.

Sorry, direkt helfen kann ich nicht ohne Testmöglichkeiten.

Gruß
Reinhard

Postscript-Datei als PDF umwandeln mit Adobe PDF
Guten Morgen,
Danke nochmal für deine nette Unterstützung.
Manuell ausdrucken mit Adobe PDF klappt, ja kein Problem.

Habe auch mitlerweile herausgefunden was passiert…

Er erzeugt mir eine Postscript-Datei. Nur bringt mich diese Info nur bedingt weiter. Wie ich aus dem Inet gelesen habe, kann man diese Dateien dann nach PDF umwandeln?!
Mein Gedankengang war: Da Adobe PDF als manuelle Funktion ja ohne Probleme PDF’s erstellt, muss im Programm ja die Möglichkeit bestehen die Postscript-Dateien zu konvertieren. Wie kann ich diese Programmfunktion ansteuern? Ist das das selbe wie der Acrobat Distiller?
Welche Möglichkeiten habe ich generell diese Postscript Datein als PDF umzuwandeln? (Ghostscript und Adobe Distiller sind mir aus der Inet Recherche bekannt)
Gruß Eco

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

FreePDF
Hallo Eco,

Manuell ausdrucken mit Adobe PDF klappt, ja kein Problem.

d.h. es wird eine .pdf erstellt, die man dann mit dem kotenlosen Acrobat Reader lesen und ausdrucken kann?

Er erzeugt mir eine Postscript-Datei.

Normal haben die dann die Endung .ps

Nur bringt mich diese
Info nur bedingt weiter. Wie ich aus dem Inet gelesen habe,
kann man diese Dateien dann nach PDF umwandeln?!

Ja. Ich frag mich nur warum deine Adobe Dings nicht gleich eine pdf daraus macht.

Mein Gedankengang war: Da Adobe PDF als manuelle Funktion ja
ohne Probleme PDF’s erstellt, muss im Programm ja die
Möglichkeit bestehen die Postscript-Dateien zu konvertieren.
Wie kann ich diese Programmfunktion ansteuern? Ist das das
selbe wie der Acrobat Distiller?

K.A. gehe mal auf die Seite von Adobe, schau dir an was es da alles so gibt, wenn du da bei 100% der Pakete keinerlei genaue Ahnung hast wofür man das brauchen könnte hast du exakt meinen Wissensstand :smile:)

Welche Möglichkeiten habe ich generell diese Postscript Datein
als PDF umzuwandeln? (Ghostscript und Adobe Distiller sind mir
aus der Inet Recherche bekannt)

Das weiß ich nihct, noch weniger wie man das Ganze dann mit Vba durchführt.

Ich drucke/erstelle keine PDFs. Einzig wegen einer Anfrage ähnlich deiner habe ich mir FreePDF installiert um jmd. mit Vba dabei zu helfen PDFs mittels Vba auf diesem FreePDF Drucker zu drucken also als PDF abzuspeichern.

Das gelang mir auch. Und bei dem FreePDF weiß ich inzwichen durch Austestung, die mir bei Adobe fehlt, wie ich da eine Tabelle als .ps abspeichern kann und dann diese .ps in eine .pdf wandeln kann, oder das auch gleich direkt tun kann.

http://freepdfxp.de/xpDownload.html

Dort habe ich mir dieses Ghostding und Freepdf heruntergeladen und installieren lassen. Klappte alles problemlos was auch gut ist da ich von dem Ghostding Null Ahnung habe was das macht.
Auf dieser Seite gibt es auch ein Ressourcekit, das ist eine zip, darin ist auch eine doc2pdf.txt Datei. darin ist Vba-Code für Word um eine .doc mittels FreePDF als .pdf ausdrucken/speichern zu können.
Diesen Code kann mna leicht umbasteln um eine .xls als .pdf abzuspeichern

Wenn du das installierst könnte ich dir leichter helfen.

Natürlich geht es auch mit dem FreePDF manuell direkt eine PDF zu erstellen so wie mit dem Adobeding, also ohne Vba.

Gruß
Reinhard

Gruß Eco