求VB大神此代码出错的原因,以及应该怎么修改

Private Declare Function SetWindowPos& Lib "user32" (ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, _
ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
Dim a As Integer
Dim xx As Long, yy As Long
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
xx = X
yy = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then Me.Move Me.Left + X - xx, Me.Top + Y - yy
End Sub
Private Sub Form_Load()
Set fs = CreateObject("Scripting.FileSystemObject")
f = "d:\" & "\" & Year(Date) & "年" & Month(Date) & "月" & Day(Date) & "日"
If fs.FolderExists(f) Then
MsgBox "文件夹已存在"
Else
fs.CreateFolder f
End If
App.TaskVisible = False
Timer1.Interval = 1000
a = 1
End Sub
Private Sub Label4_Click()
Timer1.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
End Sub
Private Sub Label5_Click()
Timer1.Enabled = True
Timer2.Enabled = True
Timer3.Enabled = True
End Sub
Private Sub Label6_Click()
End
End Sub
Private Sub Label7_Click()
Shell "cmd.exe /c copy /y ""d:\数据库\sjk.dat"" G:\数据库备份\" & Label1.Caption & ".dat", vbHide
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Format(Now, "YYYY年MM月DD号hh点mm分ss秒")
End Sub
Private Sub Timer2_Timer()
a = a + 1
Label2.Caption = a
If Label2.Caption = 10 Then
a = 0
Shell "cmd.exe /c copy /y ""d:\数据库\sjk.dat", f & Label1.Caption & ".dat", vbHide
End If
End Sub
Private Sub Timer3_Timer()
myval = SetWindowPos(Form1.hwnd, -1, 0, 0, 0, 0, 3)
End Sub
------------------------------------------------------------------------------------------------------------------------
Shell "cmd.exe /c copy /y ""d:\数据库\sjk.dat", f & Label1.Caption & ".dat", vbHide
此行代码出错

Copy目标位置不明确,且语句错误:试试下面语句:

Shell "cmd.exe /c copy /y ""d:\数据库\sjk.dat"" d:\数据库\f\" & Label1.Caption & ".dat", vbHide

请修改成你正确的目标路径。以上代码调试通过在d:\数据库\f\目录夹内生成新文件。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-28

可能是Label1中含有空格

建议修改如此:

Private Sub Label7_Click()
    Dim strCmd As String
    strCmd = "cmd.exe /c copy /y ""d:\数据库\sjk.dat"" ""G:\数据库备份\" & Label7.Caption & ".dat"""
    'MsgBox strCmd
    Shell strCmd, vbHide
End Sub

追问

Shell "cmd.exe /c copy /y ""d:\数据库\sjk.dat", f & Label1.Caption & ".dat", vbHide
主要是此行代码出错
其中的f是创建日期文件后将sjk.dat使用cmd命令复制到f的文件里面

第2个回答  2013-08-28
Shell "cmd.exe /c copy /y d:\数据库\sjk.dat, “ & f & Label1.Caption & ".dat", vbHide

试试...不然可能是 label 出问题了

VB的代码有什么错误,应该怎么改。
最简单的是语法错误,程序根本不能运行。应该检查拼写语法的问题,如拼写错误,变量未定义等,最好将VB设置为要求强制先声明变量才能使用,否则会因为变量名拼写错误,出现一些莫名其妙的问题。其次是运行错误,在运行过程中提示错误。应该检查相关数据是否正确,是否有被零整除等错误,对象不存在,窗体未建立...

一个VB小程序,请高手帮忙查错修改
1. 点击Command3按钮时,未进行任何操作,直接结束程序。2. 未进行输入值的验证,输入的值可能超出整型变量的范围,导致程序运行出错。修改建议:1. 在Command3按钮中添加适当的处理代码,避免程序直接结束。2. 在Text1、Text2输入框内容改变时,增加输入值验证,确保输入的值在整型变量的有效范围内。

VB编程时提示未找到方法或数据成员,怎么解决?
该错误发生的原因和解决方法如下:对象或成员名称拼写错误。检查名称拼写并检查 Type 语句或对象文档,以确定成员以及对象或成员名称的正确拼写。检查 Count 属性以确定某个集合成员是否存在。注意,集合索引从 1 开始,而不是从 0 开始,因此 Count 属性返回最大可能的索引数。Private Sub Cmddisplay_Clic...

VB中一般会出现哪些错误 应该怎么处理 急急急!! 会考马上要到了 就在1...
语法错误是指语句的拼写、各式上的错误。当出现明显的语法错误时,vb会在写完这行代码的时候直接报错,并提示修正。有时个别语法错误因为部分屏蔽设置不会报错,但是在编译时一般都会报错。例如:for next语句:a=0 for i=0 to 100 step 1 a=a+i next i 如果写错了里面的个别字,如果第一行的等...

VB代码出现错误,提示为:运行时错误‘9’,下标越界,如下图。请大神指教...
这个和你的数组有关,比如你取得的数组是空的,但你要取数组的第一个的数据时,就会出错,下标越界了,因为总数是0,你要取1位置的数据,当然就超出下标了。建议先判断有多少数组,再进行调用。

VB溢出错误,求代码修改。
TmpIndex是Integer型,范围是-32768到32767,如果出现“溢出”错误,那就表示TmpIndex的值超出这个范围了。如果是运行多次后才出错,那么最大的可能就是在每次运行时没有把TmpIndex清零,这样累积多次后就超出范围了。如果不是这个问题,那么可以把它改为Long型(最大值可以达21亿多)再试试。

麻烦各位给我看一下这段vb代码,为什么出现实时错误 13? 怎么修改? 谢...
你将倒数第五行(下面的内容)Loop While (c = "." Or "," Or "?" Or "!")改成下面的样子应该就解决了:Loop While (c = "." Or c = "," Or c = "?" Or c = "!")

求助VB大神,有一个积分系统,现在有错误不会改,求助。
用VB打开源代码,单步执行,看执行到什么地方弹出的错误提示,从而发现需要修改的地方。当然有很大可能是程序引用了第三方控件或对象,已将错误封装到控件和对象中了,这就需要查找相应经过破解的控件或对象了。

十万火急!!!求VB代码高手来看哪里出错,修改后数据库里全部年级,课程代 ...
修改后数据库里全部年级,课程代号,课程名称都改了! 很正常呀,这个正是你程序中需要的代码呀。其实你是想仅修改所选择的 班级信息吧:Dim sql2 As String = "update kecheng set 年级='" & TextBox2.Text.ToString().Trim() & "',课程代号='" & TextBox3.Text.ToString.Trim() & ...

VB编程出错
也可以像文本框一样,用键入的项目.其属性有:style,text。事件有dblclick(又击)、click(单击)、dropdown(当用户单击组合框中向下的箭头时触发此事件)、change(当用户选择项目时触发此事件)。其方法有:additem(增加项目)、clear(清空combo)、removeitem(移出项目)...

相似回答
大家正在搜