问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VBA和VB的不同地方的处理

发布网友 发布时间:2022-05-04 12:04

我来回答

3个回答

热心网友 时间:2022-06-24 20:35

VBA和VB的区别包括如下几个方面:
  1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化   2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序.   3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的父应用程序,例如EXCEL.   尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA创建解决方案的大部分知识.   * VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化.   * VBA可以称作EXCEL的“遥控器”.   VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案.   此外,如果你愿意,还可以将EXCEL用做开发平台实现应用程序.   Office取得巨大成功的一个重要原因就是VBA,使用VBA可以完成很多事情,基于Excel、Word的VBA小程序不计其数。   VBA程序员很多是业余程序员,正因为业余,解决的却是工作中需要解决的问题;所以,VBA程序大多都是只是在部门内部或个人使用的小工具。   集成了VBA的其他应用程序也很多,但真正能为程序增色的不多。   大多数人看到了VBA可以自动化一个程序,可以扩展已有程序,但没有看到在Office中,VBA代码可以是录制的,而不是写出来的,带来的好处是,学习曲线变得非常缓。如果没有宏录制功能,要熟悉某个Office组件的对象模型,绝非一日之功。   以ArcGIS为例,ArcGIS扩展必须使用ArcObject,不管是使用VBA也罢,VB也罢,还是C++也罢。但同时,ArcObject的学习不是一天两天可以搞定,对于业余程序员,要使用VBA来扩展ArcGIS,几乎没有可能;专业程序员又不屑使用VBA;而对于公司,如果要基于ArcObject来扩展ArcGIS,选择VBA意味着源码的保护很困难。所以,ArcGIS的VBA就如同鸡肋。   不过,学习AO的时候,使用VBA比使用其他语言要容易一些,写几行代码,然后直接运行测试结果,这种交互式的学习应该是最好的学习方法。   ArcGIS以及AO与Office相比,还有一个很大的差别,就是ArcGIS缺乏中等粒度的对象,例如Word和Excel的Range对象。对于Office开发,可以在对底层小粒度对象一无所知的状况下做很多事情,这就是抽象的力量。常人可以处理的复杂度是有限的,面对数十个对象和几百个对象,后者需要付出的努力不是10倍,而是数十倍或更多,因为在学习过程中,必须可以把这些对象在大脑中很好的组织,以控制其复杂度。   
Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。因此,对于在工作中需要经常使用Office 套装软件的用户,学用VBA 有助于使工作自动化,提高工作效率。另外,由于VBA 可以直接应用Office 套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方便快捷。

热心网友 时间:2022-06-24 20:35

这个好像不是VBA,VB的问题,应该是绑定的问题,一会儿前期绑定,一会儿后期绑定,应该不可以哟,下面是我测试的代码和效果!你试试参考一下!

Option Explicit

Sub test()
    Dim a As AcadApplication
    Dim p As AcadDocument
    Dim r(0 To 2) As Double
    Set a = New AcadApplication
    Set p = a.Documents.Open("d:\data.dwg")
    r(0) = 2981439.1272
    r(1) = 486373.0586
    r(2) = 0
    p.ModelSpace.AddText "ddddd", r, 35
    p.Save
    p.Close
    Set p = Nothing
    Set a = Nothing
End Sub

追问

 Set p = a.Documents.Open("d:\data.dwg")

提示错误

追答我的是2007 cad 估计这个不一样,不是,你用的啥编程工具,visual studio? 什么版本?

热心网友 时间:2022-06-24 20:36

vba可以直接翻译运行,而vb需要翻译再编译,然后才执行。windows自带vba的解释器,用记事本写后,改成vba格式即可以运行。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
家政服务阿姨是做什么的? 中央空调水滴图标是什么模式? 和EXO有关(字)的头像3张, 真的没人要么 exo这几个字母头像组合的头像 有没有EX0成员穿有EXO字的衣服的图片,和我头像一样的,越多越好! 为什么工商办卡要证明 亲子阅读的优缺点是什么? 馒头冬天放在室外存放 宝宝2 岁半说话结巴,宝宝结巴怎么纠正? 宝宝讲话口齿不清怎么办 0.003克拉的钻石的直径是多少? WORD弹出“你正试图运行函数包含有宏或需要宏语言支持内容,Word需要VBA宏语言来完”怎么办? 如何用递归算法,实现对有序表的顺序搜索的功能《C++》 直径3mm的钻石是多大的,值多少钱 3厘和4厘的钻石相差有多大 钻石3厘大还是2分 1.采用递归的方法,完成的功能是:输入两个数a,b,求出a的阶乘与b的阶乘之和 三厘单反碎钻具体是什么意思啊!! for循环或递归 可以完成同样的功能,他们有什么区别??? 为什么hamming网络递归层ε小于1 请举运用波利亚模型的双轨迹模式、递归模式或叠加模式解决问题的例子 到底什么时候才使用return?我这两张图片的代码都是对的,return和不return都一样吗?求解啊。。。。。 数学的四种模式是什么 回调和递归是一回事吗? 童年火腿肠有哪几种 趣看天下不能转发怎么回事 怎么今天趣看天下的文章转发为什么都打不开? 看到有趣的微博,我微信分享给男朋友了,他没给我回应,第二天却转发到了自己的微博里。他这是什么心理? 现在微商朋友圈都在转发“趣票”趣惠卡,这个卡是干什么的? 如何让学前儿童的学习变得有趣 3厘钻石1克拉有多少颗? VBA获得软件版本号 vb vba速度哪个快 求教哥哥姐姐们有没有和vbs这种在windows系统中基本不需要主动去安装解释器的但是,是面向对象的脚本语言 宏是病毒吗 编程语言种中常常提到“宏”,它是什么意思?高手指点下 VBA createobject("wscript.shell").run 的问题? 0.00035是万分之35吗? 每天万分之三点五,那年利息是多少 一千九百万的万分之3.5是多少? 百分之0.05和万分之3.5哪个大? 一万元万分之3.5的利息打八折和万分之三点的利息哪个多? 万分之3.5怎么样书写 不予立案回执单什么用 redis desktop manager 免费吗 全棉磨毛与全棉磨绒布料有区别吗 归国四美和归国四子有什么可比性? 现在娱乐圈唱跳女星的梯队分布是什么情况? INTEL 850主板支持多大CPU SB850芯片组,两个硬盘组了硬的raid0,现在用sata线挂上了第三个硬盘,但系统识别不出这第三块硬盘,如何