Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Pdf -bestimmte Seite- öffnen via VBA | Herbers Excel-Forum


Betrifft: Pdf -bestimmte Seite- öffnen via VBA von: Urmila
Geschrieben am: 13.01.2012 10:07:48

Hallo zusammen,

ich hoffe ihr könnt mir weiterhelfen. Habe bereits gegoogelt und nicht vervollständiges gefunden

Im Word kann man ja eine PDF-Datei öffnen, dabei kann man auch die Seite angeben, die beim Öffnen erscheint.

In Word sieht das ganze so aus

HYPERLINK "C:/Beispiel.pdf" \l "#page=5" \* MERGEFORMAT
In Excel weiß ich wie man ein PDF öffnet, aber nicht wie man eine bestimmte Seite, in dem Fall die 5. öffnet.
Dim s
Set s = CreateObject("shell.application")
s.Open "C:\Beispiel.pdf"
Ich habe nur Adobe Reader.

Ich hoffe ihr könnt mir helfen

Danke und LG
Urmila

  

Betrifft: AW: Pdf -bestimmte Seite- öffnen via VBA von: Heiko S.
Geschrieben am: 13.01.2012 10:49:16

Moin Urmila,

ich nutze das in Powerpoint auch mit dem Adobe Reader, wie guckst du hier.
Wenn der Reader schon offen ist wird er in den Vordergrund geholt.
Vielleicht brauchst du auch garnicht alles, wie der Aufrufpfad zusammengestellt wird ist ja unten zu erkennen.

Hier mal ein Doc mit den möglichen Parametern, viel Spaß beim rumprobieren.
https://www.herber.de/bbs/user/78415.doc


Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Private Declare Function SetForegroundWindow Lib "user32.dll" ( _
ByVal hwnd As Long) As Long

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Public Function PDFAnzeigen(intPage As Integer, strPDFDatei As String)
' Ruft den Acrobat Reader auf der angegebenen Seite auf.
' Parameterliste
' intPage = Gibt die Seite im PDF Dokument an die aufgerufen werden soll
' strPDFDatei = Gibt das zu öffnende PDF Dokument an
' Aufruf z.B. so:
' PDFAnzeigen 3, strPathreader
' Ruft das im Pfad angegebenen PDF Dokument auf Seite 3 auf

Dim strParameter As String
On Error GoTo ErrorHandler
' Parameter für den Aufruf des Acrobat Readers zusammenstellen.
strParameter = "/A " & Chr(34) & "page=" & intPage & "&navpanes=0=OpenActions" & Chr(34) & " " & _
 strPDFDatei
' Nun den Acrobat Reader mit den vorher definierten Parametern aufrufen.
ShellExecute 0, vbNullString, "acrord32", strParameter, "C:\", 3
' Reader in den Vordergrund !!!
SetForegroundWindow FindWindow("AcrobatSDIWindow", vbNullString)
Exit Function
ErrorHandler:
MsgBox "Error! Powerpoint can´t open the Acrobat Reader!", vbOKOnly + vbCritical, " Heiko´s  _
Makro Message"
End Function

Gruß Heiko


  

Betrifft: AW: Pdf -bestimmte Seite- öffnen via VBA von: Urmila
Geschrieben am: 13.01.2012 13:42:11

Danke Heiko,

ich werde mal schauen was sich so machen lässt....besser gesagt bin schon die ganze Zeit dran und kriegs nichts hin....

LG
Urmila


  

Betrifft: AW: Pdf -bestimmte Seite- öffnen via VBA von: Heiko S.
Geschrieben am: 13.01.2012 13:52:14

Hallo Urmila,

hier mal um einiges verkürzt, gestartet wird es durch einen Command Button auf einem Excel Tabellenblatt.

Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Private Sub CommandButton1_Click()
Dim strParameter
' Die 5 steht heir für Seite fünf im PDF Dokument der Pfad ist wohl zu erkennen.
strParameter = "/A " & Chr(34) & "page=" & 5 & "&navpanes=0=OpenActions" & Chr(34) & " " & "C:\ _
Copy\Beispiel.pdf"
 ' Nun den Acrobat Reader mit den vorher definierten Parametern aufrufen.
ShellExecute 0, vbNullString, "acrord32", strParameter, "C:\", 3
End Sub

Gruß Heiko


  

Betrifft: Heiko, du bist ein Schatz, danke Dir - LG von: Urmila
Geschrieben am: 15.01.2012 11:28:12

Urmila

:))


Beiträge aus den Excel-Beispielen zum Thema "Pdf -bestimmte Seite- öffnen via VBA"