「VBScript_Common」の編集履歴(バックアップ)一覧はこちら

VBScript_Common」(2009/01/13 (火) 17:50:32) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

'________________________________________________________________ '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ' 共通定数 '________________________________________________________________ '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ' Const OpenTextFile Option Const FILE_R = 1 Const FILE_W = 2 Const FILE_A = 8 '________________________________________________________________ '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ' 共通変数 '________________________________________________________________ '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dim Debug Dim MyINI Dim MyWin Dim PGBIE ' IE オブジェクト Dim m_lngBarNow Dim m_lngBarMax '________________________________________________________________ '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ' 共通関数 '________________________________________________________________ '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ '---------------------------------------------------------------- ' Name :StartDebugLog ' Detail:デバッグログ初期設定 ' Arg(0):ファイル名 '---------------------------------------------------------------- Sub StartDebugLogHtml( _ ByVal vProgName _ ) Set Debug = New CLog Debug.Stack = True Call Debug.SetFileHtml( vProgName) End Sub '---------------------------------------------------------------- ' Name :StartDebugLog ' Detail:デバッグログ初期設定 ' Arg(0):ファイル名 '---------------------------------------------------------------- Sub StartDebugLogWsf( _ ByVal vProgName _ ) Set Debug = New CLog Call Debug.SetFileWsf( vProgName) End Sub '---------------------------------------------------------------- ' Name :StartMyINIFile ' Detail:Iniファイルアクセス ' Arg(0):ファイル名 '---------------------------------------------------------------- Sub StartMyINIFileHtml( _ ByVal vProgName _ ) Set MyINI = New CProfile Call MyINI.SetFileHtml( vProgName) End Sub '---------------------------------------------------------------- ' Name :StartMyINIFile ' Detail:Iniファイルアクセス ' Arg(0):ファイル名 '---------------------------------------------------------------- Sub StartMyINIFileWsf( _ ByVal vProgName _ ) Set MyINI = New CProfile Call MyINI.SetFileWsf( vProgName) End Sub Sub SetWindow( _ ByRef vWindow _ ) Set MyWin = vWindow End Sub Sub MsgStatusBer( _ ByVal vstrMsg _ ) MyWin.status = vstrMsg End Sub '---------------------------------------------------------------- ' Name :SFSO ' Detail:ファイルシステムオブジェクトを取得する ' Return:ファイルシステムオブジェクト '---------------------------------------------------------------- Function SFSO Set SFSO = CreateObject( "Scripting.FileSystemObject") End Function Function getRunFolderPath() Set objShell = CreateObject("Wscript.Shell") strPath = Wscript.ScriptFullName Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.GetFile(strPath) getRunFolderPath = objFSO.GetParentFolderName(objFile) End Function Function TimeDiff(ByVal a, ByVal b) Dim x If b >= a Then x = b - a Else x = (86400 - a) + b ' 真夜中の0時を跨いだときの対処 End If TimeDiff = x End Function Sub ComCMD_Run( _ ByVal vstrPaht, _ ByVal vstrArg _ ) Const vbHide = 0 'ウィンドウを非表示 Const vbNormalFocus = 1 '通常のウィンドウ、かつ最前面のウィンドウ Const vbMinimizedFocus = 2 '最小化、かつ最前面のウィンドウ Const vbMaximizedFocus = 3 '最大化、かつ最前面のウィンドウ Const vbNormalNoFocus = 4 '通常のウィンドウ、ただし、最前面にはならない Const vbMinimizedNoFocus = 6 '最小化、ただし、最前面にはならない Dim objWShell Set objWShell = CreateObject("WScript.Shell") objWShell.Run """" & vstrPaht & """ " & vstrArg, vbMinimizedFocus, False Set objWShell = Nothing Debug.Print "1" End Sub Sub ComCMD_Progress_Create() Set PGBIE = CreateObject("InternetExplorer.Application") PGBIE.Width = 180 PGBIE.Height = 100 PGBIE.Left = 0 PGBIE.Top = screen.height - 150 PGBIE.AddressBar = false PGBIE.MenuBar = false PGBIE.ToolBar = false PGBIE.Resizable = false PGBIE.Visible = true End Sub Sub ComCMD_Progress_Close() If Not PGBIE is Nothing Then PGBIE.Quit Set PGBIE = Nothing End If End Sub Sub ComCMD_Progress_Msg( _ ByVal vstrMsg _ ) PGBIE.StatusText = vstrMsg End Sub Sub ComCMD_Progress_Start( _ ByVal viniMax _ ) m_lngBarNow = 0 m_lngBarMax = viniMax PGBIE.StatusText = "(" & m_lngBarNow & "%)" & _ String(lngLoop, "■") & String(10 - lngLoop, "□") End Sub Sub ComCMD_Progress_Add() Dim lngNow m_lngBarNow = m_lngBarNow + 1 lngNow = Fix( m_lngBarNow / (m_lngBarMax / 100)) PGBIE.StatusText = "(" & lngNow & "%)" & _ String(m_lngBarNow / (m_lngBarMax / 10), "■") & String(10 - m_lngBarNow / (m_lngBarMax / 10), "□") & _ " " & m_lngBarNow & " / " & m_lngBarMax If m_lngBarNow / (m_lngBarMax / 10) >= 10 Then PGBIE.Quit Set PGBIE = Nothing End If End Sub '********************************************************************* '  日付型フォーマット関数             ver 1.0 00.10.19 ' '  引数(1):[Date] フォーマットしたい日付型 '    (2):[String] フォーマット型(ページ後方に記載) '  戻値 :[String] フォーマットされた文字列 '********************************************************************* Function FormatTime(datTime,strFormat) Dim tmpFormat Dim cntType Dim FormatType FormatType = Split("YYYY/YY/MM/M/DD/D/HH24/H24/HH/H/II/I/SS/S/XX/ZZ","/") tmpFormat = Cstr(strFormat) For cntType = 0 To Ubound(FormatType) If InStr(tmpFormat,FormatType(cntType)) > 0 Then Select Case FormatType(cntType) Case "HH24" tmpFormat = Replace(tmpFormat,"HH24",Right(CStr(Hour(datTime) + 100),2)) Case "H24" tmpFormat = Replace(tmpFormat,"H24",CStr(Hour(datTime))) Case "HH" tmpFormat = Replace(tmpFormat,"HH",Right(CStr((Hour(datTime) Mod 12) + 100),2)) Case "H" tmpFormat = Replace(tmpFormat,"H",CStr(Hour(datTime) Mod 12)) Case "II" tmpFormat = Replace(tmpFormat,"II",Right(CStr(Minute(datTime) + 100),2)) Case "I" tmpFormat = Replace(tmpFormat,"I",CStr(Minute(datTime))) Case "SS" tmpFormat = Replace(tmpFormat,"SS",Right(CStr(Second(datTime) + 100),2)) Case "S" tmpFormat = Replace(tmpFormat,"S", CStr(Second(datTime))) Case "YYYY" If Len(CStr(Year(datTime))) = 2 Then If Year(datTime) > 30 Then tmpFormat = Replace(tmpFormat,"YYYY","19" & CStr(Year(datTime))) Else tmpFormat = Replace(tmpFormat,"YYYY","20" & CStr(Year(datTime))) End If Else tmpFormat = Replace(tmpFormat,"YYYY",CStr(Year(datTime))) End If Case "YY" tmpFormat = Replace(tmpFormat,"YY",Right(CStr(Year(datTime)),2)) Case "MM" tmpFormat = Replace(tmpFormat,"MM",Right(CStr(Month(datTime) + 100),2)) Case "M" tmpFormat = Replace(tmpFormat,"M",CStr(Month(datTime))) Case "DD" tmpFormat = Replace(tmpFormat,"DD",Right(CStr(Day(datTime) + 100),2)) Case "D" tmpFormat = Replace(tmpFormat,"D",CStr(Day(datTime))) Case "XX" If Hour(datTime) < 12 Then tmpFormat = Replace(tmpFormat,"XX","午前") Else tmpFormat = Replace(tmpFormat,"XX","午後") End If Case "ZZ" If Hour(datTime) < 12 Then tmpFormat = Replace(tmpFormat,"ZZ","AM") Else tmpFormat = Replace(tmpFormat,"ZZ","PM") End If End Select End If Next FormatTime = CStr(tmpFormat) End Function '********************************************************************* ' フォーマット指定できる型について(日付型からの変換) '  YYYY 西暦4桁 '  YY 西暦2桁 '  MM 月2桁 '  M 月1桁 '  DD 日2桁 '  D 日1桁 '  HH24 時2桁(24時間) '  H24 時1桁(24時間) '  HH 時2桁(12時間) '  H 時1桁(12時間) '  II 分2桁 '  I 分1桁 '  SS 秒2桁 '  S 秒1桁 '  XX 午前/午後 '  ZZ AM/PM '*********************************************************************
Common ---- '________________________________________________________________ '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ' 共通定数 '________________________________________________________________ '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ' Const OpenTextFile Option Const FILE_R = 1 Const FILE_W = 2 Const FILE_A = 8 '________________________________________________________________ '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ' 共通変数 '________________________________________________________________ '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dim Debug Dim MyINI Dim MyWin Dim PGBIE ' IE オブジェクト Dim m_lngBarNow Dim m_lngBarMax '________________________________________________________________ '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ' 共通関数 '________________________________________________________________ '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ '---------------------------------------------------------------- ' Name :StartDebugLog ' Detail:デバッグログ初期設定 ' Arg(0):ファイル名 '---------------------------------------------------------------- Sub StartDebugLogHtml( _ ByVal vProgName _ ) Set Debug = New CLog Debug.Stack = True Call Debug.SetFileHtml( vProgName) End Sub '---------------------------------------------------------------- ' Name :StartDebugLog ' Detail:デバッグログ初期設定 ' Arg(0):ファイル名 '---------------------------------------------------------------- Sub StartDebugLogWsf( _ ByVal vProgName _ ) Set Debug = New CLog Call Debug.SetFileWsf( vProgName) End Sub '---------------------------------------------------------------- ' Name :StartMyINIFile ' Detail:Iniファイルアクセス ' Arg(0):ファイル名 '---------------------------------------------------------------- Sub StartMyINIFileHtml( _ ByVal vProgName _ ) Set MyINI = New CProfile Call MyINI.SetFileHtml( vProgName) End Sub '---------------------------------------------------------------- ' Name :StartMyINIFile ' Detail:Iniファイルアクセス ' Arg(0):ファイル名 '---------------------------------------------------------------- Sub StartMyINIFileWsf( _ ByVal vProgName _ ) Set MyINI = New CProfile Call MyINI.SetFileWsf( vProgName) End Sub Sub SetWindow( _ ByRef vWindow _ ) Set MyWin = vWindow End Sub Sub MsgStatusBer( _ ByVal vstrMsg _ ) MyWin.status = vstrMsg End Sub '---------------------------------------------------------------- ' Name :SFSO ' Detail:ファイルシステムオブジェクトを取得する ' Return:ファイルシステムオブジェクト '---------------------------------------------------------------- Function SFSO Set SFSO = CreateObject( "Scripting.FileSystemObject") End Function Function getRunFolderPath() Set objShell = CreateObject("Wscript.Shell") strPath = Wscript.ScriptFullName Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.GetFile(strPath) getRunFolderPath = objFSO.GetParentFolderName(objFile) End Function Function TimeDiff(ByVal a, ByVal b) Dim x If b >= a Then x = b - a Else x = (86400 - a) + b ' 真夜中の0時を跨いだときの対処 End If TimeDiff = x End Function Sub ComCMD_Run( _ ByVal vstrPaht, _ ByVal vstrArg _ ) Const vbHide = 0 'ウィンドウを非表示 Const vbNormalFocus = 1 '通常のウィンドウ、かつ最前面のウィンドウ Const vbMinimizedFocus = 2 '最小化、かつ最前面のウィンドウ Const vbMaximizedFocus = 3 '最大化、かつ最前面のウィンドウ Const vbNormalNoFocus = 4 '通常のウィンドウ、ただし、最前面にはならない Const vbMinimizedNoFocus = 6 '最小化、ただし、最前面にはならない Dim objWShell Set objWShell = CreateObject("WScript.Shell") objWShell.Run """" & vstrPaht & """ " & vstrArg, vbMinimizedFocus, False Set objWShell = Nothing Debug.Print "1" End Sub Sub ComCMD_Progress_Create() Set PGBIE = CreateObject("InternetExplorer.Application") PGBIE.Width = 180 PGBIE.Height = 100 PGBIE.Left = 0 PGBIE.Top = screen.height - 150 PGBIE.AddressBar = false PGBIE.MenuBar = false PGBIE.ToolBar = false PGBIE.Resizable = false PGBIE.Visible = true End Sub Sub ComCMD_Progress_Close() If Not PGBIE is Nothing Then PGBIE.Quit Set PGBIE = Nothing End If End Sub Sub ComCMD_Progress_Msg( _ ByVal vstrMsg _ ) PGBIE.StatusText = vstrMsg End Sub Sub ComCMD_Progress_Start( _ ByVal viniMax _ ) m_lngBarNow = 0 m_lngBarMax = viniMax PGBIE.StatusText = "(" & m_lngBarNow & "%)" & _ String(lngLoop, "■") & String(10 - lngLoop, "□") End Sub Sub ComCMD_Progress_Add() Dim lngNow m_lngBarNow = m_lngBarNow + 1 lngNow = Fix( m_lngBarNow / (m_lngBarMax / 100)) PGBIE.StatusText = "(" & lngNow & "%)" & _ String(m_lngBarNow / (m_lngBarMax / 10), "■") & String(10 - m_lngBarNow / (m_lngBarMax / 10), "□") & _ " " & m_lngBarNow & " / " & m_lngBarMax If m_lngBarNow / (m_lngBarMax / 10) >= 10 Then PGBIE.Quit Set PGBIE = Nothing End If End Sub '********************************************************************* '  日付型フォーマット関数             ver 1.0 00.10.19 ' '  引数(1):[Date] フォーマットしたい日付型 '    (2):[String] フォーマット型(ページ後方に記載) '  戻値 :[String] フォーマットされた文字列 '********************************************************************* Function FormatTime(datTime,strFormat) Dim tmpFormat Dim cntType Dim FormatType FormatType = Split("YYYY/YY/MM/M/DD/D/HH24/H24/HH/H/II/I/SS/S/XX/ZZ","/") tmpFormat = Cstr(strFormat) For cntType = 0 To Ubound(FormatType) If InStr(tmpFormat,FormatType(cntType)) > 0 Then Select Case FormatType(cntType) Case "HH24" tmpFormat = Replace(tmpFormat,"HH24",Right(CStr(Hour(datTime) + 100),2)) Case "H24" tmpFormat = Replace(tmpFormat,"H24",CStr(Hour(datTime))) Case "HH" tmpFormat = Replace(tmpFormat,"HH",Right(CStr((Hour(datTime) Mod 12) + 100),2)) Case "H" tmpFormat = Replace(tmpFormat,"H",CStr(Hour(datTime) Mod 12)) Case "II" tmpFormat = Replace(tmpFormat,"II",Right(CStr(Minute(datTime) + 100),2)) Case "I" tmpFormat = Replace(tmpFormat,"I",CStr(Minute(datTime))) Case "SS" tmpFormat = Replace(tmpFormat,"SS",Right(CStr(Second(datTime) + 100),2)) Case "S" tmpFormat = Replace(tmpFormat,"S", CStr(Second(datTime))) Case "YYYY" If Len(CStr(Year(datTime))) = 2 Then If Year(datTime) > 30 Then tmpFormat = Replace(tmpFormat,"YYYY","19" & CStr(Year(datTime))) Else tmpFormat = Replace(tmpFormat,"YYYY","20" & CStr(Year(datTime))) End If Else tmpFormat = Replace(tmpFormat,"YYYY",CStr(Year(datTime))) End If Case "YY" tmpFormat = Replace(tmpFormat,"YY",Right(CStr(Year(datTime)),2)) Case "MM" tmpFormat = Replace(tmpFormat,"MM",Right(CStr(Month(datTime) + 100),2)) Case "M" tmpFormat = Replace(tmpFormat,"M",CStr(Month(datTime))) Case "DD" tmpFormat = Replace(tmpFormat,"DD",Right(CStr(Day(datTime) + 100),2)) Case "D" tmpFormat = Replace(tmpFormat,"D",CStr(Day(datTime))) Case "XX" If Hour(datTime) < 12 Then tmpFormat = Replace(tmpFormat,"XX","午前") Else tmpFormat = Replace(tmpFormat,"XX","午後") End If Case "ZZ" If Hour(datTime) < 12 Then tmpFormat = Replace(tmpFormat,"ZZ","AM") Else tmpFormat = Replace(tmpFormat,"ZZ","PM") End If End Select End If Next FormatTime = CStr(tmpFormat) End Function '********************************************************************* ' フォーマット指定できる型について(日付型からの変換) '  YYYY 西暦4桁 '  YY 西暦2桁 '  MM 月2桁 '  M 月1桁 '  DD 日2桁 '  D 日1桁 '  HH24 時2桁(24時間) '  H24 時1桁(24時間) '  HH 時2桁(12時間) '  H 時1桁(12時間) '  II 分2桁 '  I 分1桁 '  SS 秒2桁 '  S 秒1桁 '  XX 午前/午後 '  ZZ AM/PM '*********************************************************************

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
人気記事ランキング
目安箱バナー