[算表] VBA如何能正確的刪除物件

看板Office作者 (溫柔殺手)時間7年前 (2018/11/04 21:15), 編輯推噓1(107)
留言8則, 3人參與, 7年前最新討論串1/1
軟體:Excel 版本:2013 各位版上的大大晚上好。 我用下列方法在Excel的工作表中插入物件 Sub ImportPDF(item_number As String, sequency As Integer) ' 插入PDF調整 Dim PDF As Object Dim PDFfilename As String Dim real_locate_row As Integer Dim sheetinfo As String PDFfilename = item_number & ".pdf" real_locate_row = (sequency - 1) * 36 + 1 Set PDF = ActiveSheet.OLEObjects.Add(Filename:=InsertPath & "\" & PDFfilename, Link:=False, DisplayAsIcon:=False) With PDF .Top = ActiveSheet.Cells(real_locate_row, 2).Top .Left = ActiveSheet.Cells(real_locate_row, 2).Left .Width = 260 .Height = 355 End With End Sub 在一個頁面中可能會有多個物件 如果我要進行刪除應該要怎麼做? 看微軟的說明OLEObjects(index).Delete 但是我並不知道index是多少?請問要怎麼用程式去看? 我也曾嘗試過用PDF.Delete,也是不行。 我在想,我不是已經將這個物件叫做PDF了嗎?怎麼還不能Delet? 另外,如果PDF真的可以是一個物件名稱的話,那麼我有多個PDF要插入,能不能建議好 的方法來命名插入的PDF? 這樣我就可以找到正確的物件然後刪除他了。 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.98.141 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1541337326.A.3FA.html

11/04 21:22, 7年前 , 1F
在with內先.name = "自訂名稱字串",如"pdf"
11/04 21:22, 1F

11/04 21:25, 7年前 , 2F
如其他程序sub內刪除的話activesheet.oleobjects("pdf").
11/04 21:25, 2F

11/04 21:25, 7年前 , 3F
delete
11/04 21:25, 3F

11/04 21:26, 7年前 , 4F
收到,感恩。
11/04 21:26, 4F

11/04 21:27, 7年前 , 5F
如要刪除其他工作表的話,再以worksheets或sheets指定
11/04 21:27, 5F

11/04 22:15, 7年前 , 6F
PDF在你的code裡面並不是物件名稱
11/04 22:15, 6F

11/05 09:12, 7年前 , 7F
那麼請教一下,在這個Case中PDF是什麼東西呢?
11/05 09:12, 7F

11/05 09:25, 7年前 , 8F
為變數,dim處有宣告
11/05 09:25, 8F
文章代碼(AID): #1Rtl3kFw (Office)
文章代碼(AID): #1Rtl3kFw (Office)