ADO を使うのが通常ですが、ADOX または、Access を直接使用してもかまいません。 ※ このテストは、Microsoft Office 2010 がインストールされている環境で実行しています。
' ▼ コマンドプロンプトを開いて、終了したら PAUSE する。 Crun() ' ************************************************ ' 基本設定 ' ************************************************ ' このスクリプトが存在するディレクトリを取得 strCurDir = WScript.ScriptFullName strCurDir = Replace( strCurDir, WScript.ScriptName, "" ) ' ************************************************ ' OpenSchema ' ************************************************ Set Mdb = Wscript.CreateObject("ADODB.Connection") strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & strCurDir & "\販売管理B.mdb" & ";" Mdb.Open strConnection Set Schema = Mdb.OpenSchema( 20 ,Array(Empty,Empty,Empty,Empty) ) Wscript.Echo "販売管理B.mdb のテーブル一覧を OpenSchema で取得します" & vbCrLf Do while not Schema.EOF Wscript.Echo Schema.Fields( "TABLE_NAME" ).Value Schema.MoveNext Loop Mdb.Close() Wscript.Echo vbCrLf ' ************************************************ ' ADOX.Catalog ' ************************************************ Set Adox = Wscript.CreateObject("ADOX.Catalog") Adox.ActiveConnection = strConnection Wscript.Echo "販売管理B.mdb のテーブル一覧を ADOX.Catalog で取得します" & vbCrLf For Each Table in Adox.Tables Wscript.Echo Table.Name Next Wscript.Echo vbCrLf ' ************************************************ ' Access.Application ' ************************************************ Set Access = Wscript.CreateObject("Access.Application") Access.OpenCurrentDatabase( strCurDir & "\販売管理B.mdb" ) Wscript.Echo "販売管理B.mdb のテーブル一覧を Access.Application で取得します" & vbCrLf For Each Table in Access.CurrentDb.TableDefs Wscript.Echo Table.Name Next For Each View in Access.CurrentDb.QueryDefs Wscript.Echo View.Name Next Wscript.Echo vbCrLf ' ************************************************ ' OpenSchema ' ************************************************ Set Mdb = Wscript.CreateObject("ADODB.Connection") strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & strCurDir & "\販売管理B.accdb" & ";" Mdb.Open strConnection Set Schema = Mdb.OpenSchema( 20 ,Array(Empty,Empty,Empty,Empty) ) Wscript.Echo "販売管理B.accdb のテーブル一覧を OpenSchema(2007以降) で取得します" & vbCrLf Do while not Schema.EOF Wscript.Echo Schema.Fields( "TABLE_NAME" ).Value Schema.MoveNext Loop Mdb.Close() Wscript.Echo vbCrLf ' ************************************************ ' ADOX.Catalog ' ************************************************ Set Adox = Wscript.CreateObject("ADOX.Catalog") Adox.ActiveConnection = strConnection Wscript.Echo "販売管理B.accdb のテーブル一覧を ADOX.Catalog(2007以降) で取得します" & vbCrLf For Each Table in Adox.Tables Wscript.Echo Table.Name Next Wscript.Echo vbCrLf ' ************************************************ ' Access.Application ' ************************************************ Set Access = Wscript.CreateObject("Access.Application") Access.OpenCurrentDatabase( strCurDir & "\販売管理B.accdb" ) Wscript.Echo "販売管理B.accdb のテーブル一覧を Access.Application で取得します" & vbCrLf For Each Table in Access.CurrentDb.TableDefs Wscript.Echo Table.Name Next For Each View in Access.CurrentDb.QueryDefs Wscript.Echo View.Name Next Wscript.Echo vbCrLf Wscript.Echo("【"&WScript.ScriptName&"】の処理が終了しました" & vbCrLf & vbCrLf ) ' ********************************************************** ' Cscript.exe で実行を強制 ' ウィンドウをアクティブにし、最大化ウィンドウとして表示(3) ' Cscript.exe の実行終了後 pause で一時停止 ' ********************************************************** Function Crun( ) Dim str,WshShell str = WScript.FullName str = Right( str, 11 ) str = Ucase( str ) if str <> "CSCRIPT.EXE" then str = WScript.ScriptFullName Set WshShell = CreateObject( "WScript.Shell" ) strParam = " " For I = 0 to Wscript.Arguments.Count - 1 if instr(Wscript.Arguments(I), " ") < 1 then strParam = strParam & Wscript.Arguments(I) & " " else strParam = strParam & Dd(Wscript.Arguments(I)) & " " end if Next Call WshShell.Run( "cmd.exe /c cscript.exe " & Dd(str) & strParam & " & pause", 3 ) WScript.Quit end if End Function ' ********************************************************** ' 文字列を " で囲む関数 ' ********************************************************** Function Dd( strValue ) Dd = """" & strValue & """" End function
処理結果Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. 販売管理B.mdb のテーブル一覧を OpenSchema で取得します MSysAccessStorage MSysACEs MSysNavPaneGroupCategories MSysNavPaneGroups MSysNavPaneGroupToObjects MSysNavPaneObjectIDs MSysObjects MSysQueries MSysRelationships V_商品一覧 V_売上日付 V_得意先台帳 V_社員一覧 コード名称マスタ コントロールマスタ メッセージマスタ 取引データ 商品マスタ 商品分類マスタ 得意先マスタ 社員マスタ 郵便番号マスタ 販売管理B.mdb のテーブル一覧を ADOX.Catalog で取得します MSysAccessStorage MSysACEs MSysNavPaneGroupCategories MSysNavPaneGroups MSysNavPaneGroupToObjects MSysNavPaneObjectIDs MSysObjects MSysQueries MSysRelationships V_商品一覧 V_売上日付 V_得意先台帳 V_社員一覧 コード名称マスタ コントロールマスタ メッセージマスタ 取引データ 商品マスタ 商品分類マスタ 得意先マスタ 社員マスタ 郵便番号マスタ 販売管理B.mdb のテーブル一覧を Access.Application で取得します MSysAccessStorage MSysACEs MSysNavPaneGroupCategories MSysNavPaneGroups MSysNavPaneGroupToObjects MSysNavPaneObjectIDs MSysObjects MSysQueries MSysRelationships コード名称マスタ コントロールマスタ メッセージマスタ 取引データ 商品マスタ 商品分類マスタ 得意先マスタ 社員マスタ 郵便番号マスタ V_商品一覧 V_売上日付 V_得意先台帳 V_社員一覧 販売管理B.accdb のテーブル一覧を OpenSchema(2007以降) で取得します MSysAccessStorage MSysACEs MSysComplexColumns MSysNavPaneGroupCategories MSysNavPaneGroups MSysNavPaneGroupToObjects MSysNavPaneObjectIDs MSysObjects MSysQueries MSysRelationships MSysResources V_商品一覧 V_売上日付 V_得意先台帳 V_社員一覧 コード名称マスタ コントロールマスタ メッセージマスタ 取引データ 商品マスタ 商品分類マスタ 得意先マスタ 社員マスタ 郵便番号マスタ 販売管理B.accdb のテーブル一覧を ADOX.Catalog(2007以降) で取得します MSysAccessStorage MSysACEs MSysComplexColumns MSysNavPaneGroupCategories MSysNavPaneGroups MSysNavPaneGroupToObjects MSysNavPaneObjectIDs MSysObjects MSysQueries MSysRelationships MSysResources V_商品一覧 V_売上日付 V_得意先台帳 V_社員一覧 コード名称マスタ コントロールマスタ メッセージマスタ 取引データ 商品マスタ 商品分類マスタ 得意先マスタ 社員マスタ 郵便番号マスタ 販売管理B.accdb のテーブル一覧を Access.Application で取得します MSysAccessStorage MSysACEs MSysComplexColumns MSysNavPaneGroupCategories MSysNavPaneGroups MSysNavPaneGroupToObjects MSysNavPaneObjectIDs MSysObjects MSysQueries MSysRelationships MSysResources コード名称マスタ コントロールマスタ メッセージマスタ 取引データ 商品マスタ 商品分類マスタ 得意先マスタ 社員マスタ 郵便番号マスタ V_商品一覧 V_売上日付 V_得意先台帳 V_社員一覧 【table_list.vbs】の処理が終了しました関連する記事
|
【VBScriptの最新記事】
- 【VBS】WshShell.Runによる外部プログラムの実行のバリエーションと注意事項
- VBScript で GUID 生成
- Windows 標準の CDO.Message で(GmailまたはYahoo!メールを使って)簡単にバッチ処理からメールを送る
- バックアップスクリプトを作るスクリプト
- バッチ処理の為の .wsf スケルトン / cscript.exe での実行を強制する / 自分自身の呼び出し
- 【VBS + Excel】シンプルな詳細設計書のフォーマット。1) Excel のダウンロード、2) VBScript で作成するサンプル
- VBScript : CAPICOM を使った通常文字列の Base64エンコードと SHA1 と MD5 と SHA256/384/512
- 【VBS汎用】SHIFT_JISデータを各種キャラクタセットのテキストファイルへ変換
- VBScript : デスクトップの列挙
- Excel シートから Basp21 を使用してメールの送受信をして、今後の何かに役立てる
- VBScript + clipコマンド + レジストリ登録で、エクスプローラのディレクトリの右クリックでファイル名のリストをクリップボードにコピーできるようにする
- VBScript(WMI) : OSの情報をコマンドプロンプトに一覧で表示する
- VBScript(WMI) : 共有一覧
- IE のお気に入りディレクトリにあるファイルの表示・非表示を設定する / HTA(HTML アプリケーション)
- VBScript : ディレクトリ内のディレクトリで使用している容量一覧
- VBScript(WMI) : システム環境変数の変更を監視する event_change_reg.wsf
- VBScript : スクリプトが存在するディレクトリをユーザ環境変数の PATH へ登録
- XMLファイルの書き換え (VBScript)
- VBScript から実行する PHPコードの PDF処理のサンプル
- Cscript.exe の引数と、Windows Script Host を無効にするレジストリ設定