我在Microsoft Office Professional Plus 2013中使用的是Excel版本。
使用Excel VBA,我想启动Adobe Reader XI并打开另一个文件夹中的pdf文件。
如果Excel文件和Adobe Reader文件位于同一文件夹中,我可以成功打开Adobe Reader文件。这是有效的代码:
Dim ABCfilename As String
Dim returnAcrobatfile As Variant
ABCfilename = "ABC.pdf"
acrobatFile = ThisWorkbook.Path & Application.PathSeparator & ABCfilename
returnAcrobatfile = Shell("C:\Program Files\Adobe\Reader _
11.0\Reader\AcroRd32.exe " & acrobatFile, vbNormalFocus)
但是,我想启动Adobe Reader并对其进行编程以打开位于不同文件夹中的pdf文件。
我的Excel文件位于名为C:\ Customers \ Pricing \
的文件夹中我的Adobe文件位于名为Z:\ XYZ Company \
的文件夹中我应该如何修改以returnAcrobatfile开头的代码行,以便打开位于Z:\ XYZ Company的pdf文件?
答案 0 :(得分:0)
请参阅下面的代码。
Sub PDF_Picker()
Dim Acrobatfile As String
Acrobatfile = GetFile
Runit (Acrobatfile)
End Sub
Sub Runit(FileName As String)
Dim Shex As Object
Dim tgtfile As String
Set Shex = CreateObject("Shell.Application")
tgtfile = FileName
Shex.Open (tgtfile)
End Sub
Function GetFile()
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = ActiveWorkbook.Path & Application.PathSeparator
.AllowMultiSelect = False
.Title = "Select PDF Files"
.Filters.Clear
.Filters.Add "Adobe PDF Files", "*.pdf"
.InitialView = msoFileDialogViewDetails
If .Show = True Then
GetFile = .SelectedItems(1)
Else
GetFile = False
End If
End With
End Function
.Filters.Add "Adobe PDF Files", "*.pdf"
)
您可以使用它来打开任何文件甚至是我刚刚测试过的mp3。