標題:
[發問]
刪除特定物件
[打印本頁]
作者:
li_hsien
時間:
2013-12-13 17:29
標題:
刪除特定物件
請問各位大大
小弟我用了一些語法插入物件(.pdf)到儲存格中
DisplayAsIcon:=True, IconFileName:= _
"C:\WINDOWS\Installer\{AC76BA86-7AD7-1028-7B44-A93000000001}\PDFFile_8.ico", _
IconIndex:=0, IconLabel:=icon_name1).Select
複製代碼
我現在想設個reset鍵
讓所有的.pdf檔一次刪除掉
請問這語法該怎麼撰寫呢???
一直試不出來
我用了ActiveSheet.OLEObjects.delete
結果全部物件都刪了XDD
請問該如何指定只刪.pdf的檔案??
謝謝 : )
作者:
wl02353427
時間:
2013-12-13 20:26
回復
1#
li_hsien
若是選取儲存格刪除的話應該是
ActiveSheet.Select
Selection.ClearContents
複製代碼
作者:
li_hsien
時間:
2013-12-16 08:18
回復
2#
wl02353427
謝謝w的回覆 : )
不過我是要刪掉儲存格中的物件
而非儲存格的內容
此做法應該只能清掉儲存格的內容而已
作者:
Hsieh
時間:
2013-12-16 15:56
Sub ex()
Dim Ob As OLEObject
With 工作表1
For Each Ob In .OLEObjects
If Ob.OLEType = xlOLELink Then
ar = Split(Ob.SourceName, ".")
If ar(UBound(ar)) = "pdf!'" Then Ob.Delete
End If
Next
End With
End Sub
複製代碼
回復
3#
li_hsien
作者:
li_hsien
時間:
2013-12-16 18:15
回復
4#
Hsieh
請問板大
我 If Ob.OLEType = xlOLELink Then 這行
一直判斷不進去
不知原因出在哪裡????
作者:
li_hsien
時間:
2013-12-18 08:55
回復
4#
Hsieh
我現在才發現通知
附檔的有點晚
[attach]17076[/attach]
在A欄位填上編號
最後按下按鈕
會把PDF檔抓進來到B欄
我想設個RESET按鈕
讓所附的PDF檔可以清除掉
麻煩大大幫我看看
謝謝 : )
作者:
li_hsien
時間:
2013-12-19 09:19
回復
7#
nissin
[attach]17081[/attach]
我的作法是在A欄輸入所要的PDF檔名
按下按鈕
在特定路徑搜尋PDF檔
放到B欄位裡面
以下是我附檔的方式
Private Sub Attach_File_Click()
For i = 2 To Range("A65536").End(xlUp).Row
Range("B" & i).Select
icon_name = Range("A" & i)
Path = "C:\Documents and Settings\hsien.li\桌面\"
Filename = Path & icon_name & ".pdf"
'報告存否
If Dir(Filename) <> "" Then
ActiveSheet.OLEObjects.Add(Filename:=Filename, Link:=False, Link:=False, _
DisplayAsIcon:=True, IconFileName:= _
"C:\WINDOWS\Installer\{AC76BA86-7AD7-1028-7B44-A93000000001}\PDFFile_8.ico", _
IconIndex:=0, IconLabel:=icon_name).Select
Else
Range("B" & i) = "找不到" & icon_name & "檔案"
End If
Debug.Print icon_name
Next
MsgBox "整理完成"
End Sub
複製代碼
麻煩大大 幫我看看
謝謝 : )
作者:
Hsieh
時間:
2013-12-19 09:54
本帖最後由 Hsieh 於 2013-12-19 09:56 編輯
回復
6#
li_hsien
Sub AddObject() '加入PDF檔案物件
Dim A As Range, f$, fd$, fn$
Application.ScreenUpdating = False
For Each A In Range([A2], [A2].End(xlDown))
fd = ThisWorkbook.Path & "\"
f = Dir(fd & A & ".pdf")
fn = fd & f
MyIcon = "C:\Windows\Installer\{AC76BA86-7AD7-1028-7B44-AA1000000001}\PDFFile_8.ico" '我的圖示檔位置
'MyIcon = "C:\WINDOWS\Installer\{AC76BA86-7AD7-1028-7B44-A93000000001}\PDFFile_8.ico"'你的圖示檔位置
A.Offset(, 1) = ""
If f <> "" Then
With ActiveSheet.OLEObjects.Add(Filename:= _
fn, Link:=False, DisplayAsIcon _
:=True, IconFileName:= _
MyIcon, _
IconIndex:=0, IconLabel:=fn)
.Left = A.Offset(, 1).Left
.Top = A.Top
End With
Else
A.Offset(, 1) = "找不到檔案" & A & ".pdf"
End If
Next
End Sub
Sub DeletObject() '刪除PDF
Dim Ob As OLEObject
For Each Ob In ActiveSheet.OLEObjects
If Ob.progID = "AcroExch.Document.7" Then Ob.Delete
Next
MsgBox "整理完成"
End Sub
複製代碼
作者:
li_hsien
時間:
2013-12-23 08:18
回復
8#
Hsieh
謝謝板大
可以刪除了
想請問一下
If Ob.progID = "AcroExch.Document.7"
是找PDF檔的意思嗎???
.progID主要是指什麼呀
簡潔有力的語法
謝謝 : )
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)