Board logo

標題: [發問] 自動去除 .References "遺漏" 項;isbroken, Count失效 [打印本頁]

作者: Scott090    時間: 2013-5-15 22:34     標題: 自動去除 .References "遺漏" 項;isbroken, Count失效

本帖最後由 Scott090 於 2013-5-15 22:36 編輯

[attach]14991[/attach]

[attach]14991[/attach]
當有如圖的 遺漏項存在時,下列的指令都失效
Dim i as integer,myref

i = Thisworkbook.VBProject.References.Count

For each myref in Thisworkbook.VBProject.References

請問高手大師,有何方法在 Workbook open 時能把 遺漏的打勾項去除
或者
檢查出遺漏項, remove這遺漏項
作者: Scott090    時間: 2013-5-17 17:38

回復 1# Scott090


    這個問題好像很瞎,沒人想幫忙指導   :(
作者: Hsieh    時間: 2013-5-17 20:14

回復 2# Scott090

試試看是否可行?
勾選"信任存取VBA專案物件模型"

[attach]15005[/attach]
  1. Sub ex()
  2. For Each ref In ThisWorkbook.VBProject.References
  3. If Dir(ref.Fullpath) = "" Then Remove ref
  4. Next
  5. End Sub
複製代碼

作者: Scott090    時間: 2013-5-18 07:47

回復 3# Hsieh


    多謝大俠出手相救
信任勾選在發問之前就有做
不同的電腦系統分屬2處無法馬上做,大俠的指點將試驗後回復結果
作者: GBKEE    時間: 2013-5-18 08:05

回復 4# Scott090
還是要手動
  1. Option Explicit
  2. Private Sub Workbook_Open()
  3.     設定引用項目
  4.     '....程式碼
  5.     '....程式碼
  6. End Sub
  7. Private Sub 設定引用項目()  '遺漏項存在時用手動刪除,用手動存檔後重新執行程式.
  8.     Dim E
  9.     On Error Resume Next
  10.     With ThisWorkbook.VBProject
  11.         For Each E In .References
  12.          Debug.Print E.Name
  13.         Next
  14.     End With
  15.     If Err <> 0 Then
  16.        Application.CommandBars.FindControl(ID:=1561).Execute
  17.        Application.SendKeys "%T"
  18.        Application.SendKeys "R"
  19.       End
  20.     End If
  21. End Sub
複製代碼

作者: Scott090    時間: 2013-5-18 08:29

回復 5# GBKEE


    謝謝 GBKEE 大俠開闢另一方法,就是有錯時顯示出 引用項窗體來提示使用者修改或去除打勾的"遺漏" 引用項




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)