자동 주문

2709 단어
t0nsha에서 일하는 회사는 점심만 제공한다. 저녁이 필요하면 16:50 정도에 Excel표에 등록(이 Excel 파일은svn에 저장)한 후commit를 서버에 돌려보내야 식표를 받을 수 있다.공짜 저녁이 있는데 t0nsha는 당연히 싫지만 t0nsha는 게으르고 기억력이 좋지 않아서 삶은 오리가 날아가는 것을 자주 봐서...
그래서 t0nsha는 생각해서 vbs 스크립트를 썼는데 t0nsha가 자동으로 Excel에 등록하고commit가 서버로 돌아가는 것을 도울 수 있다.
'supper.vbs
't0nsha@20090305
'funny script for auto order supper.

Sub wait(strCommand)
' run a Command and wait it exit.

    Dim oShell
    Set oShell = WScript.CreateObject ("WSCript.shell")
    '7: Displays the window as a minimized window. The active window remains active.
    ret = oShell.Run(strCommand, 7, true)
    Set oShell = Nothing
    
    If ret <> 0 Then
        MsgBox "Something is wrong!"
    End If
    
End Sub

Sub sp()
' use ado to update supper file

    xls="D:/Common/supper.xls"
    arrName=Array("t0nsha","dunxia")
     
    Set cn = CreateObject("ADODB.Connection")
    With cn
    	.Provider = "Microsoft.Jet.OLEDB.4.0"
    	.ConnectionString = "Data Source=" & xls & ";" & _
            "Extended Properties=Excel 8.0;"
    	.Open
    End With
    
    Set rs = CreateObject("ADODB.Recordset")
    For Each name In arrName 
        'F1 indicate Field 1, start from 1
        sql = "UPDATE [MenuSheet$A14:R50] SET F18 = 'Ordered' where F1 = '"
        sql = sql & name & "'"
        Call rs.Open(sql,cn)
    Next

    Set cn = Nothing
    Set rs = Nothing

End Sub

'Chr(34) = "
supper = Chr(34) & "D:/Common/supper.xls" & Chr(34)
up = "svn update " & supper
ci = "svn commit -m " & Chr(34) & Chr(34) & " " & supper

wait(up)
sp()
wait(ci)

OK, 지금 t0nsha는 16:50에 이 스크립트를 실행하기만 하면 주문을 끝냅니다.그런데 t0nsha의 기억력이 아직 좋지 않다는 것을 잊지 마세요. 언젠가 운행을 잊어버리면 또over가 아닌가요?t0nsha는 이 문제를 반드시 해결해야 한다고 생각했다.
rem autosupper.bat
rem t0nsha@20090305

schtasks /delete /tn "Order Supper" /f

schtasks /create /ru t0nsha /rp mypassword /sc weekly /d mon,tue,wed,thu,fri /tn "Order Supper" /tr "%cd%/supper.vbs" /st 16:50:00

이 "autosupper.bat"이 있으면 t0nsha는 앞의'supper.vbs'와 같은 디렉터리에 놓고,'autosupper.bat'를 한 번 실행한 후에 안심할 수 있습니다~~~~
원문 링크:http://blog.csdn.net/t0nsha/article/details/3957510

좋은 웹페이지 즐겨찾기