アットウィキロゴ

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

タグ:

wsh
最終更新:2008年03月05日 19:58