2013-12-19 153 views
1

我一直在試圖修改這個腳本來獲取PDF文件並將其作爲圖像插入到活動工作表中。但它不斷創建一個新的工作簿並插入到新書中。在給定的Excel工作表中插入pdf文件作爲圖像

有人可以幫我修改這個腳本,以便將pdf作爲圖像插入到名爲「report」的工作表中。

子insert_pdf_to_report()

昏暗XL 昏暗Wb的 昏暗Ws的 昏暗的011

Sheets("Report").Activate 

Set Xl = CreateObject("Excel.Application") 
Set Wb = Xl.Workbooks.Add 
Set Ws = Wb.Worksheets.Add 
Set Ol = Ws.OLEObjects.Add(, "C:\QGC_HSSE\template.pdf", True, False) 

    With Ol 
     .Left = Ws.Range("A1").Left 
     .Height = Ws.Range("A1").Height 
     .Width = Ws.Range("A1").Width 
     .Top = Ws.Range("A1").Top 
    End With 

    Sheets("Report").Activate 
Xl.Visible = True 

末次

回答

1

你可以試試這個?

Sheets("Report").Activate 

Set Ws = ActiveWorkbook.Worksheets("Report") 
Set Ol = Ws.OLEObjects.Add(, "/Users/tcan/Farewell-dinner.jpg", True, False) 

... 

與您的代碼的問題是,這些聲明:

Set Xl = CreateObject("Excel.Application") 
Set Wb = Xl.Workbooks.Add 
Set Ws = Wb.Worksheets.Add 

創建一個新的工作簿和新的WB內部的工作表。

我沒有excel來測試這個,但我認爲我的代碼可能會按照您的期望工作,方法是刪除創建新工作簿的命令。

乾杯。

+0

這工作表示感謝,但它會導致與OLE對象不關閉該文件的問題,因此重複的代碼PDf被鎖定和圖像顯示爲空白。我已經編寫了一個腳本來支持文件的解鎖,以防止在重複運行宏時插入空白對象。 –

相關問題