FrontPage 新規 編集 検索 一覧 ヘルプ

VBSで使えるオブジェクト

このページでは、様々なオブジェクトの使用サンプル、メモをお届けします。

Officeオートメーション

VBSでOfficeと連携したプログラムを作成することができますが、VBScriptでチョコマカ作るよりも、ExcelVBAなどを利用したほうが実行速度も開発効率もいいでしょう。ゆえに、私としては、VBScriptでのOfficeオートメーションはイマイチ使えない(使わない)ということになります。

しかし、EXCELで開発したアプリケーションを起動する場合、当たり前ですが、Excelのウィンドウが必ず表示されます。VBScriptを使うとこれを回避できます。つまり、EXCELの自作フォームがイキナリ表示されるようなアプリケーションにすることができます。

しかけはワークシート内にフォームを呼び出す関数を記述し、それをVBScriptからアクセスします。以下のサンプルでは、カレントにあるform.xlsのフォームを表示します。EXCELは裏で動くので全く見えません。

サンプル >> form.lzh

 Option Explicit
 ' excel.vbs - Officeオートメーションのテスト
 Dim objExcel
 Set objExcel = GetObject("form.xls")
 objExcel.Application.Visible = false
 objExcel.WorkSheets("Sheet1").showForm
 Set objExcel = Nothing

InternetExplorerオブジェクト

VBSからIEを操作します。覚えると結構便利。インスタンス作成後、各プロパティに値を設定し、objIE.Visible = True します。こうすることでIEが表示されます。

 Option Explicit
 ' ieappobj.vbs - IEオブジェクトサンプル
 Dim objIE
 Set objIE = CreateObject("InternetExplorer.Application")
 objIE.Height = 600
 objIE.Width = 800
 'objIE.Menubar = True
 'objIE.Toolbar = True
 objIE.Statusbar = false
 objIE.Resizable = false
 objIE.Navigate "http://tuka.s12.xrea.com/"
 objIE.Visible = True
 Set objIE = Nothing

また、InternetExplorerオブジェクトを使うとクリップボードのデータを取得することもできます。

 Option Explicit
 ' clip.vbs - クリップボードの内容を表示
 Dim objIE
 Set objIE = WScript.CreateObject("InternetExplorer.Application") 
 objIE.Navigate "about:blank" 
 
 Dim objClip
 Set objClip = objIE.Document.ParentWindow.ClipboardData
 WScript.Echo objClip.GetData("text") 
 
 Set objClip = Nothing
 Set objIE   = Nothing
Yesterday Today Total