Excel 删除从文件中创建的特定引用
我将以下VBA组合在一起,以添加对工作簿的引用Excel 删除从文件中创建的特定引用,excel,vba,reference,Excel,Vba,Reference,我将以下VBA组合在一起,以添加对工作簿的引用 Sub Add_Reference() Dim vbProj As Object Set vbProj = ActiveWorkbook.VBProject vbProj.References.AddFromFile "C:\User\documents\Master_file.xlsm" CleanUp: Set vbProj = Nothing End Sub 我想我也可以对remove执行同样的操作,方法是将AddFromfile
Sub Add_Reference()
Dim vbProj As Object
Set vbProj = ActiveWorkbook.VBProject
vbProj.References.AddFromFile "C:\User\documents\Master_file.xlsm"
CleanUp:
Set vbProj = Nothing
End Sub
我想我也可以对remove
执行同样的操作,方法是将AddFromfile
切换为remove
,如下所示:
Sub Remove_Reference()
Dim vbProj As Object
Set vbProj = ActiveWorkbook.VBProject
vbProj.References.Remove "C:\User\documents\Master_file.xlsm"
CleanUp:
Set vbProj = Nothing
End Sub
当我运行Remove\u Reference
时,在vbProj.References.Remove“C:\User\documents\Master\u file.xlsm”
行上出现类型不匹配
错误。我猜我需要叫它别的名字,但我不确定它应该是什么
有什么想法吗?不是答案,但作为评论离开太长了 请尝试下面的代码,以帮助您调试要删除的
引用的属性
Sub ProjRef()
Dim vbProj As Object
Dim i As Long
Set vbProj = ActiveWorkbook.VBProject
With vbProj.References
For i = 1 To .Count ' loop through references
Debug.Print .Item(i).Description
Debug.Print .Item(i).Name
Debug.Print .Item(i).FullPath
' add here your If to check the reference you want to remove
Next
End With
End Sub
循环遍历所有vbProj.References
并使用Deubg.print
查看要删除的引用的确切属性
Sub ProjRef()
Dim vbProj As Object
Dim i As Long
Set vbProj = ActiveWorkbook.VBProject
With vbProj.References
For i = 1 To .Count ' loop through references
Debug.Print .Item(i).Description
Debug.Print .Item(i).Name
Debug.Print .Item(i).FullPath
' add here your If to check the reference you want to remove
Next
End With
End Sub
您混淆了数据类型
AddFromFile
接受作为完整文件路径的string
参数。
Remove
另一方面要求Reference
类型作为参数。因此出现了类型不匹配错误
您需要循环、匹配然后删除引用