リンク
Microsoft VBScript ランゲージリファレンス
VBScript : 複数テキストファイルの charset(キャラクタセット) 一括変換 / ADODB.Stream
目次
WSH
WScript オブジェクト
スクリプトの中でそのまま使える。
プロパティ
- Application : Wscript.Applicationで「Windows スクリプティングホスト」の文字列を返す。
- Arguments : コマンドラインの引数を、WshArgumentsオブジェクト(コレクション)として返す。
例)WScript.Arguments( 0 ) → インデックス(0)で、最初の引数を表示する。 - FullName : wscript.exe か cscript.exe か、フルパスで表示。
- interactive : 対話モードかバッチモードか表示。値の設定もできる。
- Name : WScript オブジェクトの名前を表示。
- Path : Wsh の実行可能ファイルが保存されているディレクトリのフルパスを表示。
- ScriptFullName : スクリプトファイルのフルパス名を表示。
- ScriptName : スクリプトファイルのファイル名だけを表示。
- Version : Wsh のバージョンを表示。
メソッド
- CreateObject( プログラム識別子 ) : オブジェクトを作成する。例:WScript.CreateObject("Excel.Application")
- DisconnectObject : オブジェクトとの接続を解除する。
- Echo 値1 [,値2] … : 引数を表示する。例:WScript.Echo "今日は", strDate, "です。"
- GetObject( ファイル名 [,プログラム識別子] [,プレフィックス] ): オートメーションオブジェクトを取得。
例:WScript.GetObject "c:\home\s018.wav", "MediaPlayer.MediaPlayer.1" メディアプレーヤーで再生。 - Quit( エラーコード ) : エラーコードで、スクリプトの実行を終了させる。何も指定しないと、エラーコードは0。
WshArguments オブジェクト
例)objArg = WScript.Arguments
プロパティ
- Count: 引数の個数を表示(VBScriptのみ)。
- Item( インデックス ): インデックスで指定した引数を表示。規定のプロパティなので省略可。
WScript.Arguments.Item( i ) は WScript.Arguments( i )と同じ。 - length: 引数の個数を表示(WScriipt、JScript)。
WshShell オブジェクト
例)objShell = WScript.CreateObject( "WScript.Shell" )
プロパティ
- Environment( [タイプ] ): 環境変数を、WshEnvironment オブジェクト(コレクション)で返す。
objShell.Environment("System") - SpecialFolders( 特殊フォルダ名 ): 特殊フォルダのパスを、WshSpecialFolders オブジェクト(コレクション)で返す。
objShell.SpecialFolders( "Desktop" )
メソッド
- CreateShortcut: WshShortcut オブジェクトを返す。実際に作成するのは WshShortcut の Saveメソッド。
objShell = WScript.CreateObject( "WScript.Shell" )
strDesktop = objShell.SpecialFolders( "Desktop" )
objShortcut = objShell.CreateShortcut( strDesktop & "\homehome.lnk" )
objShortcut.TargetPath = "c:\home\homehome.exe"
objShortcut.Save - ExpandEnvironmentStrings: 環境変数の値を表示。
- Popup( メッセージ, [表示秒数], [タイトル], [タイプ] ): メッセージボックスを表示。
- RegDelete: レジストリのキーまたは値を削除。
- RegRead: レジストリのキーまたは値を読み出す。
- RegWrite: レジストリにキーまたは値を書き込む。
- Run( コマンド, [ウィンドウのスタイル], [終了待ちのフラグ] ): コマンドを実行。
objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run "notepad.exe", 1, 1
WshEnvironment オブジェクト
例)objEnv = objShell.Environment( "Process" )
プロパティ
- Count: WshEnvironment に含まれる要素の個数を表示。
- Item( キー ): 環境変数の値を表示。
- length: WshEnvironment に含まれる要素の個数を表示。
メソッド
- Remove 環境変数名: 環境変数を削除する。
WshSpecialFolders オブジェクト
例)objSF = objShell.SpecialFolders
プロパティ
- Count: 要素の個数を表示。
- length: 要素の個数を表示。
- Item( キー ): 特殊フォルダのパス名を表示。
objSF.Item( "Desktoop" ) or objSF( "Desktoop" ) or objShell.SpecialFolders( "Desktoop" )特殊フォルダ名 AllUsersDesktop :全ユーザ共通のデスクトップ。 AllUsersStartMenu :全ユーザ共通のスタートメニュー。 AllUsersPrograms :全ユーザ共通のスタートメニューのプログラムフォルダ。 AllUsersStartup :全ユーザ共通のスタートメニューのスタートアップフォルダ。 Templates :テンプレート( ShellNew )フォルダ。 Fonts :フォントフォルダ。 Desktop :個人用デスクトップ。 StartMenu :個人用スタートメニュー。 Programs :個人用スタートメニューのプログラムフォルダ。 Startup :個人用スタートメニューのスタートアップフォルダ。 Favorits :個人用お気に入りフォルダ。 MyDocuments :個人用 MyDocuments フォルダ。 Recent :個人用の最近使ったファイル。 SendTo :個人用の SendTo フォルダ。 NetHood :個人用 NetHood フォルダ。 PeintHood :個人用 PrintHood フォルダ。
WshShortcut オブジェクト
objShell = WScript.CreateObject( "WScript.Shell" )
strDesktop = objShell.SpecialFolders( "Desktop" )
objShortCut = objShell.CreateShortcut( strDesktop & "\複数の表.lnk" )
objShortCut.TragetPath = ( "c:\Program Files\microsoft office\office\excel.exe" )
objShortcut.Arguments = ( "c:\home\wsh\ch02\s1.xls c:\home\wsh\ch02\s2.xls" )
objShortcut.Save
プロパティ
- Arguments: ショートカットオブジェクトに渡す引数。
- Description: ショートカットオブジェクトの説明。
- FullName: ショートカットオブジェクトのフルパス名を表示。
- HotKey: ショートカットオブジェクトのホットキー。
- IconLocation: アイコンのある場所。
- TargetPath: ターゲットファイルのパス名。
- WindowStyle: 実行時のウィンドウスタイル(サイズ)。
- WorkingDirectory: 作業ディレクトリ。
メソッド
- Save: ショートカットの設定を保存する。
WshUrlShortcut オブジェクト
例)objUrlShortcut = objShell.CreateChortcut( "oreilly.url" )
プロパティ
- FullName: URLショートカットオブジェクトのフルパス名を表示。
- TargetPath: ターゲットファイルのパス名。
メソッド
- Save: ショートカットの設定を保存する。
WshNetwork オブジェクト
例)objNetwork = WScript.CreateObject( "WScript.Network" )
プロパティ
- ComputerName: コンピュータの名前を表示。
- UserDomain: ユーザのドメイン名を表示。
- UserName: ユーザ名を表示。
メソッド
- AddPrinterConnection: リモートプリンタをローカルリソースに接続する。
- EnumNetworkDrives: ネットワークドライブの割り当て一覧を、WshCollection オブジェクト(コレクション)で返す。
- EnumPrinterConnections: リモートプリンタの接続一覧を、WshCollection オブジェクト(コレクション)で返す。
- MapNetworkDrive: ネットワークドライブを割り当てる。
- RemoveNetworkDrive: ネットワークドライブの割り当てを解除する。
- RemovePrinterConnection: リモートプリンタの接続を解除する。
- SetDefaultPrinter: 標準のプリンタを設定する。
WshCollection オブジェクト
例)objCollection = objNetwork.EnumNetworkDrives
プロパティ
- Count: 要素の個数を表示。
- length: 要素の個数を表示。
- Item: ネットワークドライブやリモートプリンタの接続状態を表示。
要素はドライブ名、共有名の順。Pドライブに\\LANDISK\PHOTOが割り当てられている場合、objCollection(0)は"G:"、objCollection(1)は"\\LANDISK\PHOTO"で返される。
VBScript
FileSystemObject オブジェクト
例)objFS = Wscript.CreateObject( "Scripting.FileSystemObject" )
Drive | オブジェクト | ハード・ディスクだけでなく、CD-ROM ドライブや RAM ディスクも対象になる。 ネットワークを介して論理的に接続されている場合も対象になる。 |
Drives | コレクション | ドライブの一覧を提供する。種類に関係なくあらゆるドライブが含まれる。 |
File | オブジェクト | ファイルの作成、削除、移動のメソッドとプロパティが格納されている。 ファイル名、パス、およびその他のプロパティを取得することもできる。 |
Files | コレクション | フォルダに格納されたすべてのファイルの一覧を提供する。 |
Folder | オブジェクト | フォルダの作成、削除、移動のメソッドとプロパティが格納されている。 フォルダ名、パス、およびその他のプロパティを取得することもできる。 |
Folders | コレクション | Folder オブジェクトに格納されたすべてのフォルダの一覧を提供する。 |
TextStream | オブジェクト | テキストファイルを読み書きできる。 |
メソッドFileSystemObject のメソッド
- BuildPath: パスを生成する。
- CopyFile: ファイルをコピーする。( source, destination[, overwrite] ) 規定値はTrue
コピー先に読み取り専用属性がある場合は、overwriteの指定に関係なくコピーされない。 - CopyFolder: フォルダをコピーする。( source, destination[, overwrite] ) 規定値はFalse
- CreateFolder: フォルダーを生成する。指定したフォルダが存在するとエラーになる。
- CreateTextFile: テキストファイルを生成して、TextStream オブジェクトを返す。(filename [,overwite])
objTS = objFS.CreateTextFile( "minwa.txt", True ) →上書きする。規定値はFalse(上書きしない)。 - DeleteFile: ファイルを削除する。
- DeleteFolder: フォルダーを削除する。
- DriveExists: ドライブが存在するかどうかを返す。True or False
- FileExists: ファイルが存在するかどうかを返す。True or False
- FolderExists: フォルダーが存在するかどうかを返す。True or False
- GetAbsolutePathName: ファイルやフォルダの絶対パスを返す。
- GetBaseName: ファイルのベース名を返す。
- GetDrive: Drive オブジェクトを返す。
objDrive = objFS.GetDrive( "F:\" )
objDrive.IsReady Fドライブにメディアがセットされているか調べる。 - GetDriveName: パス名からドライブ名を返す。
※最後の¥は付かない。例)C: - GetExtensionName: パス名から拡張子を返す。
- GetFile: File オブジェクトを返す。
objFile = objFS.GetFile( "C:\home\minwa.txt" )
objFile.Size ファイルのサイズを調べる。 - GetFileName: パス名から最後のファイル名を返す。
- GetFolder: Folder オブジェクトを返す。
objFolder = objFS.GetFolder( "c:\home" )
objFolder = objFS.GetFolder(".") でカレントディレクトリを取得できる。
objFolder.Path でカレントディレクトリのパスを取得できる。
objFolder.Size フォルダのサイズを調べる。 - GetParentFolderName: パス名の最後のファイルの親フォルダ名を返す。
※フォルダ名に最後の¥は付きませんが、ルートディレクトリには¥が付く。例)P:¥d-Base // P:¥
※ルートディレクトリを指定した場合は何も返さない。例) - GetSpacialFolder: 特殊フォルダの Folder オブジェクトを返す。
objFolder = objFS.GetSpecialFolder( 0 ) - GetTempName: 一時ファイルの名前を返す。
実際にファイルを作るには CreateTextFile、フォルダを作るには CreateFolderを使う。 - MoveFile: ファイルを移動する。
- MoveFolder: フォルダを移動する。
- OpenTextFile: ファイルを開く。TextStream オブジェクトを返す。
objTS = objFS.OpenTextFile( "c:\home\minwa.txt" , 1 )
objTS.ReadLine ファイルから1行読み出す。
objTS = objFS.OpenTextFile( "c:\home\minwa.txt" , 8 )
objTS.WriteLine "ファイルの末尾に1行追加します。"
Drive オブジェクト (GetDriveで取得する。)
例)objDrive = objFS.GetDrive( "F:\" )
プロパティ
- AvailableSpace: Fドライブの空き容量を調べる。
- DriveLetter: Fドライブ名を調べる。
- DriveType: Fドライブのタイプ(リムーバブル、固定、ネットワーク、CD-ROM、RAM)を調べる。
- FileSystem: Fファイルシステム(FAT、FAT32、NTFS)を調べる。
- FreeSpace: Fドライブの空き容量を調べる。
- IsReady: Fドライブの準備ができているかを調べる。
- Path: ドライブのパス名を調べる。
※Cドライブの場合、「C:¥」ではなく「c:」を返す。 - RootFolder: ドライブのルートフォルダを返す。Folder オブジェクトを返す。
- SerialNumber: ボリュームのシリアル番号を調べる。
- ShareName: ドライブの共有名を調べる。
- TotalSize: ドライブやネットワークドライブの全容量を調べる。
- VolumeName: ボリューム名を取得・設定する。
Drives コレクション
例)colDrives = objFS.Drives
プロパティ
- Count: ドライブの個数を調べる。
- Item( キー ): Drives コレクションの要素。個々の要素はキーを指定する。
Folder オブジェクト
例)objFolder = objFS.GetFolder( "c:\home" )
プロパティ
- Attributes [=属性]: フォルダの属性を取得・設定する。
- DateCreated: フォルダの作成日時を調べる。
- DateLastAccessed: フォルダの最終アクセス日時を調べる。
- DateLastModified: フォルダの最終更新日時を調べる。
- Drive: フォルダが存在するドライブ名を調べる。
- Files: フォルダ内のすべてのファイルを表す Files コレクションを返す。
例)colFiles = objFolder.Files - IsRootFolder: フォルダがルートフォルダかどうか調べる。
- Name: フォルダの名前を取得・設定する。
- ParentFolder: フォルダの親フォルダを表す Folder オブジェクトを返す。
例)objParentFolder = objFolder.ParentFolder - Path: フォルダのパス名を調べる。
- ShortName: 短いファイル名でフォルダ名を返す。
- ShortPath: 短いファイル名でフォルダのパス名を返す。
- Size: フォルダのサイズを調べる。サブフォルダのサイズも含まれる。
- SubFolders: フォルダ内のすべてのサブフォルダを表す Folders コレクションを返す。
例)colSubFolders = objFolder.SubFolders - Type: フォルダのタイプ(ファイル フォルダ)を調べる。
メソッド
- Copy: フォルダをコピーする。
- Delete: フォルダを削除する。object.Delete( force ) 規定値はFalse
指定したフォルダが存在しなかった場合はエラーが発生する。 - Move: フォルダを移動する。
- CreateTextFile: ファイルを作成して、TextStream オブジェクトを返す。
例)objTS = objFolder.CreateTextFile( "c:\home\minwa.txt" )
Folders コレクション
例)colSubFolders = objFolder.SubFolders
プロパティ
- Count: サブフォルダの個数を調べる。
- Item( キー ): 個々のサブフォルダを表す Folder オブジェクトを返す。
メソッド
- Add: Folders コレクションに Folder オブジェクトを追加する。Folder オブジェクトを返す。
例)objNewFolder = objFolder.SubFolders.Add( "ocampa" )
File オブジェクト
例)objFile = objFS.GetFile( "c:\home\minwa.txt" )
プロパティ
- Attributes [=属性]: ファイルの属性を取得・設定する。
- DateCreated: ファイルの作成日時を調べる。
- DateLastAccessed: ファイルの最終アクセス日時を調べる。
- DateLastModified: ファイルの最終更新日時を調べる。
- Drive: ファイルが存在するドライブを調べる。
- Name: ファイルの名前を取得・設定する。
- ParentFolder: ファイルの親フォルダを表す Folder オブジェクトを返す。
例)objParentFolder = objFile.ParentFolder - Path: ファイルのフルパス名を調べる。
- ShortName: 短いファイル名を返す。
- ShortPath: 短いファイル名でファイルのフルパス名を返す。
- Size: ファイルのサイズを調べる。
- Type: ファイルのタイプを調べる。レジストリに記録されている拡張子との関連付けで決まる。
メソッド
- Copy: ファイルをコピーする。
- Delete: ファイルを削除する。
- Move: ファイルを移動する。
- OpenAsTextStream: ファイルを開く。TextStream オブジェクトを返す。
例)objTS = objFile.OpenAsTextStream
Files コレクション
例)colFiles = objFolder.Files
プロパティ
- Count: ファイルの個数を調べる。
- Item( キー ): 個々のファイルを表す File オブジェクトを返す。
例)objFile = colFiles.Item( "minwa.txt" )
TextStream オブジェクト
例)objTS = objFS.CreateTextFile( "minwa.txt" ) or
objTS = objFS.OpenTextFile( "c:\home\minwa.txt" ) or
objTS = objFolder.CreateTextFile( "minwa.txt" ) or
objTS = objFile.OpenAsTextFile( "minwa.txt" )
プロパティ
- AtEndOfLine: 行の末尾、またはファイルの末尾に達したかを調べる。達したら True を返す。
- AtEndOfStream: ファイルの末尾に達したかを調べる。達したら True を返す。
- Column: 現在行の桁位置を調べる。
- Line: 現在行の行位置を調べる。
メソッド
- Close: ファイルを閉じる。
- Read( 字数 ): 指定された字数の文字を読み出す。
- ReadAll: すべての文字を読み出す。
- ReadLine: 1行読み出す。
- Skip( 字数 ): 指定された字数だけ読み飛ばす。
- SkipLine: 1行読み飛ばす。
- Write( 文字列 ): 指定した文字列を書き込む。
- WriteLine( 文字列 ): 指定した文字列と改行文字を書き込む。
- WriteBlankLines( 回数 ): 指定した数の改行文字を書き込む。