「エンタープライズ」チャンネルで連載していることもあり、本稿で取り上げている内容は企業のシステム管理者を意識したものが多い。その関係から、スクリプトについても意識的にサーバ製品を取り上げてきているが、今週はちょっと趣を変えてみよう。

Microsoft Officeもスクリプトの操作対象になる

実のところ、スクリプトで操作する対象は、作成するオブジェクトのインスタンス次第で変化する。だから、Active Directoryだろうが、ファイルシステムだろうが、あるいはXMLパーサー(MSXML.DLL)だろうが、スクリプトから呼び出して利用できる。そして、Microsoft Officeも例外ではない。

実際、TechNet Onlineのスクリプトセンターには、Microsoft Officeに関連するスクリプトを集めたコーナーが用意されている。

Microsoft Office に関するスクリプト
http://www.microsoft.com/japan/technet/scriptcenter/hubs/office.mspx

もっとも、Microsoft Office自身がマクロ言語としてVBAを備えているわけだから、Microsoft Officeで完結する作業を自動化するだけなら、そちらを使用する方が手っ取り早い。しかし、Windows上からMicrosoft Officeの機能を呼び出して利用する(あるいはその逆)、あるいはMicrosoft Officeドキュメントに関する情報を取得する、といった場面では、Windows上で動作するスクリプトにも出番がある。

スクリプトセンターには、「Microsoft Office管理」という記事がある。これは、Word 2003とExcel 2003を例にとって、Windowsで動作するスクリプトを使ってオプション設定の内容を操るサンプルを集めたものだ。

図解 : Microsoft Office管理
http://www.microsoft.com/japan/technet/scriptcenter/topics/office/manage/default.mspx

たとえば、既定値とは異なる、特定のオプション設定を全社的に適用したい、といった場面を想定してみよう。もっとも簡単な方法は、社内に注意書き、あるいはマニュアルを配布して「オプション設定を、これこれこのように変更してください」と知らせる方法だが、設定漏れが発生する可能性は否定できない。

それに、オプション項目の中には文書ファイルごとにいちいち設定し直さなければならないものもある。最初に1回だけ変更すれば済むのであればまだしも、文書ファイルを開く度に、あるいは新規作成する度に設定を変更しなければならないのでは、ますます設定忘れの可能性が高まる。そんなときに、スクリプトを配布して実行させることで、問題を解決、あるいは緩和できるかも知れない。

以下の画面は、Wordの既定のパス設定について、設定を表示させるスクリプトを実行した結果だ。背景には、スクリプトの対象と同じ設定ダイアログを表示させている。サンプルでは、タブにあるすべての項目について情報を表示させているが、ソースコードを修正して、必要な項目だけ表示させるようにしても良い。

Wordのオプション設定をスクリプトで取得・表示させた例。1項目ずつ順番に、メッセージボックスで値を表示する

このほか、Excel・Word・PowerPointを対象とする。各種のサンプルスクリプトをまとめた記事も用意されている。

Microsoft Office に関するスクリプト一覧
http://www.microsoft.com/japan/technet/scriptcenter/scripts/office/default.mspx

もっと高度なスクリプトを開発したいユーザーのために

さらに、自分でスクリプトを開発してみたい、オプション設定以外の機能をスクリプトで操ってみたい、というユーザーのために、ステップアップを支援してくれそうなコンテンツも用意されている。それが、「Office Space」だ。

Office Space: Microsoft Office アプリケーションのスクリプト作成に関するヒントとテクニック
http://www.microsoft.com/japan/technet/scriptcenter/resources/officetips/default.mspx

「Office Space」には、Office関連のさまざまなサンプルスクリプトが掲載されている

Wordの機能を利用する、デモスクリプトの一覧

こちらは、Excelの機能を利用するデモスクリプトの一覧

また、Microsoft Officeの文書ファイルからプロパティ情報を読み出すサンプルスクリプトをダウンロードすることもできる。これは、COM(Component Object Model)コンポーネントを使って、スクリプトでOLE(Object Linking and Embedding)ドキュメントのプロパティを読み取るためのサンプルコードだ。

Microsoftダウンロードセンターでは英語版として扱われているが、スクリプトそのものは実行環境の言語を問わないので、日本語版の環境で試してみる価値はあるだろう。

Microsoft Developer Support OLE File Property Reader 2.1 Sample (KB 224351) :
http://www.microsoft.com/downloads/details.aspx?FamilyID=9ba6fac6-520b-4a0a-878a-53ec8300c4c2&DisplayLang=en

変わったところでは、「実はこんなこともできる」という感じのサンプルとして、Wordを利用して動作中のタスク一覧を取得するサンプルについて解説した記事もある。万人が必要とする類の利用法ではないかもしれないが、ツボにはまれば役立つかも知れない。

Microsoft Officeを使用した実際のスクリプト作成
http://www.microsoft.com/japan/technet/scriptcenter/topics/office/tasks.mspx

『TechNet Plus Direct サブスクリプション』を5名様にプレゼント!

2010年4月30日までに応募された読者の中から、抽選で5名様に「TechNet Plus Direct サブスクリプション」をプレゼントします。

TechNet Plus サブスクリプションは、情報システムの評価、導入、運用、管理を支援する IT プロフェッショナルのための年間購読サービスで、マイクロソフトの最新技術リソースや、製品評価版のソフトウェアやベータ版をダウンロードして評価目的で利用できます。

TechNet Plus サブスクリプションの詳細はこちら

ご提供: マイクロソフト

マイコミジャーナル1クリックプレゼントは、各企業様のご協力をいただいて、読者の皆様に先着&抽選で素敵な賞品がもらえるプレゼント企画です。マイコミジャーナル会員であれば誰でも申し込み可能です。奮ってご応募ください。

応募方法 : マイコミコミジャーナル会員でない方は、「プレゼントに応募する」ボタンをクリックして案内に従って会員登録を済ませてからご応募ください。※会員登録されていても追加情報の登録が必要な場合があります。

賞品名 :TechNet Plus Direct サブスクリプション(抽選・5名様)
応募締切 : 2010年4月30日(日)
発表方法 : 当選者に当選を知らせるメールをお送りしますので、これをもって発表に代えさせていただきます。