2017-06-05 42 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