[已解决]求助每秒 復製excel B1 E1格的數據 到 $a1 $a2
本帖最后由 tcpuuu 于 2012-3-6 15:09 编辑不要用循環語句
底下這個 可以 每秒 抓電腦上時間 寫入$gu_Label1
要改成 每秒更新$gu_Label1 數值(這個數值是GUICtrlRead($A1))是這個GUI窗口 $A1框內的數字
該如何改#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;变量必须先声明后使用
Opt("MustDeclareVars", 1)
;创建GUI
Global $gu_Form1 = GUICreate("时间日期", 220, 52, -1, -1)
Global $gu_Label1 = GUICtrlCreateLabel("", 0, 16, 220, 17, $SS_CENTER)
;运行主函数
_Clock_Main()
Exit 1
;程序主函数
Func _Clock_Main()
;初始化日期、周几、时间值
_Clock_RefeshClock()
;显示GUI
GUISetState(@SW_SHOW)
;每隔一秒刷新日期、周几、时间值
AdlibRegister("_Clock_RefeshClock", 1000)
Local $nMsg
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
EndFunc ;==>_Clock_Main
;刷新日期、周几、时间值
Func _Clock_RefeshClock()
Local $Data = _Clock_Date() ;获取日期
Local $Time = _Clock_Time() ;获取时间
Local $Wday = _Clock_Wday() ;获取周几
;显示时钟信息
GUICtrlSetData($gu_Label1, $Data & " " & $Wday & " " & $Time)
EndFunc ;==>_Clock_RefeshClock
;获取日期
Func _Clock_Date()
Return @YEAR & "年" & @MON & "月" & @MDAY & "日"
EndFunc ;==>_Clock_Date
;获取时间
Func _Clock_Time()
Return @HOUR & ":" & @MIN & ":" & @SEC
EndFunc ;==>_Clock_Time
;获取周几
Func _Clock_Wday()
Local $a_Wday
;根据@WDAY的值(1~7)获取“星期x”的值
Switch @WDAY
Case 1
$a_Wday = "星期天"
Case 2
$a_Wday = "星期一"
Case 3
$a_Wday = "星期二"
Case 4
$a_Wday = "星期三"
Case 5
$a_Wday = "星期四"
Case 6
$a_Wday = "星期五"
Case 7
$a_Wday = "星期六"
EndSwitch
Return $a_Wday
EndFunc ;==>_Clock_Wday====================================================
本來每秒抓1次時間寫入$gu_Label1
改成 每秒抓一次GUICtrlRead($A1) 的數據 寫入$gu_Label1 大哥, 又是你!
难道你不知道本论坛有搜索功能吗?
这类问题, 这几天老有人问! 我在$A1框 輸入 1 過1秒$gu_Label1 框 變成1
輸入 2 ...
tcpuuu 发表于 2012-2-9 02:52 http://www.autoitx.com/images/common/back.gif
不错的进步, 恭喜楼主!
但对于窗口程序, 获取窗口消息的长循环应该跟主窗口代码放在一起, 而不是另外建立一个函数.
所以, 你应该把 _Clock_Main 函数去掉...
当然后面的 Exit 1 也是多余的了, 除非你在循环里加入了退出循环的代码. 本帖最后由 tcpuuu 于 2012-2-9 14:36 编辑
拜託 user3000 你可以幫我 改成
拜託大家幫助謝謝啦
每秒 復製excel B1 E1格的數據 到 $a1$a2
excel數字1直跳動 $a1$a2也跟著1直跳動
希望不會有造成重複開啟excel 的問題
#include <Excel.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("MustDeclareVars", 1)
Global $gu_Form1 = GUICreate("EXCEL TEST", 220, 160, -1, -1)
Global $gu_Label1 = GUICtrlCreateLabel("", 0, 16, 220, 17, $SS_CENTER)
Global $A1 = GUICtrlCreateInput("",2,38,64,22,0x01)
Global $A2 = GUICtrlCreateInput("",80,38,64,22,0x01)
GUISetState(@SW_SHOW)
AdlibRegister("aaa",1000)
Local $nMsg
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func aaa();
GUICtrlSetData($gu_Label1,GUICtrlRead($A1))
EndFunc ;aaa 干嘛不用EXCEL UDF? 本帖最后由 tcpuuu 于 2012-2-9 21:06 编辑
#include <Excel.au3>
#include <GUIConstantsEx.au3>
Global $gu_Form1 = GUICreate("EXCEL TEST", 220, 160, -1, -1)
Global $A1 = GUICtrlCreateInput("",2,38,64,22,0x01)
Global $A2 = GUICtrlCreateInput("",80,38,64,22,0x01)
_ExcelBookOpen(@ScriptDir&"\1.xls")
WinSetState("Microsoft Excel - 1.xls","",@SW_MINIMIZE)
Global $oExcel = _ExcelBookAttach("1.xls","FileName")
GUISetState(@SW_SHOW)
AdlibRegister("aaa",100)
Local $nMsg
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func aaa()
GUICtrlSetData($A1,_ExcelReadCell($oExcel, 2, 1));第2行第1列
GUICtrlSetData($A2,_ExcelReadCell($oExcel, 2, 5));第2列第5行
EndFunc;====aaa
==================================================
IF 1.xls 沒開啟 THEN
_ExcelBookOpen(@ScriptDir&"\1.xls") ;開啟1.xls
WinSetState("Microsoft Excel - 1.xls","",@SW_MINIMIZE) ;開啟之後 最小化
ENDIF
==========================================
以上這段 如何寫?
_ExcelReadCell
_ExcelBookOpen
以上這些 EXCEL函數 幫助 在那裡都找不到? **** Hidden Message *****
这个是我以前从论坛上下过的Excel操作示例, 很详细了.
还是那句话, 学习东西要善用论坛搜索.
学习东西, 更需要有耐心和毅力! 哦了个K看看 學習學習正在找問題的解決方法
页:
[1]