Yahoo!ショッピング※本ソフトの公開・サポートは終了しました。Excel(以下、Excelと略します)を操作する例を紹介します。今回紹介するのは、Webページから取得したテキスト(株価)をExcelのワークシートに書き込むスクリプトです。このスクリプトは、スクリプトでこんなこともできるという紹介が目的のものです。高度なことをしたい場合は、末尾の参考リンクのホームページなどを参考に各自研究してみてください。今回紹介するサンプルスクリプトの動作内容は下記の通りです。Yahoo!ファイナンスからソニー(株)の企業の株価情報のページを表示する。表示したWebページから株価を取得する。起動する取得した株価を日付と共にExcelのセルに書き込む以下の圧縮ファイル内のExcelファイルを適当なフォルダにダウンロードして、スクリプト先頭のcstrDateFilenameの部分をダウンロードしたパスに修正して使用して下さい。ダウンロード:Stock.zip(8KB)Excelファイルの中身は下図のようなものです。毎日、株式の取引終了後にこのスクリプトを実行すれば、毎日の株価を記録することができます。下が今回紹介するするスクリプトになります。お気に入りフォルダなどにスクリプトファイル(*.sbv)として保存して実行してください。スクリプト前半の株価を取得するまでのコードは、テーブル内(表内)のテキストを取得する方法を参考にして下さい。スクリプト後半の取得した株価をExcelのセルに書き込む部分は「5.項」で解説します。RegExpオブジェクトやReplace関数等、VBScriptの各機能についてはVBScriptのリファレンスを参照して下さい。下のファイル名は環境に合わせて適宜修正してください。dOwa4.スクリプトからExcelを操作する方法VBScriptからExcelを操作するには、Windowsのオートメーション機能を使用します。具体的にはGetObject関数でExcelのドキュメント(ワークブック)のオブジェクトを取得します。この時、Excelが起動していない場合は自動的に起動されます。ファイルが開いている場合は、開いているワークブックのオブジェクトを取得します。リファレンス」に記載されています。2002の場合は、ヘルプの目次の「プログラミング情報」の下にあります。Basicのヘルプがインストールされていない場合は追加インストールする必要があります。Excelの操作をスクリプトでどのメソッドや関数で実現するかを調査するには、Excelの「マクロの記録」機能を使用して調査したい操作をマクロに記録すると便利です。Applications)で行われますがVBAとVBScriptは非常によく似た言語なので大変参考になります。以下、サンプルスクリプトのExcelを操作している部分について解説します。スクリプトの各行のコメントも参考にしてください。操作開始」以降が、Excelを操作する部分になります。GetObject関数を使用して指定したファイル名のExcelのワークブックオブジェクトを取得します。次にWorkBook.ApplicationプロパティでExcel本体のオブジェクトを取得します。Excelのオブジェクトを操作してウィンドウを表示して更にウィンドウをアクティブにしています。ここで使用しているプロパティ等についてはExcelのヘルプを参照してください。「(2)未入力のセルを検索する」の部分ではワークシート内でまだ入力されていない行を検索しています。単純に空のセルが見つかるまでiRow変数に1を加えていって検索しています。最後に、「(3)株価を各セルに代入する」の部分でWebページから取得した株価情報を各セルに代入しています。6.参考リンク以下に、スクリプトからExcelを操作するのに参考になりそうなホームページを紹介します。Host)からExcelを操作する場合の解説です。ScriptBrowserKのスクリプト内ではWscriptオブジェクトの機能は使用できないので注意して下さい。(http://www.scriptbrowserk.com/)。