Öppna PDF-filer
Här visas ett flertal möjliga lösningar för att visa PDF-filer genom VBA i Excel. Idag finns det ett utbud av olika program för att hantera s k PDF-filer. Det ledande programmet utgörs fortfarande av Adobe Acrobat, vilket gör att samtliga exemplen utgår från denna programvara och att vi måste ha den installerad för att exemplena ska fungera.
Generell procedur
Detta är den mest generella proceduren och som kan användas när andra alternativ endera inte fungerar eller inte är möjliga. Som framgår utgår den från API.
Option Explicit
Public 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
Sub Oppna_PDF()
ShellExecute 0, "open", "e:\Datahantering.pdf", "", "", 1
End Sub
Shell-funktionenHär använder vi en annan teknik där vi mha av Shell-funktionen öppnar PDF-filen.
Sub Oppna_PDF1()
'© 2002 Alla rättigheter XL-Dennis
Dim dbRetValue As Double
Dim stAdobeExe As String, stFileName As String
stAdobeExe = "C:\Program\Adobe\Acrobat 5.0\Acrobat\Acrobat.exe"
stFileName = "e:\Datahantering.pdf"
dbRetValue = Shell(stAdobeExe & " " & stFileName, vbMaximizedFocus)
End Sub
Adobe Acrobat bibliotekHär anger vi först en referens till Adobe Acrobat x.0 bibliotek som vi sedan nyttjar i proceduren enligt följande:
Sub Oppna_PDF2()
'© 2002 Alla rättigheter XL-Dennis
Dim AcroApp As Acrobat.CAcroApp
Dim PDDoc As Acrobat.CAcroPDDoc
Dim avDoc As Acrobat.CAcroAVDoc
Set AcroApp = CreateObject("AcroExch.App")
Set PDDoc = CreateObject("AcroExch.PDDoc")
If PDDoc.Open("e:\Datahantering.pdf") Then
AcroApp.Show
Set avDoc = PDDoc.OpenAVDoc("")
Else
MsgBox "Unable to open the PDF-file", vbInformation
End If
Set avDoc = Nothing
Set PDDoc = Nothing
Set AcroApp = Nothing
End Sub