Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
636to640
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
636to640
636to640
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

aus excel auf acrobat zugreifen

aus excel auf acrobat zugreifen
15.07.2005 07:27:25
Katja
Guten Morgen zusammen,
ich habe gestern folgenden Beitrag zu dem gleichen thema gepostet. Leide konnte mir keiner eine antwort geben :-(.
https://www.herber.de/forum/messages/637253.html
Ich versuch es einfach nochmal: Kann ich aus Excel heraus eine pdf-Datei im Acrobat Reader öffnen und unter einem bestimmten Namen abspeichern lassen?
Ich finde leider weder in der Hilfe noch mit google Infos zu diesem Thema.
Vielen Dank vorab,
mfg Katja

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: aus excel auf acrobat zugreifen
15.07.2005 07:48:35
Heiko
Hallo Katja,
es ginge z.B. so, darin müsstest du natürlich die Pfade anpassen.

Sub StartPDF()
Dim Result
Application.SendKeys ("^+s")
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE C:\Multisim\GetStart.PDF", 1)
' MsgBox Result
End Sub

Mit Application.SendKeys ("^+s") wird an der Reader STRG + UMSCHALTTASTE + S geseendet, was dann gleich denn Dialog "Datei speichern unter" öffnet.
Aber nun wird es schwierig, den Namen unter dem du speichern willst würdest du mit Sendkeys vielleicht auch noch "senden" können. Aber das Verzeichniss auszuwählen wohin du speichern willst, per Sendkeys, wird sich als schwierig und ziemlich unsicher gestalten.
Also vielleicht doch nur mit obigen Makro den Reader aufrufen und dann händisch im Reader alles abarbeiten und Reader wieder schliessen.
Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
Noch ein Frage bitte....
15.07.2005 08:06:50
Katja
Hallo Heiko,
vielen Dank für deine Infos. der code funktioniert einwandfrei. Aber weißt du wie ich evtl. den Pfad senden könnten und den Dateinamen?
Das Problem ist folgendes:
bisher wird jede einzelne pdf geöffnet, unter "speichern unter" das Verzeichnis geöffnet, und der Name (fest vorgegebenes Schema) manuell eingetippt.
Das ist sehr zeitaufwändig.
Deshalb dachte ich daran, das ganze via VBA zu automatisieren. Dann wählt der user den Pfad anhand von Listboxen aus, und die Datei wird automatisch abgespeichert.
WEnn sich nur das Fenster "Speichern unter" öffnet, ist der Auwand genau derselbe wie ohne Makro.
Oder gibt es hinter Adobe evtl. eine andere Programmiersprache?
Vielen Dank für deine Hilfe,
mfg Katja
Anzeige
Erweiterung
15.07.2005 08:27:48
Heiko
Hallo Katja,
damit sollte sich die Tipparbeit verringern lassen.

Sub StartPDF()
Dim Result
Dim strPfadUndDatei As String
' Speichern unter aufrufen
Application.SendKeys ("^+s")
' Pfad und Datei irgendwo auslesen, z.B auch als Value aus einer Listbox
strPfadUndDatei = "C:\Copy\TestTest.pdf"
' Pfad übergeben
Application.SendKeys (strPfadUndDatei)
' Zum Speichern Button springen unter ENTER
Application.SendKeys ("{TAB}{TAB}~")
' Reader wieder schließen
Application.SendKeys ("^q")
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE C:\Multisim\GetStart.PDF", 1)
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: Erweiterung
15.07.2005 08:40:49
Katja
Hallo Heiko,
das wärre genau das was ich suche...
Aber: Ich weiß nicht wo das ganze abgespeichert wird. Auf jeden Fall nicht unter meinem Pfad den ich eingegeben habe?
strPfadUndDatei = "H:\Adobe\Acrobat\testtest.pdf"
Was mache ich falsch?
vielen Dank für deine Mühe,
Katja
AW: Erweiterung
15.07.2005 08:54:10
Heiko
Hallo Katja,
kann dir mit der einen Zeile leider nicht viel helfen, wenn der Pfad exestiert und die Datei testtest.pdf noch nicht dann müßte das mit meinem Makro eigentlich laufen. Oder hast sonst noch was geändert.
Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Erweiterung
15.07.2005 09:31:53
Katja
Hallo Heiko,
du bist aber schnell... Also das Programm läuft durch, aber es ist keine Datei in meinem Verzeichnis...
Mein Code lautet:

Private Sub CommandButton1_Click()
Dim Result
Dim strPfadUndDatei As String
' Speichern unter aufrufen
Application.SendKeys ("^+s")
' Pfad und Datei irgendwo auslesen, z.B auch als Value aus einer Listbox
strPfadUndDatei = "H:\Adobe\Acrobat\testtest2.pdf"
' Pfad übergeben
Application.SendKeys (strPfadUndDatei)
' Zum Speichern Button springen unter ENTER
Application.SendKeys ("{TAB}{TAB}~")
' Reader wieder schließen
Application.SendKeys ("^q")
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE L:\BL_Einkauf\Ablage 2005\Angebote\Lieferanten\N\Nurmi\04-25.pdf", 1)
End Sub

mfg Katja
Anzeige
AW: Erweiterung
15.07.2005 09:39:41
Heiko
Hallo Katja,
also schauen wir mal:

Private Sub CommandButton1_Click()
Dim Result
Dim strPfadUndDatei As String
' Speichern unter aufrufen
Application.SendKeys ("^+s")
' Pfad und Datei irgendwo auslesen, z.B auch als Value aus einer Listbox
strPfadUndDatei = "H:\Adobe\Acrobat\testtest2.pdf"
' Pfad übergeben
Application.SendKeys (strPfadUndDatei)
' Zum Speichern Button springen unter ENTER
' Application.SendKeys ("{TAB}{TAB}~")
' Reader wieder schließen
' Application.SendKeys ("^q")
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE L:\BL_Einkauf\Ablage 2005\Angebote\Lieferanten\N\Nurmi\04-25.pdf", 1)
End Sub

lass das mal so durchlaufen und schaue nach ob der Pfad mit Datei wirklich im Speichern Unter Dialog als Dateiname: eingetragen ist.
Wenn ja, dann drück ZWEI mal auf die TAB Taste und guck nach mal auf dem Speichern Button gelandet bist, dann ENTER und nachschauen ob die Datei nun da ist wo sie hin soll.
Dann sehen wir mal weiter.
Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: Erweiterung
15.07.2005 09:52:26
Katja
Hallo Heiko,
also, im Feld 'speichern unter' steht "04-25.pdf".
Der Pfad, welcher automatisch angezeigt wird, ist der unter welchem ich vorhin eine andere Datei abgespeichert habe, nicht
'strPfadUndDatei = "H:\Adobe\Acrobat\testtest2.pdf" '.
Allerdings möchte ich diese Datei im Laufwerk L:\ doch öffnen und unter
"strPfadUndDatei = "H:\Adobe\Acrobat\testtest2.pdf" speichern.
Habe ich da etwas vertauscht?
Ein weiteres Problem ist, dass wenn ich den Code laufen lasse, piept mein PC wie verrückt (So wie wenn man eine Email bekommt, bzw. sich ein Popup-Fenster öffnet nur ca. 20mal...).
mfg Katja
Anzeige
AW: Erweiterung
15.07.2005 10:16:24
Heiko
Hallo Katja,
der Reader darf vor dem ablaufen des Makros natürlich NICHT geöffnet sein.
Ist das bei dir der Fall ?!
Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Erweiterung
15.07.2005 11:01:09
Katja
Hallo Heiko
mit folgendem Code...

Private Sub CommandButton1_Click()
Dim Result
Dim strPfadUndDatei As String
' Speichern unter aufrufen
Application.SendKeys ("^+s")
' Pfad und Datei irgendwo auslesen, z.B auch als Value aus einer Listbox
strPfadUndDatei = "H:\Adobe\Acrobat\testtest2.pdf"
' Pfad übergeben
Application.SendKeys (strPfadUndDatei)
' Zum Speichern Button springen unter ENTER
' Application.SendKeys ("{TAB}{TAB}~")
' Reader wieder schließen
' Application.SendKeys ("^q")
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE L:\BL_Einkauf\Ablage 2005\Angebote\Lieferanten\N\Nurmi\04-25.pdf", 1)
End Sub

...passiert folgendes:
-das piepsen hat aufgehört, als ich den Acrobat Reader geschlossen habe, sorry...
- aber es öffnet sich kein Dialogfenster zum Speichern unter, stattdessen kommt die Meldung "In dieser Version dürfen sie Änderungen nur mit der Vollversion von Acrobat speichern. Möchten sie fortfahren? Dann bestätige ich mit enter.
- jetzt öffnet sich das dialogfenster und der Inhalt stellt sich so dar, wie ich es im vorigen Beitrag beschrieben habe. Also der richtige Speicherpfad ist noch nicht eingetragen.
mfg Katja
PS: Ich hatte gerade Besprechung, deshalb hat es länger gedauert. Und gleich ist die nächst bis ca. halb zwölf/zwölf. Ich meld mich aber sicher wieder...
Anzeige
AW: Erweiterung
15.07.2005 11:14:17
Heiko
Hallo Katja,
ich sagte ja Sendkeys ist keine zuverlässige / sichere Angelegenheit.
Zitat von dir:
- aber es öffnet sich kein Dialogfenster zum Speichern unter, stattdessen kommt die Meldung "In dieser Version dürfen sie Änderungen nur mit der Vollversion von Acrobat speichern. Möchten sie fortfahren? Dann bestätige ich mit enter.
In dieser Abfrage ist eine Checkbox, in der du anwählen kannst "diese Meldung nicht mehr anzeigen" (oder so ähnlich). Aktiviere diese Checkbox schließe den Reader und dann nochmal von EXCEL aus mein Makro starten, dann sollte es eigentlich laufen.
Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: Erweiterung
15.07.2005 12:12:15
Katja
Hallo Heiko,
mich verlässt so langsam der Mut....
Wenn ich das so machen will passiert gar nichts. Mit

Private Sub CommandButton1_Click()
Dim Result
Dim strPfadUndDatei As String
' Speichern unter aufrufen
Application.SendKeys ("^+s")
' Pfad und Datei irgendwo auslesen, z.B auch als Value aus einer Listbox
strPfadUndDatei = "H:\Adobe\Acrobat\testtest2.pdf"
' Pfad übergeben
Application.SendKeys (strPfadUndDatei)
' Zum Speichern Button springen unter ENTER
' Application.SendKeys ("{TAB}{TAB}~")
' Reader wieder schließen
' Application.SendKeys ("^q")
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE L:\BL_Einkauf\Ablage 2005\Angebote\Lieferanten\N\Nurmi\04-25.pdf", 1)
End Sub

...passiert gar nichts. Es öffnet sich kein Meldungsfenster automatisch, in dem ich den Speicherpfad kontrollieren könnte... Nicht einmal eine Fehlermeldung erscheint :-) ...
Ich trau mich schon fast nicht mehr dich zu nerven. Bin ich unfähig?
lg Katja
Anzeige
AW: Erweiterung
15.07.2005 12:39:36
Heiko
Hallo Katja,
nur nicht den Mut verlieren.
Also folgende Bedingungen müssen vorher erfüllt sein.
Reader MUSS geschlossen sein.
Der Pfad zum Reader muss natürlich stimmen:
C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE
Der Pfad zur Datei die du öffnest muss korrekt sein:
L:\BL_Einkauf\Ablage 2005\Angebote\Lieferanten\N\Nurmi\04-25.pdf"
Der Pfad wohin zu das Ding speichern willst muss korrekt sein:
"H:\Adobe\Acrobat\testtest2.pdf"
Und du mußt natürlich den ersten Code mit Dateipfad von mir nehmen, also diesen hier.

Private Sub CommandButton1_Click()
Dim Result
Dim strPfadUndDatei As String
' Speichern unter aufrufen
Application.SendKeys ("^+s")
' Pfad und Datei irgendwo auslesen, z.B auch als Value aus einer Listbox
strPfadUndDatei = "H:\Adobe\Acrobat\testtest2.pdf"
' Pfad übergeben
Application.SendKeys (strPfadUndDatei)
' Zum Speichern Button springen unter ENTER
Application.SendKeys ("{TAB}{TAB}~")
' Reader wieder schließen
Application.SendKeys ("^q")
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE L:\BL_Einkauf\Ablage 2005\Angebote\Lieferanten\N\Nurmi\04-25.pdf", 1)
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Erweiterung
15.07.2005 13:25:59
Katja
Hallo Heiko,
ich habe genau den Code kopiert von dir eben. es erscheint keine Fehlermeldung aber auch keine gespeicherte Datei im H.\-Verzeichnis :-( ...
Was mir aufgefallen ist: Wenn ich das Programm im Haltemodus durchführe, passiert folgendes:

Private Sub CommandButton1_Click()
Dim Result
Dim strPfadUndDatei As String
' Speichern unter aufrufen
Application.SendKeys ("^+s")
' Pfad und Datei irgendwo auslesen, z.B auch als Value aus einer Listbox
strPfadUndDatei = "H:\Adobe\Acrobat\testtest2.pdf"
' Pfad übergeben
Application.SendKeys (strPfadUndDatei)
' Zum Speichern Button springen unter ENTER
H:\Adobe\Acrobat\testtest2.pdfApplication.SendKeys ("{TAB}{TAB}~") <=Fehler!!!!!
' Reader wieder schließen
Application.SendKeys ("^q")
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE L:\BL_Einkauf\Ablage 2005\Angebote\Lieferanten\N\Nurmi\04-25.pdf", 1)
End Sub

In der mit => Fehler!!! markierten Zeile.
Wenn ich mit F8 durchwechsle, sieht es aus als ob das Programm die Tabs sofort durchführt. Ist das normal?
Aber auch ohne Haltemodus funktioniert es nicht....
Naja, was machen wir jetzt?
mfg Katja
AW: Erweiterung
15.07.2005 13:28:38
Heiko
Hallo,
wird damit der Reader mit der gewünschten Datei geöffnet ?!

Private Sub CommandButton1_Click()
Dim Result
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE L:\BL_Einkauf\Ablage 2005\Angebote\Lieferanten\N\Nurmi\04-25.pdf", 1)
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Erweiterung
15.07.2005 13:33:48
Katja
Hallo,
ja, das seh ich an der Taskleiste unten. Und vorhin, als ich den "reduzierten Code" von dir laufen lies. Wurde der Reader auch geöffnet. Die Datei 04-25.pdf ist auch geöffnet.
Nur das speichern klappt nicht. der Pfad stimmt. Der Ordner ...acrobat ist leer...
lg Katja
AW: Erweiterung
15.07.2005 13:46:27
Heiko
Hallo
nun gehen mir auch langsam die Ideen aus, probiere nochmal diese Version. Bitte hier rauskopieren, kleine Änderungen drin !!!
Damit solltest du eigentlich dann den Reader sehen mit dem geöffneten "Kopie Speichern Unter ... " Fenster und bei Objektname: Den Pfad mit Datei. Is das so ?!

Private Sub CommandButton1_Click()
Dim Result
Dim strPfadUndDatei As String
' Speichern unter aufrufen
Application.SendKeys ("^+s")
' Pfad und Datei irgendwo auslesen, z.B auch als Value aus einer Listbox
strPfadUndDatei = "H:\Adobe\Acrobat\testtest2.pdf"
' Pfad übergeben
Application.SendKeys (strPfadUndDatei)
' Zum Speichern Button springen unter ENTER
' Application.SendKeys ("{TAB}{TAB}~")
' Reader wieder schließen
' Application.SendKeys ("^q")
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE L:\BL_Einkauf\Ablage 2005\Angebote\Lieferanten\N\Nurmi\04-25.pdf", 3)
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Erweiterung
15.07.2005 13:52:26
Katja
Hallo Heiko,
ja das Fenster erschein,ja die richtige Datei wurde geöffnet,
nein der Pfad ist nicht eingetragen.
Dann liegt es wohl daran, dass der Pfad nicht eingetragen wurde. Dann kann es wohl auch nicht speichern :-( ... fragt sich nur warum der Pfad bei Objektname nicht eingtragen ist?! Es steht der aktuelle Dateiname drin 04-25.. Das Verzeichnis stimmt auch nicht...
Aber selbst in diesem falschen Verzeichnis wird die Datei 04-25 nicht abgespeichert.
mfg Katja
AW: Erweiterung
15.07.2005 14:00:31
Heiko
Hallo
noch ein Versuch. Wenn du das ablaufen läßt, dann sollte wieder das "Kopie Speichern Unter ... " Fenster offen sein und bei Objektname, der Dateiname 04-25 blau hinterlegt sein. Is das so? Wenn nicht, kannst du mir beschreiben (oder eine Screenshot machen) welches Feld aktiv ist.

Private Sub CommandButton1_Click()
Dim Result
Dim strPfadUndDatei As String
' Speichern unter aufrufen
Application.SendKeys ("^+s")
' Pfad und Datei irgendwo auslesen, z.B auch als Value aus einer Listbox
strPfadUndDatei = "H:\Adobe\Acrobat\testtest2.pdf"
' Pfad übergeben
' Application.SendKeys (strPfadUndDatei)
' Zum Speichern Button springen unter ENTER
' Application.SendKeys ("{TAB}{TAB}~")
' Reader wieder schließen
' Application.SendKeys ("^q")
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE L:\BL_Einkauf\Ablage 2005\Angebote\Lieferanten\N\Nurmi\04-25.pdf", 3)
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Erweiterung
15.07.2005 14:29:39
Heiko
Hallo Katja,
nun bin ich mit meinen Ideen am Ende, so (natürlich mit meinen Pfadangaben) läuft es bei mir Fehlerfrei. Und auch dein Screenshot zeigt mir das das richtige Feld aktiv ist, um den "Kopie speichern unter" Pfad da einzutragen.

Private Sub CommandButton1_Click()
Dim Result
Dim strPfadUndDatei As String
' Speichern unter aufrufen
Application.SendKeys ("^+s")
' Pfad und Datei irgendwo auslesen, z.B auch als Value aus einer Listbox
strPfadUndDatei = "H:\Adobe\Acrobat\testtest2.pdf"
' Pfad übergeben
Application.SendKeys (strPfadUndDatei)
' Zum Speichern Button springen unter ENTER
Application.SendKeys ("{TAB}{TAB}~")
' Reader wieder schließen
Application.SendKeys ("^q")
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE L:\BL_Einkauf\Ablage 2005\Angebote\Lieferanten\N\Nurmi\04-25.pdf", 3)
End Sub

Habe keine Idee mehr, da ich nicht vor deinem Rechner sitze. Schade aber nun mußt du vielleicht selbst mal ein bisschen rumprobieren.
Gruß Heiko

PS: Rückmeldung wäre nett !
Dankeschön.!!!
15.07.2005 14:32:20
Katja
Hallo Heiko,
ich bedanke mich 1000-fach für deine hilfe!!!!
Im Prinzip kann es kein großer Fehler sein, wenn es bei dir problemlos funktioniert.
Ich probiere nochmals dran rum, und wünsche dir ein schönes Wochenende..
mfg Katja
AW: Dankeschön.!!!
15.07.2005 14:43:40
Heiko
Hallo Katja,
letzter Versuch, du mußt natürlich wieder die Pfade für dich anpassen.

Private Sub CommandButton1_Click()
Dim Result
Dim strPfadUndDatei As String
' Speichern unter aufrufen, sendet STRG + UMSCHALT + S
Application.SendKeys "^+s", Wait:=True
' Pfad und Datei irgendwo auslesen, z.B auch als Value aus einer Listbox
strPfadUndDatei = "C:\Copy\TestTest2.pdf"
' Pfad übergeben, sendet die Zeichenfolge in strPfadUndDatei an das aktive Feld
' im  "Kopie Speichern Unter ... " Fenster , diese Feld sollte Objektname: sein.
Application.SendKeys strPfadUndDatei, Wait:=True
' Zum Speichern Button springen unter ENTER, Sendet zweimal den TAB Befehl und dann Enter.
Application.SendKeys "{TAB}{TAB}~", Wait:=True
' Reader wieder schließen, sendet STRG + q um den Reader wieder zu schliessen.
Application.SendKeys "^q", Wait:=True
Result = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.EXE C:\Multisim\GetStart.PDF", 3)
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
Es geht, ich glaub's nicht!!!!!!!!!!!!!
15.07.2005 14:59:52
Katja
Yipiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeeehhhhhhhhhhhhhhhhhhhhhhhh!!!!!!!!
Freu, freu, jetzt mach ich Feierabend :-) ....
Vielen, vielen Dank nochmal für deine Mühe... Zum Glück geht es jetzt doch,
dann hast du deine Zeit nicht umsonst geopfert!
sonnige Grüße aus dem Schwarzwald, Katja

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige