2017-06-05 38 views
0

我已經將PDF嵌入到了我的工作簿中,並且我需要一個將打開嵌入式PDF到特定頁面的代碼。將嵌入式PDF打開到特定頁面

PDF需要嵌入到工作表中,因爲它必須發送到組織外部;我不想發送帶有工作表和PDF的ZIP文件。

到目前爲止,這是我爲打開嵌入式PDF所做的工作,此時此工作正常。

「對象2」是嵌入式PDF的名稱。

Sub Macro1() 

    ActiveSheet.Shapes("Object 2").Select 

    Selection.Verb Verb:=xlPrimary 

End Sub 

如果有人可以幫助打開PDF文件到一個很好的頁面。

回答

0

什麼:

Public Sub InsertPdf(PdfFileName As String) 
Dim b As OLEObject 

    Set b = ActiveSheet.OLEObjects.Add(fileName:=PdfFileName, Link:=False, DisplayAsIcon:=False) 
    b.Left = 0 
    b.Top = 0 

End Sub 

編輯: 後再次我想在這裏仔細閱讀是代碼,您需要:

Public Function OpenPdf(SheetName As String) 
Dim ws As Worksheet 
Dim shp As Shape 

    Set ws = ActiveWorkbook.Sheets(SheetName) 

    For Each shp In ws.Shapes 
     If shp.Type = msoEmbeddedOLEObject Then 
      shp.Select 
      Selection.Verb Verb:=xlPrimary 
      Exit For 
     End If 
    Next 

End Function 

用法:

OpenPdf("Sheet2") 
+0

對不起@ smartobelix,但該代碼不起作用。 – jake94

+0

我現在在Excel 2010上測試它,它工作正常。調用:'InsertPdf「c:\ temp \ test.pdf」'插入到活動工作表test.pdf中,並將其嵌入到文件中。你能提供錯誤信息還是什麼不工作?也許我誤解了你想達到的目標。 – smartobelix

+0

嗨@smartobelix,這段代碼不會打開到特定頁面。 – jake94