返回列表 上一主題 發帖

[發問] 刪除特定物件

[發問] 刪除特定物件

請問各位大大

小弟我用了一些語法插入物件(.pdf)到儲存格
  1.     DisplayAsIcon:=True, IconFileName:= _
  2.                     "C:\WINDOWS\Installer\{AC76BA86-7AD7-1028-7B44-A93000000001}\PDFFile_8.ico", _
  3.                     IconIndex:=0, IconLabel:=icon_name1).Select
複製代碼
我現在想設個reset鍵

讓所有的.pdf檔一次刪除掉

請問這語法該怎麼撰寫呢???

一直試不出來
我用了ActiveSheet.OLEObjects.delete
結果全部物件都刪了XDD

請問該如何指定只刪.pdf的檔案??

謝謝  :  )
用功到世界末日那一天~~~

回復 1# li_hsien


若是選取儲存格刪除的話應該是
  1.     ActiveSheet.Select
  2.     Selection.ClearContents
複製代碼
初新者~指教囉~

TOP

回復 2# wl02353427

謝謝w的回覆  :  )

不過我是要刪掉儲存格中的物件

而非儲存格的內容

此做法應該只能清掉儲存格的內容而已
用功到世界末日那一天~~~

TOP

  1. Sub ex()
  2. Dim Ob As OLEObject
  3. With 工作表1
  4. For Each Ob In .OLEObjects
  5.    If Ob.OLEType = xlOLELink Then
  6.       ar = Split(Ob.SourceName, ".")
  7.       If ar(UBound(ar)) = "pdf!'" Then Ob.Delete
  8.    End If
  9. Next
  10. End With
  11. End Sub
複製代碼
回復 3# li_hsien
學海無涯_不恥下問

TOP

[版主管理留言]
  • Hsieh(2013-12-16 19:05): 請上傳檔案

回復 4# Hsieh


請問板大

我 If Ob.OLEType = xlOLELink Then 這行

一直判斷不進去

不知原因出在哪裡????
用功到世界末日那一天~~~

TOP

回復 4# Hsieh

我現在才發現通知

附檔的有點晚

Attach File.zip (36.33 KB)

在A欄位填上編號

最後按下按鈕

會把PDF檔抓進來到B欄

我想設個RESET按鈕

讓所附的PDF檔可以清除掉

麻煩大大幫我看看

謝謝  :  )
用功到世界末日那一天~~~

TOP

回復 7# nissin



我的作法是在A欄輸入所要的PDF檔名

按下按鈕

在特定路徑搜尋PDF檔

放到B欄位裡面

以下是我附檔的方式
  1. Private Sub Attach_File_Click()

  2.     For i = 2 To Range("A65536").End(xlUp).Row
  3.    
  4.     Range("B" & i).Select
  5.     icon_name = Range("A" & i)
  6.             
  7.     Path = "C:\Documents and Settings\hsien.li\桌面\"
  8.     Filename = Path & icon_name & ".pdf"
  9.             
  10.         '報告存否
  11.         If Dir(Filename) <> "" Then
  12.             ActiveSheet.OLEObjects.Add(Filename:=Filename, Link:=False, Link:=False, _
  13.                 DisplayAsIcon:=True, IconFileName:= _
  14.                 "C:\WINDOWS\Installer\{AC76BA86-7AD7-1028-7B44-A93000000001}\PDFFile_8.ico", _
  15.                 IconIndex:=0, IconLabel:=icon_name).Select
  16.         Else
  17.             Range("B" & i) = "找不到" & icon_name & "檔案"
  18.         End If
  19.         
  20.         Debug.Print icon_name
  21.       
  22.     Next
  23.    
  24.     MsgBox "整理完成"

  25. End Sub
複製代碼
麻煩大大 幫我看看

謝謝  :  )
用功到世界末日那一天~~~

TOP

本帖最後由 Hsieh 於 2013-12-19 09:56 編輯

回復 6# li_hsien
  1. Sub AddObject() '加入PDF檔案物件
  2. Dim A As Range, f$, fd$, fn$
  3. Application.ScreenUpdating = False
  4. For Each A In Range([A2], [A2].End(xlDown))
  5. fd = ThisWorkbook.Path & "\"
  6. f = Dir(fd & A & ".pdf")
  7. fn = fd & f
  8. MyIcon = "C:\Windows\Installer\{AC76BA86-7AD7-1028-7B44-AA1000000001}\PDFFile_8.ico" '我的圖示檔位置
  9. 'MyIcon = "C:\WINDOWS\Installer\{AC76BA86-7AD7-1028-7B44-A93000000001}\PDFFile_8.ico"'你的圖示檔位置
  10. A.Offset(, 1) = ""
  11. If f <> "" Then
  12.     With ActiveSheet.OLEObjects.Add(Filename:= _
  13.         fn, Link:=False, DisplayAsIcon _
  14.         :=True, IconFileName:= _
  15.         MyIcon, _
  16.         IconIndex:=0, IconLabel:=fn)
  17.         .Left = A.Offset(, 1).Left
  18.         .Top = A.Top
  19.         End With
  20.         Else
  21.         A.Offset(, 1) = "找不到檔案" & A & ".pdf"
  22. End If
  23. Next
  24. End Sub
  25. Sub DeletObject() '刪除PDF
  26. Dim Ob As OLEObject
  27. For Each Ob In ActiveSheet.OLEObjects
  28.    If Ob.progID = "AcroExch.Document.7" Then Ob.Delete
  29. Next
  30. MsgBox "整理完成"
  31. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 8# Hsieh

謝謝板大

可以刪除了

想請問一下

If Ob.progID = "AcroExch.Document.7"
是找PDF檔的意思嗎???
.progID主要是指什麼呀


簡潔有力的語法
謝謝  :  )
用功到世界末日那一天~~~

TOP

        靜思自在 : 【時間如鑽石】時間對一個有智慧的人而言,就如鑽石般珍貴;但對愚人來說,卻像是一把泥土,一點價值也沒有。
返回列表 上一主題