VBScriptによるプログラミングの開発効率をアップするための共通モジュールを紹介します。今回は、Microsoft Office製品をVBScriptで操作する共通モジュールを紹介します。
1. はじめに
本連載では、VBScriptで開発した共通モジュールを紹介しています。
初回では、VBScriptをテスト駆動開発するためのツールを紹介させていただきました。また、第2回では、Microsoft社のInternet Explorerを操作して指定したWebページを開いたりHTMLを取得する共通モジュールを紹介し、第3回ではリレーショナルデータベース(Microsoft SQL Server/Microsoft Access)に接続し、SQLを実行してその結果を取得するための共通モジュールを紹介しました。
今回は、Microsoft Office製品をVBScriptで操作する共通モジュールを紹介します。たとえば、その共通モジュールを利用することで、Excelファイルの指定したセルから値を取得したり、Wordファイルの内容を読み込んだり、Outlookメールを利用してメールを送信するプログラムが簡単に作れるようになります。
2. 対象読者
- WSH(VBScript)での開発を行っているプログラマー、システム管理者
3. 必要な環境
- Windows OS全般
4. Office製品を操作する共通モジュール
Microsoft Officeの操作についても、第2回で紹介させていただいたInternet Explorerの操作や第3回で紹介させていただいたデータベースの操作と同様に、COMを利用します。
Microsoft Officeを操作する場合のCOMは、CreateObject()関数で使用する引数に、次のProgIDを指定します。
| ProgID | 対象となるアプリケーション |
|---|---|
| Access.Application | Microsoft Access |
| Excel.Application | Microsoft Excel |
| Outlook.Application | Microsoft Outlook |
| Powerpoint.Application | Microsoft PowerPoint |
| Word.Application | Microsoft Word |
| FrontPage.Application | Microsoft FrontPage |
ところで、ProgIDとは、COMを利用する際に指定する文字列のことです。利用するCOMから呼び出されるアプリケーションを一意に識別するための文字列型のIDです。今までの記事では何の説明もなく使用していましたが、例えばInternet Explorerの場合は"InternetExplorer.Application"、ADOの場合は"ADODB.Connection"などがProgIDに該当します。
今回ご紹介させていただく共通モジュールは、以下のURLからダウンロードできます。
今回使う共通モジュールは、以下の3つです。
- Microsoft Excelを扱う共通モジュール...ExcelManager.vbs
- Microsoft Wordを扱う共通モジュール...WordManager.vbs
- Microsoft Outlookを扱う共通モジュール...OutlookManager.vbs
これら3つの共通モジュールが提供するメンバは、それぞれ次のとおりです。
ExcelManagerのメンバ
Messageプロパティ
エラーなどのメッセージを返します。
object.Message
BookNameプロパティ
Excelブック名を指定します。値の取得も可能です。
object.BookName
SheetNameプロパティ
Excelブック名を指定します。値の取得も可能です。
object.BookName
CloseBookメソッド
BookNameプロパティに指定されているExcelブックを閉じます。正常に閉じた場合は、真(true)を返します。正常に閉じれなかった場合は、偽(false)を返します。
object.CloseBook()
GetCellメソッド
Excelセルの列インデックスと行インデックスを指定して、該当する値を取得して返します。取得できなかった場合は、偽(false)を返します。
object.GetCell(intRow, intCol)
パラメータ
- intRow:データソース名を指定します。
- intCol:ユーザー名を指定します。
GetRangeメソッド
ExcelセルのRangeを指定して、該当する値を取得して返します。取得できなかった場合は、偽(false)を返します。
object.GetRange(strRange)
パラメータ
- strRange:データソース名を指定します。
WordManagerのメンバ
Messageプロパティ
エラーなどのメッセージを返します。
object.Message
DocNameプロパティ
ドキュメント名を指定します。値の取得も可能です。
object.DocName
CloseDocumentメソッド
DocNameプロパティに指定されているドキュメントを閉じます。正常に閉じた場合は、真(true)を返します。正常に閉じれなかった場合は、偽(false)を返します。
object.CloseDocument()
GetTextメソッド
ドキュメントからテキストを取得して返します。
object.GetText()
OutlookManagerのメンバ
Messageプロパティ
エラーなどのメッセージを返します。
object.Message
SendMailメソッド
テキストメールを送信します。正常に送信できた場合は、真(true)を返します。正常に送信できなかった場合は、偽(false)を返します。
object.SendMail(strTo, strCC, strBCC, strSubject, strBody, strAttach)
パラメータ
- strTo:宛先を指定します。複数指定する場合は";"で区切ります。
- strCC:CC先を指定します。複数指定する場合は";"で区切ります。
- strBCC:BCC先を指定します。複数指定する場合は";"で区切ります。
- strSubject:件名を指定します。
- strBody:本文を指定します。
- strAttach:添付ファイルを指定します。複数指定する場合は";"で区切ります。
UploadMessageメソッド
パブリックフォルダにメッセージを投稿します。正常に投稿できた場合は、真(true)を返します。正常に投稿できなかった場合は、偽(false)を返します。
object.UploadMessage(strFolder, strCategory, strSubject, strBody, strAttach)
パラメータ
- strFolder:投稿先を指定します。階層を";"で区切ります。
- strCategory:カテゴリを指定します。
- strSubject:件名を指定します。
- strBody:本文を指定します。
- strAttach:添付ファイルを指定します。複数指定する場合は";"で区切ります。
この記事は参考になりましたか?
- まだまだ使える! WSH連載記事一覧
-
- まだまだ使える! WSHプログラミング ~ VBScriptでファイルを操作する共通モジュ...
- まだまだ使える! WSHプログラミング ~ Office製品をVBScriptで操作する共...
- まだまだ使える! WSHプログラミング ~ データベースを扱う共通モジュールの紹介
- この記事の著者
-
五十嵐貴之(イカラシ タカユキ)
1975年2月生まれ。新潟県長岡市(旧越路町)出身。フリープログラミング団体いかちソフトウェア所属。 著書・これならわかるSQL入門の入門(翔泳社)・Windows自動処理のためのWSHプログラミングガイド(ソシム)・いちばんやさしいデータベースの本(技術評論社)・SQLiteポケットリフ...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
