Excel 删除从文件中创建的特定引用

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

我将以下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
切换为
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
类型作为参数。因此出现了类型不匹配错误

您需要循环、匹配然后删除引用