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)
01 18th, 2010
用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
什么呀
接分先!
01 17th, 2010
我想实现在VBA程序中调用CHM帮助文档中的某部分。就是实现实时查询帮助文档的功能。可不知道应该怎么做,请各位大侠,指条路,谢谢了。
我不是已经教你了吗,结贴,把分给我
方法共享一下??
这叫什么玩意儿啊。
App.Help 知道这个吗?
01 17th, 2010
我想实现在VBA程序中调用CHM帮助文档中的某部分。就是实现实时查询帮助文档的功能。可不知道应该怎么做,请各位大侠,指条路,谢谢了。
我不是已经教你了吗,结贴,把分给我
方法共享一下??
这叫什么玩意儿啊。
App.Help 知道这个吗?
01 6th, 2010
2个同名的动态库,比如sa.dll,每个动态库里都同名函数Myname,但其实现功能不一样。1个放在系统文件夹下,1个放在当前路径下。现在要调用这个动态库的Myname函数,问当前软件会首先调用哪个动态库的函数?
如果该库为msvbvm60.dll(VB库),但许多用户的系统此库被修改过,经常出现VB写的程序不能正确打开的错误(报告内存读错误,让用户换了msvbvm60.dll库后就可以正确打开程序了),是否把该库放在程序目录下也能替代系统目录下的该库?谢谢。
这个问题不简单。很混乱
顶下,看是否有高手来回答。
1.使用同名函数Myname本身就是个不该有的习惯
2.调用不同的库, 在你通用区,应该就会宣告使用那些不同名的引用库
不同名的引用库.?? 就是调用那个库 一个萝卜一个坑 还会挖错吗?
可以用FILEmon 监控你的程序先找那个库文件
不是有别名吗?
回CBM666,请看好问题再回答。同名库和函数出现概率很小,但毕竟存在。我的主要问题是用户系统下msvbvm60.dll被修改了,我的软件没法正常执行。能否再打包一个msvbvm60.dll放在程序目录下,这样我的程序是否优先调用程序目录下的msvbvm60.dll。谢谢。
没人回答就结帖了。
12 29th, 2009
如题
可以执行.class,你说的调用java的类是什么意思?
java可以写标准dll吗?可以写ActiveX吗?
呵呵,具体我也还不是很清楚
客户就说到时候提供给我两个java类,让我调用
将我这边客户端的数据跟服务器端数据进行交互
所以来问下有没有这方面的案例
<
ding
不知道啊 我现在在学这 还是刚入门的啊
ding
ding
再Ding
恐怕不行吧。
Java 的 *.class 文件,其代码是 JVM 才能‘识别’的字节码,是属于‘解释执行’的。
它跟 PE 或 NE 可执行程序的机器码完全不是一回事。
我认为是不能被 VB 调用的。
12 28th, 2009
要用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(结构化异常处理)演示
帮楼主顶上去!
如需要阅读该回复,请