EXCEL VBA 启动其它应用程序问题

EXCEL VBA 启动其它应用程序问题,第1张

Shell "yourPath\BarTenderEXE", vbNormalFocus

'yourPath是exe的绝对路径

'以上是打开BarTenderEXE的命令

接下来还要自动打印就比较麻烦,如果你对命令行比较熟练那可以继续往下看,如果不是那就请到这里吧,打开D:\TMBTW之后请人手 *** 作打印吧。

后面我不知道BarTenderEXE是具体怎么 *** 作。。。所以大概可以这样:

一般具备打印功能的exe文件,需要打开文件(条码文件),大概在file - open 里面,然后打印是file-print(一般快捷键ctrl+p)

那么就简单了,打开了BarTenderEXE之后,接着发送键盘指令

alt - down - enter - 输入“D:\TMBTW” - enter - alt - down - p - enter

调用外部程序使用Shell语句,下面的实例是调用CMD命令打开DOS窗口并执行Dir命令,将浏览结果存入文件,然后用open语句打开文件,读入vba,实例中使用的是绝对路径,如果是相对路径用“&”表示盘符,您要调用计算器,并获取计算器的计算结果,仅调用外部程序是不行的,我尝试使用API函数钩子,结果是自己重新写一个计算器都没那么费神

Sub shellcall()

Shell "cmd /c dir c:\>c:\1aaatxt"

Open "c:\11sstxt" For Input As #1

Dim s As String

While Not EOF(1)

Line Input #1, s

DebugPrint s

Wend

Close #1

End Sub

Private Sub Command2_Click()

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

x = MeText0Value 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 = MeText0Value

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

以上内容仅供参考!

sub fff()

Shell "C:\Users\Desktop\Stirlingexe  C:\Users\Desktop\MapVersioninf" , vbNormalFocus

end sub

以上就是关于EXCEL VBA 启动其它应用程序问题全部的内容,包括:EXCEL VBA 启动其它应用程序问题、VBA中如何调用exe程序 如:我要用Excel2007 VBA 编程实现打开Caculator,并输入12+3=15,如何实现、VBA设计的程序怎么在外部直接打开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9498278.html

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

发表评论

登录后才能评论

评论列表(0条)

保存