INDEX
VBScriptのメモとか小技とか…
Visual Basic Script
- VBScript ドキュメント
- VBScript ユーザーズ ガイド
- VBScript ランゲージ リファレンス
関数ごとのリファレンス
- MSDN Library / Exchange Server 2003 / CreateMHTMLBody Method
- MSDN Library / Exchange Server 2003 / CdoMHTMLFlags Enum
vbScriptでいろいろ
ファイル選択ダイアログの表示
フォルダの再帰的作成
指定したパスのディレクトリを作成する。親ディレクトリがない場合は、再帰的に親ディレクトリを作成していく。
1 |
Set objFso = WScript.CreateObject("Scripting.FileSystemObject")
Root = "C:\WORK\"
Path = "dir1\dir2\dir3"
call CreateFolderEx(Root & Path)
'===============================
Sub CreateFolderEx(strPath)
strParent = objFso.GetParentFolderName(strPath)
If objFso.FolderExists(strPath) Then
ElseIf objFso.FolderExists(strParent) Then
objFso.CreateFolder strPath
Else
call CreateFolderEx(strParent)
objFso.CreateFolder strPath
End If
End Sub
|
MHTML形式ファイルの作成
IEで「Webページの保存」ダイアログの保存形式のうち「Webアーカイブ、単一のファイル (*.mht)」を選択した場合に出来る、(ほぼ同等の)マルチパートMIME形式でエンコードされたファイルの作成する。
1 |
' Request URL and Save filename.
url = "http://www.yahoo.co.jp/"
file = "test.mht"
'===============================
Set objCdoMsg = WScript.CreateObject("CDO.Message")
objCdoMsg.MimeFormatted = true
call objCdoMsg.CreateMHTMLBody( url, 0, "", "")
Set objStm = objCdoMsg.GetStream()
call objStm.SaveToFile( file, 1 ) ' 1:新規のみ, 2:上書き
|
CreateMHTMLBody の第2引数は、MHTMLに含めない物のビットフラグ(CdoMHTMLFlags)で、デフォルトの0はすべて含める。第3と4引数は、BASIC認証のユーザとパスワード。
- mhtを作る方法 - ブックマクロ開発に (はてなダイアリー ID:takuya_1st)
プロキシ設定(レジストリ設定)
レジストリの設定を変更して、IEのプロキシサーバの設定を行う。
1 |
Const strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
Const HKEY_CURRENT_USER = &H80000001
' IEプロキシ設定のレジストリパス
Const strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings"
' [LAN にプロキシ サーバーを使用する] チェック ボックスを構成します。
objRegistry.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, "ProxyEnable", 1
' プロキシ サーバーの[アドレス] 設定と [ポート] 設定の両方を構成します。
objRegistry.SetStringValue HKEY_CURRENT_USER, strKeyPath, "ProxyServer", "proxy.example.com:8080"
' [ローカル アドレスにはプロキシ サーバーを使用しない] チェック ボックスを構成します。
objRegistry.SetStringValue HKEY_CURRENT_USER, strKeyPath, "ProxyOverride", "<local>"
Set objRegistry = Nothing
|
- Hey, Scripting Guy! (Microsoft TechNet)
DirectX のバージョンを確認する(レジストリの値をとる)
1 |
Const strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
Const HKEY_LOCAL_MACHINE = &H80000002
' DirectXのレジストリパス
Const strKeyPath = "Software\Microsoft\DirectX"
' DirectX のバージョンを取得する
objRegistry.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath, "Version", strValue
' 実際のバージョンからリリースバージョンに変換する
Select Case strValue
Case "4.02.0095"
strVersion = "1.0"
Case "4.03.00.1096"
strVersion = "2.0"
Case "4.04.0068"
strVersion = "3.0"
Case "4.04.0069"
strVersion = "3.0"
Case "4.05.00.0155"
strVersion = "5.0"
Case "4.05.01.1721"
strVersion = "5.0"
Case "4.05.01.1998"
strVersion = "5.0"
Case "4.06.02.0436"
strVersion = "6.0"
Case "4.07.00.0700"
strVersion = "7.0"
Case "4.07.00.0716"
strVersion = "7.0a"
Case "4.08.00.0400"
strVersion = "8.0"
Case "4.08.01.0881"
strVersion = "8.1"
Case "4.08.01.0810"
strVersion = "8.1"
Case "4.09.0000.0900"
strVersion = "9.0"
Case "4.09.00.0900"
strVersion = "9.0"
Case "4.09.0000.0901"
strVersion = "9.0a"
Case "4.09.00.0901"
strVersion = "9.0a"
Case "4.09.0000.0902"
strVersion = "9.0b"
Case "4.09.00.0902"
strVersion = "9.0b"
Case "4.09.00.0904"
strVersion = "9.0c"
Case "4.09.0000.0904"
strVersion = "9.0c"
Case Else
strVersion = "UNKOWN(" & strVersion & ")"
End Select
Wscript.Echo "DirectX " & strVersion
|
- Hey, Scripting Guy! (Microsoft TechNet)
最終更新時間:2009年03月17日 10時33分53秒 指摘や意見などあればSandBoxのBBSへ。