按键精灵想做个辅助工具,全局变量问题咨询求助
各位大佬好,小弟使用按键精灵想做一个辅助工作,奈何能力有限,特来请教软件版本2016,在论坛里下的
目前遇到的问题是,想讲通过获取系统时间后分离出来的日期 ddd 及 判断后的星期几 week定义为全局变量,但是第7行Global week 报错
语义错误:脚本 我的脚本1 ,第7行:错误的定义范围。错误附加码=2757:0
源文件如下:
Event Form1.Load
Form1.InputBox1.Text = "欢迎使用本工具"
sDate = Plugin.Sys.GetDateTime()//获取系统时间
//TracePrint "您的操作系统日期和时间:" & sDate
Global week
week = Weekday(sDate)
Dim MyArray
Dim yyy, mmm, ddd
Dim str
MyArray = Split(sDate, "-")
yyy = int(MyArray(0))//定义年
mmm = int(MyArray(1))//定义月
Dim MyArray1//分离日
MyArray1 = Split(MyArray(2), " ")
ddd = int(MyArray1(0))//定义日
Dim Ds, Df//定义开始日期结束日期
Ds = 1//默认开始第一天
Form1.ComboBox1.ListIndex = Ds - 1
Form1.InputBox1.Text = Form1.InputBox1.Text + vbcrlf + "默认起始日期:" & Ds & "日"
Delay 300
Df = ddd//默认结束为最后一天
Form1.ComboBox2.ListIndex = ddd - 1
Form1.InputBox1.Text = Form1.InputBox1.Text + vbcrlf + "默认结束日期:" & Df & "日"
Delay 300
End Event
Event Form1.LoadOver
//Delay 300
Form1.InputBox1.Text = Form1.InputBox1.Text + vbcrlf + "当前时间为:" & sDate//"今日是:"& yyy & "年" & mmm &"月" & ddd &"日"
//week = Weekday(sDate)
//MessageBox week
//TracePrint Df
End Event
Event Form1.ComboBox1.SelectChange
Delay 200
mmm = mmm
Ds =Form1.ComboBox1.ListIndex + 1
TracePrint Ds
Form1.InputBox1.Text = Form1.InputBox1.Text + vbcrlf +"已选择起始日期:" & Ds &"日"
End Event
Event Form1.ComboBox2.SelectChange
Delay 200
mmm = mmm
Df =Form1.ComboBox2.ListIndex + 1
Form1.InputBox1.Text = Form1.InputBox1.Text + vbcrlf +"已选择结束日期:" & Df & "日"
End Event
Event Form1.Button1.Click
Delay 500
Dim x, y, x1, y1, week1, A,Df
A = Df mod 7
week1 = week - A + 1
TracePrint week1
Form1.InputBox1.Text = Form1.InputBox1.Text + vbcrlf + "开始填报,今天为星期" & week
Delay 500
x = 500 + week * 150
y = 580
Form1.InputBox1.Text = Form1.InputBox1.Text + vbcrlf +"初始坐标为" & x &","& y
End Event
week是不是关键字啥的? 是不是sDate里带了时间的问题,把sDate里的时间去掉看看 学习一下 global放到第一行试试 楼主,你的脚本像vb,感谢分享 a1094426901 发表于 2022-11-25 14:34
week是不是关键字啥的?
应该不是吧,局部变量中是可用的,错误代码是2757 全局变量放在事件子程序外边 没太看懂,先赞为敬 Janision 发表于 2022-11-25 14:35
是不是sDate里带了时间的问题,把sDate里的时间去掉看看
在事件1 Event Form1.Load 里没有问题
week = Weekday(sDate) 是整数型的周几
用messagebox输出 是5
但是在事件5 Event Form1.Button1.Click
中week值就变成0了,所以我怀疑是局部变量的问题