VB程序员博客

VB程序开发

Private Sub cmdshangbao_Click()
Dim i, j, k As Integer
Dim int_file As Integer
Dim filename As String
Dim filepath As String
Dim fso1, fso2
Dim fil1, fil2
Dim RetVal
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set fil1 = fso1.CreateTextFile("c:ftp_file.txt", True)
fil1.writeline ("open  192.168.1.120")
fil1.writeline ("user  audit01  123456 ")
Set fso2 = CreateObject("Scripting.FileSystemObject")
Set fil2 = fso2.CreateTextFile("c:ftp_file.bat", True)
fil2.writeline ("ftp -in <  ftp_file.txt")
If Me.ListBox1.ListCount = 0 Then
    MsgBox "没有文件,退出!"
    Exit Sub
End If
int_file = Me.ListBox1.ListCount
For i = 0 To int_file - 1
    filename = Trim(Me.ListBox1.List(i))
    filepath = "put  " & ActiveWorkbook.Path & "" & filename & " " & filename
    fil1.writeline (filepath)
Next
fil1.writeline ("by ")

RetVal = Shell("c:ftp_file.bat", vbMaximizedFocus)  '这里总是报无效的过程调用或参数,为啥fil1.Close
fil2.Close
MsgBox "文件上传完成!"
Kill "c:ftp_file.txt"
Kill "c:ftp_file.bat"
End Sub

我在dos下执行c:ftp_file.bat完全正常,为什么?改为
RetVal = Shell("cmd /c c:ftp_file.bat", vbNormalFocus)
试试C/前后各一个空格,vbNormalFocus无所谓.我改成了RetVal = Shell("cmd /c c:ftp_file.bat", vbNormalFocus),
可以为什么出来的ftp命令成了:
d:>ftp -in  0 <ftp_file.txt
而bat中的文件内容为:ftp -in <ftp_file.txt
shell出来的结果多了个0,导致无法连接,为什么?
Shell("cmd /c c:ftp_file.bat")仅是调用cmd.EXE去执行c:ftp_file.bat文件,仅此而已. 去掉参数/c 试一下:
Shell("cmd c:ftp_file.bat")谢谢SYSSZ,已经找到原因
把这两句移到前面就没有问题了

fil1.Close
fil2.Close

RetVal = Shell("c:ftp_file.bat", vbMaximizedFocus) 


Private Sub cmdshangbao_Click()
Dim i, j, k As Integer
Dim int_file As Integer
Dim filename As String
Dim filepath As String
Dim fso1, fso2
Dim fil1, fil2
Dim RetVal
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set fil1 = fso1.CreateTextFile("c:ftp_file.txt", True)
fil1.writeline ("open  192.168.1.120")
fil1.writeline ("user  audit01  123456 ")
Set fso2 = CreateObject("Scripting.FileSystemObject")
Set fil2 = fso2.CreateTextFile("c:ftp_file.bat", True)
fil2.writeline ("ftp -in <  ftp_file.txt")
If Me.ListBox1.ListCount = 0 Then
    MsgBox "没有文件,退出!"
    Exit Sub
End If
int_file = Me.ListBox1.ListCount
For i = 0 To int_file - 1
    filename = Trim(Me.ListBox1.List(i))
    filepath = "put  " & ActiveWorkbook.Path & "" & filename & " " & filename
    fil1.writeline (filepath)
Next
fil1.writeline ("by ")

RetVal = Shell("c:ftp_file.bat", vbMaximizedFocus)  '这里总是报无效的过程调用或参数,为啥fil1.Close
fil2.Close
MsgBox "文件上传完成!"
Kill "c:ftp_file.txt"
Kill "c:ftp_file.bat"
End Sub

我在dos下执行c:ftp_file.bat完全正常,为什么?改为
RetVal = Shell("cmd /c c:ftp_file.bat", vbNormalFocus)
试试C/前后各一个空格,vbNormalFocus无所谓.我改成了RetVal = Shell("cmd /c c:ftp_file.bat", vbNormalFocus),
可以为什么出来的ftp命令成了:
d:>ftp -in  0 <ftp_file.txt
而bat中的文件内容为:ftp -in <ftp_file.txt
shell出来的结果多了个0,导致无法连接,为什么?
Shell("cmd /c c:ftp_file.bat")仅是调用cmd.EXE去执行c:ftp_file.bat文件,仅此而已. 去掉参数/c 试一下:
Shell("cmd c:ftp_file.bat")谢谢SYSSZ,已经找到原因
把这两句移到前面就没有问题了

fil1.Close
fil2.Close

RetVal = Shell("c:ftp_file.bat", vbMaximizedFocus) 


Private Sub cmdshangbao_Click()
Dim i, j, k As Integer
Dim int_file As Integer
Dim filename As String
Dim filepath As String
Dim fso1, fso2
Dim fil1, fil2
Dim RetVal
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set fil1 = fso1.CreateTextFile("c:ftp_file.txt", True)
fil1.writeline ("open  192.168.1.120")
fil1.writeline ("user  audit01  123456 ")
Set fso2 = CreateObject("Scripting.FileSystemObject")
Set fil2 = fso2.CreateTextFile("c:ftp_file.bat", True)
fil2.writeline ("ftp -in <  ftp_file.txt")
If Me.ListBox1.ListCount = 0 Then
    MsgBox "没有文件,退出!"
    Exit Sub
End If
int_file = Me.ListBox1.ListCount
For i = 0 To int_file - 1
    filename = Trim(Me.ListBox1.List(i))
    filepath = "put  " & ActiveWorkbook.Path & "" & filename & " " & filename
    fil1.writeline (filepath)
Next
fil1.writeline ("by ")

RetVal = Shell("c:ftp_file.bat", vbMaximizedFocus)  '这里总是报无效的过程调用或参数,为啥fil1.Close
fil2.Close
MsgBox "文件上传完成!"
Kill "c:ftp_file.txt"
Kill "c:ftp_file.bat"
End Sub

我在dos下执行c:ftp_file.bat完全正常,为什么?改为
RetVal = Shell("cmd /c c:ftp_file.bat", vbNormalFocus)
试试C/前后各一个空格,vbNormalFocus无所谓.我改成了RetVal = Shell("cmd /c c:ftp_file.bat", vbNormalFocus),
可以为什么出来的ftp命令成了:
d:>ftp -in  0 <ftp_file.txt
而bat中的文件内容为:ftp -in <ftp_file.txt
shell出来的结果多了个0,导致无法连接,为什么?
Shell("cmd /c c:ftp_file.bat")仅是调用cmd.EXE去执行c:ftp_file.bat文件,仅此而已. 去掉参数/c 试一下:
Shell("cmd c:ftp_file.bat")谢谢SYSSZ,已经找到原因
把这两句移到前面就没有问题了

fil1.Close
fil2.Close

RetVal = Shell("c:ftp_file.bat", vbMaximizedFocus) 


Private Sub cmdshangbao_Click()
Dim i, j, k As Integer
Dim int_file As Integer
Dim filename As String
Dim filepath As String
Dim fso1, fso2
Dim fil1, fil2
Dim RetVal
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set fil1 = fso1.CreateTextFile("c:ftp_file.txt", True)
fil1.writeline ("open  192.168.1.120")
fil1.writeline ("user  audit01  123456 ")
Set fso2 = CreateObject("Scripting.FileSystemObject")
Set fil2 = fso2.CreateTextFile("c:ftp_file.bat", True)
fil2.writeline ("ftp -in <  ftp_file.txt")
If Me.ListBox1.ListCount = 0 Then
    MsgBox "没有文件,退出!"
    Exit Sub
End If
int_file = Me.ListBox1.ListCount
For i = 0 To int_file - 1
    filename = Trim(Me.ListBox1.List(i))
    filepath = "put  " & ActiveWorkbook.Path & "" & filename & " " & filename
    fil1.writeline (filepath)
Next
fil1.writeline ("by ")

RetVal = Shell("c:ftp_file.bat", vbMaximizedFocus)  '这里总是报无效的过程调用或参数,为啥fil1.Close
fil2.Close
MsgBox "文件上传完成!"
Kill "c:ftp_file.txt"
Kill "c:ftp_file.bat"
End Sub

我在dos下执行c:ftp_file.bat完全正常,为什么?改为
RetVal = Shell("cmd /c c:ftp_file.bat", vbNormalFocus)
试试C/前后各一个空格,vbNormalFocus无所谓.我改成了RetVal = Shell("cmd /c c:ftp_file.bat", vbNormalFocus),
可以为什么出来的ftp命令成了:
d:>ftp -in  0 <ftp_file.txt
而bat中的文件内容为:ftp -in <ftp_file.txt
shell出来的结果多了个0,导致无法连接,为什么?
Shell("cmd /c c:ftp_file.bat")仅是调用cmd.EXE去执行c:ftp_file.bat文件,仅此而已. 去掉参数/c 试一下:
Shell("cmd c:ftp_file.bat")谢谢SYSSZ,已经找到原因
把这两句移到前面就没有问题了

fil1.Close
fil2.Close

RetVal = Shell("c:ftp_file.bat", vbMaximizedFocus) 


用Visual Basic 6.0 如何调用扫描仪 Twain.dll
写得越详细越好,在线等,好用就给分

最重要的是:Twain.dll—-这个东东里边有些什么接口函数,这个最重要! Wang      图象编辑控制 等控件是在win95 和 NT4的,98以后wang都被改成柯达了,98第二版及2000之后的windows系统带的柯达控件和98第一版所带的有一点区别,winXP之后的操作系统就不带有这4个控件了。不过可以将win2000中的控件及一系列动态链接库一起迁移到XP系统中。
我将2000下的这4个空间及支持文件做成了一个安装包,有需要的和我QQ联系:71429660什么呀接分先!


我想实现在VBA程序中调用CHM帮助文档中的某部分。就是实现实时查询帮助文档的功能。可不知道应该怎么做,请各位大侠,指条路,谢谢了。

我不是已经教你了吗,结贴,把分给我方法共享一下??这叫什么玩意儿啊。

App.Help 知道这个吗?


我想实现在VBA程序中调用CHM帮助文档中的某部分。就是实现实时查询帮助文档的功能。可不知道应该怎么做,请各位大侠,指条路,谢谢了。

我不是已经教你了吗,结贴,把分给我方法共享一下??这叫什么玩意儿啊。

App.Help 知道这个吗?


2个同名的动态库,比如sa.dll,每个动态库里都同名函数Myname,但其实现功能不一样。1个放在系统文件夹下,1个放在当前路径下。现在要调用这个动态库的Myname函数,问当前软件会首先调用哪个动态库的函数?

如果该库为msvbvm60.dll(VB库),但许多用户的系统此库被修改过,经常出现VB写的程序不能正确打开的错误(报告内存读错误,让用户换了msvbvm60.dll库后就可以正确打开程序了),是否把该库放在程序目录下也能替代系统目录下的该库?谢谢。这个问题不简单。很混乱顶下,看是否有高手来回答。1.使用同名函数Myname本身就是个不该有的习惯

2.调用不同的库, 在你通用区,应该就会宣告使用那些不同名的引用库

不同名的引用库.?? 就是调用那个库 一个萝卜一个坑 还会挖错吗?可以用FILEmon 监控你的程序先找那个库文件不是有别名吗?回CBM666,请看好问题再回答。同名库和函数出现概率很小,但毕竟存在。我的主要问题是用户系统下msvbvm60.dll被修改了,我的软件没法正常执行。能否再打包一个msvbvm60.dll放在程序目录下,这样我的程序是否优先调用程序目录下的msvbvm60.dll。谢谢。没人回答就结帖了。


如题可以执行.class,你说的调用java的类是什么意思?java可以写标准dll吗?可以写ActiveX吗?呵呵,具体我也还不是很清楚

客户就说到时候提供给我两个java类,让我调用

将我这边客户端的数据跟服务器端数据进行交互

所以来问下有没有这方面的案例<
ding不知道啊  我现在在学这  还是刚入门的啊dingding再Ding恐怕不行吧。
Java 的 *.class 文件,其代码是 JVM 才能‘识别’的字节码,是属于‘解释执行’的。

它跟 PE 或 NE 可执行程序的机器码完全不是一回事。
我认为是不能被 VB 调用的。


要用vb编写一个程序调用第三方用vc开发的dll文件,调用成功后,程序运行正常,可是在每次点击窗体上的关闭按钮关闭程序后,系统会弹出“内存不能为读”的错误,有时出现一个,有时出现两个,不知道是为什么??应该是dll内部的问题,找第三方吧。参考 http://topic.csdn.net/t/20041223/11/3669600.html

如果没有DLL的相关说明,可以试试在关闭窗口时直接终止进程。dll 的问题试试在Form1_Unload函数里面直接执行End语句

关于内存不能read的问题
http://iask.sina.com.cn/b/13399655.html应该是第三方DLL本身是有问题了!

设置一个SEH(结构化异常处理),捕捉VB6捕捉不到的错误,屏蔽掉就好了!

参考老马写的一个SEH(结构化异常处理)演示帮楼主顶上去!