ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 7098|回复: 7

[求助] VBProject.References引用列表.

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-4-13 17:39 | 显示全部楼层 |阅读模式
http://club.excelhome.net/thread-75329-1-1.html
[拾遗补缺]WORD VBPROJECT 引用列表与示例

序        引用名称
1        VBA
2        Word
3        stdole
4        Normal
5        Office
6        Excel
7        ADODB
8        MSForms
9        VBIDE
附件详见原帖.
请问:各位大侠的问题是,如何将自己已经编好的程序的引用列表,用VBA做成列表.如守柔版主的列表一样.谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-13 20:07 | 显示全部楼层
再学一遍这个帖子.
http://club.excelhome.net/viewth ... p;extra=&page=1
五、引用项目
1.增加引用
  ThisWorkbook.VBProject.References.AddFromFile "C:\Windows\System32\asctrls.ocx"
2.取消引用
  ThisWorkbook.VBProject.References.Remove ThisWorkbook.VBProject.References("ASControls")
这里ASControls是引用的名字,即后面的rf.Name。
3.显示当前所有引用
Sub ShowRefs()
  Dim rf As VBIDE.Reference
  For Each rf In ThisWorkbook.VBProject.References
    Debug.Print rf.Name, rf.FullPath
  Next
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-13 20:27 | 显示全部楼层
Sub ShowRefs()
  Dim rf As VBIDE.Reference
  For Each rf In ThisWorkbook.VBProject.References
    Debug.Print rf.Name, rf.FullPath
  Next
End Sub
-----------
结果:如下.
VBA           C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL
Excel         D:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE
stdole        C:\WINDOWS\system32\stdole2.tlb
Office        C:\Program Files\Common Files\Microsoft Shared\OFFICE11\MSO.DLL
VBIDE         C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB
ADODB         C:\Program Files\Common Files\system\ado\msado15.dll
VBScript_RegExp_55          C:\WINDOWS\system32\vbscript.dll\3
msvbvm60.dll是个复杂的东西,他里面不但封装了很多API,也有很多类。但不是每一个类在程序中的应用的上,为了节省资源,所以对类进行了分组。比如msvbvm60.dll\0这个组保存了控件类(按钮,文本框等),msvbvm60.dll\3这个类保存了的vb绝大部分的函数。   
http://topic.csdn.net/t/20061110/15/5148644.html#


Word          D:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLB

还有一个问题,在这个机器Excel和Word在D盘,如何知道另一个机器的Excel和Word的引用项目在哪里?需要在硬盘用文件搜索命令查找???

---------------
  1. Sub ShowRefs()
  2.   Dim rf As VBIDE.Reference
  3.   kk = 2
  4.   For Each rf In ThisWorkbook.VBProject.References
  5.     With rf
  6.       Sheet1.Cells(kk, 1) = .Name
  7.       Sheet1.Cells(kk, 2) = .FullPath
  8.       kk = kk + 1
  9.     End With
  10.   Next
  11. End Sub
  12. Sub noShowRefs()
  13.   Dim rf As VBIDE.Reference, Str As String
  14.   'kk = 2
  15.   On Error Resume Next
  16.   With Sheet1
  17.     nn1 = .Range("J2").End(xlDown).Row
  18.     nn2 = .Range("J65536").End(xlUp).Row
  19.     For kk = nn1 To nn2
  20.       Str = .Cells(kk, 10)
  21.       ThisWorkbook.VBProject.References.Remove ThisWorkbook.VBProject.References(Str)
  22.     Next kk
  23.   End With
  24. End Sub
  25. Sub AddRefs()
  26.   Dim rf As VBIDE.Reference, Str As String
  27.   'kk = 2
  28.   On Error Resume Next
  29.   With Sheet1
  30.     nn1 = .Range("K2").End(xlDown).Row
  31.     nn2 = .Range("K65536").End(xlUp).Row
  32.     For kk = nn1 To nn2
  33.       Str = .Cells(kk, 11)
  34.       ThisWorkbook.VBProject.References.AddFromFile Str
  35.     Next kk
  36.   End With
  37. End Sub
复制代码

[ 本帖最后由 ningyong58 于 2010-4-14 08:16 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-1-16 15:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
学习了好东西

TA的精华主题

TA的得分主题

发表于 2013-3-18 10:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
mark..........

TA的精华主题

TA的得分主题

发表于 2013-11-27 20:06 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2017-9-4 14:28 | 显示全部楼层
ThisWorkbook.VBProject.References.Remove (ThisWorkbook.VBProject.References("Outlook"))
感谢,照葫芦画瓢,上面代码亲测可用。

TA的精华主题

TA的得分主题

发表于 2018-8-31 18:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ningyong58 发表于 2010-4-13 20:27
Sub ShowRefs()
  Dim rf As VBIDE.Reference
  For Each rf In ThisWorkbook.VBProject.References

请教:VBA项目引用列表中没有的,通过浏览窗口添加进去的,为什么重新打开工作薄又不见了呢?怎么处理?谢谢!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-13 07:45 , Processed in 0.026297 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表