| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 942 人关注过本帖
标题:VB和EXCEL VBA是什么关系
只看楼主 加入收藏
chen3bing
Rank: 2
等 级:论坛游民
帖 子:222
专家分:99
注 册:2008-11-12
结帖率:89.06%
  已结贴   问题点数:10  回复次数:9   
VB和EXCEL VBA是什么关系
我想学VB操作EXCEL,在网上看到有EXCEL VBA的书。
我感觉这两者貌似不是一样东西。
请问高手,有用VB6操作EXCEL的书推荐吗?谢谢!
2019-01-19 17:19
ZHRXJR
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:89
帖 子:862
专家分:4542
注 册:2016-5-10
  得分:2 
VB6 是VB软件,VBA 是 Office 模块中的宏,当然也包括 Excel 模块,二者就是二种完全不同的东西。
专门介绍用 VB6 操作 Excel 的书籍比较少,但,建议你学习 VB6 的编程,因为用 VB6 操作 Excel 牵扯的技术内容比较多,希望能够全面了解。
VB60 编程的书籍比较多,你可以在淘宝网站查询。Visual Basic从入门到精通等等都可以的。
2019-01-19 18:29
chen3bing
Rank: 2
等 级:论坛游民
帖 子:222
专家分:99
注 册:2008-11-12
  得分:0 
Visual Basic从入门到精通这本书有了,就是缺乏VB6操作EXCEL的
2019-01-20 14:00
dsasada
Rank: 1
等 级:新手上路
帖 子:54
专家分:3
注 册:2018-3-30
  得分:0 
回复 2楼 ZHRXJR
用vb6把vba代码封装成后缀名为dll文件,
请问这个封装的dll文件是不是宏?


[此贴子已经被作者于2019-1-21 19:41编辑过]

2019-01-20 23:10
ZHRXJR
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:89
帖 子:862
专家分:4542
注 册:2016-5-10
  得分:2 
所谓宏是Office模块中使用附加的VB程序扩展编写的代码组合,在【视图】-【宏】-【录制宏】中。
宏中使用的编程语言是VBA语言,VBA语言与VB语言是不同的二种编程语言,VBA是使用在Office模块中宏的编程语言,VB60是VB软件使用的编程语言。
你说的“用vb6把vba代码封装成后缀名为dll文件”这个不清楚,但我认为dll是应用程序扩展,不可能“用vb6把vba代码封装成后缀名为dll文件”,虽然VB也能够编译dll应用程序扩展,但不是一回事。

最后说的是,VBA语言与VB语言是不同的二种编程语言,不要混为一谈,也不要再次纠缠这个问题了。
2019-01-21 10:52
wmf2014
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:172
帖 子:1772
专家分:9960
注 册:2014-12-6
  得分:2 
vb和vba基础语法完全相同,两者代码基本上可以通用或相互借鉴。

能编个毛线衣吗?
2019-01-21 11:32
chen3bing
Rank: 2
等 级:论坛游民
帖 子:222
专家分:99
注 册:2008-11-12
  得分:0 
感觉说的都不一样,也不知道哪个对哪个错
2019-01-21 11:41
ZHRXJR
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:89
帖 子:862
专家分:4542
注 册:2016-5-10
  得分:4 
好像我刚刚说的不是特别清楚,我的意思是VB与VBA使用的场合不同,是不同场合的编程语言,没有说语法不同。
6楼 wmf2014 说的是语法问题,是正确的。
VB与VBA在基本语法上相同的,二者之间可以借鉴参考,但不是所有语法完全相同。不能将VB的代码完全复制到VBA,也不能将VBA的代码完全复制到VB。
2019-01-21 12:26
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:19
帖 子:1781
专家分:3652
注 册:2011-3-24
  得分:0 
我的理解是把EXCEL下的VBA当成很多不同CLASS的集合或类似MFC或Framework之类的框架,
然后在VB6内声明一个或多个物件等于某些指定的CLASS(承载該CLASS的全部功能),
再依照VBA的架构在VB内重组建构出一个虚拟VBA的环境,再去使用VBA的指令,
好难描述。

P.S 以上全部基礎來自於引用的EXCEL Library

用过多次之后,渐渐就可以像瞎子摸象一样,摸出自己的想像。

[此贴子已经被作者于2019-1-21 18:48编辑过]


不要選我當版主
2019-01-21 18:42
xyxcc177
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:23
帖 子:167
专家分:1105
注 册:2017-7-8
  得分:0 
Visual Basic For Application(简称VBA),是VB的子集,VB可以编写独立的程序,安装在windows系统上,而VBA要依赖word,excel等平台才能运行,学好了VB,VBA就很快学会了。至于你说的把vba程序编写成Dll,这个也很简单,区别是,是office中,使用对象不需要引用,在vb中则要引用Excel.Application或Word.Application,如在excel中,str=Sheet1.Range("a1").Value,而在vb中,则先要申明一个对象:
Dim eApp,eBook,eSht As object
Dim str As String
Set eApp=CreateObject("Excel.Application")
Set eBook=eApp.Workbooks.Open(ExcelFileName)
Set eSht=eBook.Workbooks(1)
str=eSht.Range("a1").Value
2019-01-23 08:13







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.165018 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved