首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找对象库的VBIDE.Reference.Name

查找对象库的VBIDE.Reference.Name
EN

Stack Overflow用户
提问于 2017-03-31 09:52:25
回答 1查看 3.3K关注 0票数 2

我找到了how to add a reference programmatically和VBA,

这说明了如何使用库的名称以编程方式添加对象引用,

使用示例"VBScript_RefExp_55“。

我的问题是如何在此代码中为不同的对象库找到这个引用名称?

例如PowerPoint库?

EN

回答 1

Stack Overflow用户

发布于 2017-03-31 12:18:42

我用这个来获取推荐信上的信息:

代码语言:javascript
复制
Private Sub ListProjectReferencesList()
    Dim i                   As Long
    Dim VBProj              As Object  'VBIDE.VBProject
    Dim VBComp              As Object 'VBIDE.VBComponent
    Set VBProj = Application.VBE.ActiveVBProject
    Dim strTmp              As String
    On Error Resume Next
    For i = 1 To VBProj.References.Count
        With VBProj.References.Item(i)
            Debug.Print "Description: " & .Description & vbNewLine & _
                        "FullPath: " & .FullPath & vbNewLine & _
                        "Major.Minor: " & .Major & "." & .Minor & vbNewLine & _
                        "Name: " & .Name & vbNewLine & _
                        "GUID: " & .GUID & vbNewLine & _
                        "Type: " & .Type
            Debug.Print "-------------------"
        End With 'VBProj.References.Item(i)
    Next i
End Sub

一般来说,我更喜欢用GUID而不是名字来添加它。

但正如罗里所指出的,

,您应该使用后期绑定,而不是以编程方式添加引用

为什么?

,因为为了以编程方式添加它们,您的用户必须进入:

  1. 应用程序的选项 (Excel,.)它从那里发射
  2. 信托中心
  3. 信任中心设置
  4. 宏设置选项卡
  5. 勾选信任访问VBA项目对象模型复选框
  6. 好的
  7. 好的

,所以您最好用引用完成代码,然后是

  1. 删除引用
  2. 使用这些librairies将所有声明更改为Dim ??? As Object
  3. 检查模块顶部是否有Option Explicit (如果没有)
  4. 查找特定于应用程序的变量 (Option Explicit应该在它们上抛出一条消息)
  5. 大量测试您的代码
  6. 导出模块供他人使用!
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43137715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档