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) 


开发工具:VB6.0
现有如下代码,请各路高手赐教!小弟不胜感激~~如有源码更好!

Private Sub Command1_Click()
    Dim xmlStr As String
    xmlStr = getXML
    '请问如何把xmlStr转成一个xml文档?
End Sub

Public Function getXML() As String
    Dim xml As String
        xml = xml + " <?xml version='1.0' encoding='UTF-8'?>"
        xml = xml + " <FREIGHTCPIC>"
        xml = xml + "  <HEADER>"
        xml = xml + "    <TYPE>IN </TYPE>"
        xml = xml + "    <WORKTYPE>0 </WORKTYPE>"
        xml = xml + "    <CLASSESTYPE>1 </CLASSESTYPE>"
        xml = xml + "    <LOGINUSERNAME>ayyt </LOGINUSERNAME>"
        xml = xml + "    <LOGINPASSWORD>ayyt </LOGINPASSWORD>"
        xml = xml + "  </HEADER>"
        xml = xml + " </FREIGHTCPIC>"
        getXML = xml
End Function代开各行业【増直/鐠通】漂据。
另批发/零售仿真度可达90%以上各品牌香烟,如中华、黄鹤楼1916、芙蓉王、南京95至尊、白沙(和天下)、苏烟、玉溪、利群、双喜、世纪经典等。
如有意,请联系Q:1145553117。  手机:13544123356、金先生

谢谢楼上的~


在进行VB程序设计中,如果使用到外部dll动态库文件,是不是都要进行注册? 我对VB不懂,特向大家请教,谢谢!不一定,看dll的用途!

第三方的组件是需要注册的你自己制做的DLL 在客户端肯定是要注册的说下你是怎么使用的。将你用到的dll都放到你执行文件同一个目录下,可能不需要注册。<


在进行VB程序设计中,如果使用到外部dll动态库文件,是不是都要进行注册? 我对VB不懂,特向大家请教,谢谢!不一定,看dll的用途!

第三方的组件是需要注册的你自己制做的DLL 在客户端肯定是要注册的说下你是怎么使用的。将你用到的dll都放到你执行文件同一个目录下,可能不需要注册。<


我用winsock做的ftp程序,上传文件时,用senddata上传文件,到了服务器以后文件中的回车换行符居然都成了回车,换行没了。

上传前文件内容如下:

做好雨量的监测,更好

的服务于抗旱工作,按照省局紧急启用冬季已停用的乡镇雨量站的要求

,技术人员牺牲休息时间,连续工作,对各个点的乡镇雨

量站进行了认真的清理和调试,对出现故障的站点进行维修,为雨量数据的采集

传到了服务器上,文件里面回车换行都成了成了黑方块,请问是什么原因啊。

客户机接收的text控件要用多行显示,Text1.MultiLine = True
其实不是很明白楼猪在说什么。。说明白点,。最好把服务端发出信息的代码和客户机接收的代码都贴一下。。不然很难弄清楚问题出在什么地方能否发个源码上来呀,学习学习,怎样用Winsock控件做FTP呀.谢谢.


Private Sub Command1_Click()
Shell "E:桌面\新建文件夹123.txt", vbNormalFocus
End Sub

网上有人说是用这个打开程序啊,难道就不能用这来打开文本吗,是可看见的打开,就像平常我们打开一个程序那样,并不是那种Opne #什么的打开错误提示:无效的过程或参数此"打开"非彼"打开"也.<

晕!找到答案了

Shell "notepad.exe " & App.Path & "123.txt", vbNormalFocus
Shell "explorer.exe " & App.Path & "每日.html", vbNormalFocus<
<
<
<


系统文件夹里找不到。为什么?谁能告诉我它在哪里?多谢!!!
找什么?搜吧,不知道说得啥鼠标链接选择指针一个小手那样在你计算机里搜索*.cur,若搜不到,贴个邮箱,让别人给你发一个329990037@qq.comhttp://topic.csdn.net/u/20091130/01/837D334D-3C08-4C59-B56A-C87CBDE4B62B.html也许是删除了。