如何在excel中使用VBA调用其它外部程序

如何在excel中使用VBA调用其它外部程序,第1张

使用旁竖汪shell语句,例子:

Sub RAR()

    Shell "C:\Program 运仔Files\WinRAR\WinRAR.exe", 纤明vbNormalFocus

End Sub

首先Shell函数使你可以从VBA过程里直接打开任意程序。

比如打开记事本,Shell "notepad.exe", vbMaximizedFocus

SendKeys语句允许你将许多的按键发送到活动应用程序窗口,你可以发送一个或组合键并且得到直接使用键盘的同样效果。

自动控制“允许你访问和 *** 纵另一种应用程序的对象。你可以通过自动控制编写VBA过程,通过引用其它应用程序的对象、属性和方法来控制其它应用程序。

当和另外一个应用程序交流时,你可能需要更多的功能,而不只是激活它来发送按键。例如,

你可能需要在该应用程序里创建和 *** 纵对象,你可以在Excel电子表格力插入整个Word文档。因为袭模Excel和Word都支持自动控制,所以,你可以在Excel里编写一个VBA过程在 *** 作Word

对象,比如文档或者段落拍锋缓。支持自动控制的应用程序称为自动控制服务器(Automation servers)或者自动控制对象(Automation objects)。能够 *** 作服务器对象的应用程序称为自动控制控件。有些应用程序只能是服务器或者控件,而其它的则既可基册以是服务器也可以是

控件。Microsoft Office 2000和2002都可以作为自动控制服务器和控件。自动控制控件可以是安装在你电脑上的各种ActiveX控件。

Private Sub Command2_Click()

Dim x As Double 声明X的数据类型

x = Me.Text0.Value X取值,取Text0的输入

s = 0 S清零

If x <0 Or x <>Int(x) Then 判断,如果X小于0或者察中X不是整数

MsgBox ("请重新输入") 则,提示重新输入

Else 如果大于0而又是整数,则

For i = 1 To Len(x) 开始循环:从1到X的位数

a = Mid(x, i, 1) 给a赋值,逐次抽取x的每一位

Next i

MsgBox ("结果为" &s) 提示结果

a = Val(a) a转换为数值

s = s + a 结嫌亩果累加

End If

End Sub

这个程式看起来,跑不出一个正确的结果,个人认为要修改败者山如下:

Private Sub Command2_Click()

Dim x As Double

x = Me.Text0.Value

s = 0

If x <0 Or x <>Int(x) Then

MsgBox ("请重新输入")

exit sub ‘增加1句

Else

For i = 1 To Len(x)

a = Mid(x, i, 1)

a = Val(a) ’位置调整

s = s + a

Next i

MsgBox ("结果为" &s)

End If

End Sub

以上内容仅供参考!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12322794.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存