加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

vba如何调用dll中的过程函数或变量

(2017-06-16 22:38:40)
标签:

vba调用dll

vba获取vb中的变量

vba获取vb中的过程

vba调用dll中的变量或

数据工厂

分类: 数据工厂_VBA
vba如何调用dll中的过程函数或变量
-----------------------------------------






关于外部程序调用,系统中定义dll(ocx)的说明

1.   A01_mdf_vba           是编写的一个动态链接库(可能是自己编写,也可能是其他人编写)

2.   dll中包含类模块       定义的类模块
     
3.1  public Function       是dll中的一个函数
3.2  public sub            是dll中的一个过程
3.3  public BianLiang      是dll中的一个变量(注意:变量必须是public定义的;必须在该类的最上面)
 

Public Sub 测试调用vb中dll的过程或变量()

 'Dim A As New A01_mdf_vba.A001公共过程.cd_自定义SQL语句页签_设置的_指定数据库名方案_建立_数据库连接    '写成这种形式是不对的
  
  '如何调用dll中的类模块的过程,函数,变量
  '1>.基础说明------------------------------------
  '基础说明1:只能直接调用dll中的---类模块(或类模块中的过程,函数,变量)/    dll中的模块和窗体都不能调用
  '基础说明2:类模块中只有全局过程,函数或全变量才能被调用(变量必须定义在类模块中,如果定义在模块或窗体中是不能直接调用的)
  '基础说明3:如果必须调用dll中模块或者窗体,只能调用类模块的过程(但是可以将模块或者窗体中的过程等,在编写dll的时候,被类模块中的代码调用)
  '2>.调用方法1-------------------------------
  '2.1>.采用引用法(也叫事前绑定的方法),这种方法的好处是,在书写代码时,可以有提示的效果
  '2.2>.通过vba或者其他的编码工具---进去编码区----工具----引用---将需要引用的dll打勾
  '2.3>.调用代码书写方式如下-------------------------------
  '书写方式1:
   Dim A2 As New A01_mdf_vba.A001公共过程     '定义格式为:   dll.类模块的名字(2级)
   A3_1 = A2.cd_自定义SQL语句页签_设置的_指定数据库名方案_建立_数据库连接    '通过2级类模块调用3级:3级_1:类模块中的<过程>
   A3_2 = A2.CeShi2                 '通过2级类模块调用3级:3级_2:类模块中的<变量>
  '书写方式2:
   Dim B2 As New A001公共过程                                  '定义格式为:       类模块的名字(2级)
   B3_1 = B2.cd_自定义SQL语句页签_设置的_指定数据库名方案_建立_数据库连接      '通过2级类模块调用3级:3级_1:类模块中的<过程>
   B3_2 = B2.CeShi2                             '通过2级类模块调用3级:3级_2:类模块中的<变量>
   
  '3>.调用方法2-------------------------------
  '3.1>.采用创见法(也叫事后绑定的方法),这种方法的好处是,如果换一个新的电脑,就不用再次添加引用了
  '3.2>.不需要引用dll
  '3.3>.调用代码书写方式如下-------------------------------
  '书写方式:
     Dim MingCheng_LeiMoKuai_02 As Object            '定义一个object对象变量
     Set MingCheng_LeiMoKuai_02 = CreateObject("A01_mdf_vba.A001公共过程")      '给变量赋值为:dll中的类模块
     '---调用dll中的类模块--对应的过程
     VBA中的变量 =  MingCheng_LeiMoKuai_02.CeShi2         '获得vb---dll---类模块---变量                    
     Call MingCheng_LeiMoKuai_02.cd_自定义SQL语句页签_设置的_指定数据库名方案_建立_数据库连接      '调用类模块中的过程或函数或变量等
     Call MingCheng_LeiMoKuai_02.cd_自定义SQL语句页签_的设置_执行_1到3_方案的_查询_数据库语句
     Call MingCheng_LeiMoKuai_02.cd_自定义SQL语句页签_的设置_输出_1到3方案的_查询到的记录集
     Call MingCheng_LeiMoKuai_02.正常_关闭_SQL2000_数据库_并_清除_RS记录集
     Set MingCheng_LeiMoKuai_02 = Nothing                                                         '释放类资源

End Sub

--------------------------------
vba如何调用dll中的过程函数或变量

-------------------------------------
该日志网址为: http://blog.sina.com.cn/s/blog_15b9821340102wz1m.html
 如果您有任何问题或建议或疑问,欢迎反馈和交流,您的要求就是我们的方向和动力
 更多<数据分析>模板,将陆续发布,敬请期待   

更多介绍:http://www.df-bi.com
更多数据分析模型,欢迎扫描"微信公众号"
或者查找微信公众号:"DF数据工厂"  或  "data_f"

vba如何调用dll中的过程函数或变量


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有