wshのちょっとしたスクリプト
ログを書くhta
C:\log.txtにログを書く。テキストボックスには一番新しいログの内容を初期表示する。
<html><head>
<title>test</title>
<script language="VBScript">
Option Explicit
'********************************************
' 初期処理
'********************************************
Dim logfile
Dim history_cnt
logfile = "C:\log.txt"
Sub Window_onLoad
window.resizeTo 400,100
ReadFile(logfile)
End Sub
'********************************************
' ログ出力メイン
'********************************************
Sub PutLog
Dim text
text = document.form1.txt_log.value
WriteToFile(text)
window.close()
End Sub
'********************************************
' ログファイル書き込み
'********************************************
Sub WriteToFile(text)
Dim fso
Dim textFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set textFile = fso.OpenTextFile(logfile, 8, True)
textFile.WriteLine Now & " " & text
textFile.Close
End Sub
'********************************************
' ログファイル読み込み
'********************************************
Sub ReadFile(text)
Dim fso
Dim textFile
Dim line
Set fso = CreateObject("Scripting.FileSystemObject")
Set textFile = fso.OpenTextFile(logfile)
Do While textFile.AtEndOfStream <> True
line = textFile.ReadLine
If line <> "" Then document.form1.txt_log.value = Midb(line,41,Lenb(line)-40)
Loop
textFile.Close
End Sub
</script>
<!-- ///// 画面表示 ///// -->
<HTA:APPLICATION SCROLL="no" BORDER="dialog" BORDERSTYLE="static">
</head>
<body onLoad="document.form1.txt_log.focus()">
<form name="form1">
<p>
<!--
<select name="sel_log">
<option value=""></option>
</select><br>
-->
<input type="text" name="txt_log" value="" size="60">
<input type="button" value="OK" onClick="PutLog()" /></p>
</form>
</body></html>
InternetExplorerを操作する
Dim logintest
Dim array1, file
Dim fso, data_csv, readstr
Dim UntanFromFile, NameFromFile, PassFromFile
'file = "C:\tmp\ログインテストツール\test.cvs"
file = "test.cvs"
set fso = CreateObject("Scripting.FileSystemObject")
set data_csv =fso.OpenTextFile(file,1)
set logintest = CreateObject("WScript.Shell")
logintest.Run("http://test.co.jp/login.cfm")
Do While Not data_csv.AtEndOfStream
readstr = data_csv.ReadLine
array1 = split(readstr,",",-1)
UntanFromFile = array1(0)
NameFromFile = array1(1)
PassFromFile = array1(2)
WScript.sleep(2000)
'ログイン
logintest.Sendkeys("{TAB}{TAB}")
logintest.Sendkeys(UntanFromFile)
logintest.Sendkeys("{TAB}")
WScript.sleep(500)
logintest.Sendkeys(NameFromFile)
logintest.Sendkeys("{TAB}")
WScript.sleep(500)
logintest.Sendkeys(PassFromFile)
'「ログイン」ボタンを押す
logintest.Sendkeys("{TAB}")
logintest.Sendkeys("{ENTER}")
WScript.sleep(4000)
'「ログアウト」ボタンを押す
logintest.Sendkeys("{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}")
logintest.Sendkeys("{ENTER}")
WScript.sleep(2000)
'「ログイン画面へ」ボタンを押す
logintest.Sendkeys("{TAB}{TAB}")
logintest.Sendkeys("{ENTER}")
WScript.sleep(1000)
Loop
data_csv.Close
MDBに接続して結果をテキスト出力する
mdbfile = "test.mdb"
filename = "output.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set textFile = fso.OpenTextFile(filename, 8, True)
On Error Resume Next
Const adOpenStatic = 3
Const adLockOptimistic = 3
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
objConnection.Open _
"Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=" & mdbfile
objRecordSet.Open "SELECT * FROM MSysObjects" , _
objConnection, adOpenStatic, adLockOptimistic
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
textFile.WriteLine objRecordSet.Fields.Item("name")
objRecordSet.MoveNext
Loop
textFile.Close
メールを送る
自前のSMTPサーバ
Set oMsg = CreateObject("CDO.Message")
oMsg.From = "{From Address}"
oMsg.To = "{To Address}"
oMsg.Subject = "windows標準機能からメール"
oMsg.TextBody = "テストメッセージです" & vbCrLf & Now
oMsg.Send
外部SMTPサーバを使う
Set oMsg = CreateObject("CDO.Message")
oMsg.From = "{From Address}"
oMsg.To = "{To Address}"
oMsg.Subject = "Test2"
oMsg.TextBody = "テストメッセージです" & vbCrLf & Now
oMsg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMsg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp1.ibis.intec.co.jp"
oMsg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMsg.Configuration.Fields.Update
oMsg.Send
ファイルを読み書きする
'----------------------------------------------------------------------
' QuickLogger v.0.1
' Appends the date and a line of text to a file.
' Based on code written by Joshua Fitzgerald, 7/2005.
' Modified by Gina Trapani, 7/2006.
'----------------------------------------------------------------------
Option Explicit
Dim filename
filename = "worklog.txt"
Dim text
text = InputBox("Add to "&filename&":", "Quick Logger")
WriteToFile(text)
Sub WriteToFile(text)
Dim fso
Dim textFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set textFile = fso.OpenTextFile(filename, 8, True)
textFile.WriteLine Now & " " & text
textFile.Close
End Sub
最終更新:2008年03月05日 19:58