Windows Scripting Hostを使えば他ソフトを使わなくてもこんなことができます。
⇒決められた時間にファイルをバックアップ
⇒指定したフォルダにあるすべてのファイルをいっきに変更
⇒インターネットから情報を取得してテキストファイル化
⇒データベースからデータを取得してExcelで集計
⇒決められた時間にメールを自動送信 等々
面倒な定型処理は自動化!これで定時に帰れる!
はじめに
本書は、WSH(Windows Script Host)のサンプルスクリプトを紹介する書籍であり、掲載しているスクリプトはすぐに実践的に導入することができます。
WSH は、Windows が標準で保持している機能です。開発環境を整えるために複雑な設定は不要ですし、新たにソフトウェアをインストールする必要もありません。使用しているWindows パソコンだけで十分です。さらに、「メモ帳」でも記述できるにもかかわらず、とても強力なスクリプトを開発できます。
その一方で、使い方を一歩間違えると、大切なファイルが一気に削除されてしまったり、特定の相手にメールを何千件も勝手に送り続けてしまったりと、意図しない動作を引き起こしかねません。さながらウィルス被害にあったかのような事態が発生することもあるのです。
しかし、本書を読めば、その“諸刃の剣”を自在に操れるようになり、業務効率を確実にアップさせることができるでしょう。
本書では、この強力かつ魅力的な言語をプログラミング初心者でもすぐに使用できるように説明しています。
「PART1 これだけは覚えよう??WSH の概要とプログラミングの基礎知識」では、WSH とはなにか、どのように使用するのかといったことを押さえたうえで、プログラミング初心者が基礎的な知識を身に付けられるように、プログラムの仕組みについて解説しています。
「PART2 基礎編??簡単だけどとても強力」では、簡単でありながら強力なサンプルスクリプトを紹介します。Excel ファイルやOutlook メールを簡単かつ自在に扱うことができるのは、WSH の特徴の1 つです。
「PART3 実用編??すぐに使えるサンプル集」では、実務で使用することを意識したサンプルスクリプトを用意しました。順を追って本書をここまで読み進めていただけたなら、すぐにでもWSH の持つ強力な機能を利用できるようになるでしょう。
「PART4 そのまま使える共通モジュール」では、プログラムの開発効率をアップするための共通モジュールを用意しました。筆者が作成した便利なモジュールがそろっていますので、ぜひ、ダウンロードしてご利用ください。
本書を通じてWSH の魅力を感じ、いままで以上にプログラミングに興味を持っていただければ幸いです。
さぁ、エンジョイ・プログラミング!!
はじめに
PART1 これだけは覚えよう——WSHの概要とプログラミングの基礎知識
1.1 WSHの仕組み
WSHとは
WSHの種類
WSHで使用できるプログラミング言語
【Column】WSHのバージョン
1.2 WSHの作成方法
追加インストール不要の開発環境
スクリプト作成の前に——拡張子を表示させる
簡単なスクリプトの作成と実行
1.3 変数と演算
変数とデータ型
定数の定義
演算の記述方法
【Column】「バグ」の語源
1.4 関数とメソッド
VBScriptの関数
VBScriptのメソッド
1.5 プログラミングのルール
変数を強制的に宣言させる
関数の実装
エラー処理
クラスとインスタンスの実装
コメントの付け方
【Column】「On Error GoTo」でのエラー処理
1.6 プログラミングには流れがある
順次実行
分岐実行
繰り返し実行
PART2 基礎編——簡単だけどとても強力
2.1 ファイル操作の基本——FileSystemObject
テキストファイルを作成する——CreateTextFileメソッド
ファイルを削除する——DeleteFileメソッド
フォルダを作成する——CreateFolderメソッド
フォルダを削除する——DeleteFolderメソッド
ファイルの存在を確認する——FileExistsメソッド
フォルダの存在を確認する——FolderExistsメソッド
ファイルをコピーする——CopyFileメソッド
フォルダをコピーする——CopyFolderメソッド
ファイルを移動する——MoveFileメソッド
フォルダを移動する——MoveFolderメソッド
ファイル名を変更する——GetFileメソッド、Nameプロパティ
フォルダ名を変更する——GetFolderメソッド、Nameプロパティ
テキストファイルを読み込む——OpenTextFileメソッド、ReadAllメソッド
テキストファイルを書き込む——OpenTextFileメソッド、WriteLineメソッド
ファイルの作成日時を取得する——GetFileメソッド、DateCreatedプロパティ
ファイルの最終更新日時を取得する——GetFileメソッド、DateLastModifiedプロパティ
ファイルの最終アクセス日時を取得する——GetFileメソッド、DateLastAccessedプロパティ
2.2 Excel操作の基本——Excel.Application
Excelファイルを読み書きする——Workbooks.Openメソッド
Excelファイルを新規作成する——Workbooks.Addメソッド
Excelファイルを印刷する——PrintOutメソッド
【Column】Excel操作でエラーが発生すると…?
2.3 Word操作の基本——Word.Application
Word文書を読み書きする——Documents.Openメソッド、Selection.Textメソッド
Word文書に文字列を追加する——Documents.Openメソッド、Selection.TypeTextメソッド
新規のWord文書に文字列を書き込む——Documents.Addメソッド、ActiveDocument.SaveAsメソッド
Word文書を印刷する——PrintOutメソッド
2.4 Outlook操作の基本
メールの送信を自動化する——CreateItemメソッド、Sendメソッド
メールにファイルを添付して送信する——CreateItemメソッド、Attachments.Addメソッド
パブリックフォルダに投稿する——Folders.Itemプロパティ、Saveメソッド
メールを検索する——GetNamespaceプロパティ、SaveAsFileメソッド
メールを印刷する——PrintOutメソッド
2.5 Internet Explorer操作の基本——InternetExplorer.Application
URLを指定してInternet Explorerを起動する——Navigateメソッド、Visibleプロパティ
ホームページからテキストを取得する——Documents.Body.InnerTextプロパティ、Sleepメソッド
ホームページからHTMLを取得する——Documents.Body.InnerHtmlプロパティ、Sleepメソッド
【Column】JScriptでメッセージボックスを表示するには
2.6 データベース操作の基本——Connection、Command、Recordset
Accessデータベースに接続する——ActiveConnectionプロパティ、CommandTextプロパティ、Executeメソッド、Openメソッド
SQLを実行する——ActiveConnectionプロパティ、CommandTextプロパティ、Executeメソッド、Openメソッド
SQL Serverに接続する——ActiveConnectionプロパティ、CommandTextプロパティ、Executeメソッド、Openメソッド
【Column】ODBCで各種データベースに接続する
ODBCデータソースに接続する——ActiveConnectionプロパティ、CommandTextプロパティ、Executeメソッド、Openメソッド
2.7 外部スクリプトの実行——WScript.Shell
外部スクリプトを実行する——Runメソッド
パラメータを指定して外部スクリプトを実行する——Minute関数、WScript.Arguments.Itemプロパティ
PART3 実用編——すぐに使えるサンプル集
3.1 ファイルの検索
フォルダ内のすべてのファイルを検索する
サブフォルダも含めてファイルを検索する
正規表現であいまい検索を実行する
【Column】次世代のスクリプト環境「Windows PowerShell」
3.2 Officeアプリケーションとの連携
Excelマクロを実行する
メールの内容検索と添付ファイルのダウンロード
Excelテンプレートを使って複雑な表を作成する
Excelテンプレートの計算式を非表示にする
3.3 データベースとの連携・操作
データベースの内容をExcelファイルに出力する
データベースの内容をCSVファイルに出力する
【Column】SQLでExcelファイルとCSVファイルを読み込む
【Column】データベース言語「SQL」
3.4 Windowsシステムとの連携・操作
Windowsをログオフ、再起動、シャットダウンする
環境変数を変更、削除する
【Column】「システムのプロパティ」で環境変数を設定する
外部アプリケーションの実行と待機
3.5 データのバックアップ
バックアップ処理を行う
【Column】「共有フォルダの作成」と「ネットワークドライブの割り当て」
PART4 そのまま使える共通モジュール
4.1 共通モジュールとは
モジュールを共通化
本章の構成
共通モジュールの使用方法
4.2 ファイル操作関連
FileCommon.vbsの内容
FileCommon.vbsで使用している機能一覧
4.3 テキストファイル操作関連
TextFile.vbsの内容
TextFile.vbsで使用している機能一覧
4.4 Excelファイル操作関連
ExcelManager.vbsの内容
ExcelManager.vbsで使用している機能一覧
4.5 Wordファイル操作関連
WordManager.vbsの内容
WordManager.vbsで使用している機能一覧
4.6 Outlook操作関連
OutlookManager.vbsの内容
OutlookManager.vbsで使用している機能一覧
4.7 Windows操作関連
Win32SystemSet.vbsの内容
Win32SystemSet.vbsで使用している機能一覧
4.8 データベース操作関連
DBConnect.vbsの内容
DBConnect.vbsで使用している機能一覧
4.9 ログ出力関連
LogFile.vbsの内容
LogFile.vbsで使用している機能一覧
4.10 算術関連
Math.vbsの内容
Math.vbsで使用している機能一覧
4.11 Internet Explorer関連
IEManager.vbsの内容
IEManager.vbsで使用している機能一覧
ダウンロードデータ
本書で解説したサンプルデータをダウンロードできます。
なお、使用方法などに関しては、必ず書籍の該当箇所をご確認の上、ご利用ください。
ダウンロード後、解凍したファイル内に「readme.txt」ファイルなどが含まれる場合は、使用前にこちらもご確認ください。
正誤情報
初版第1刷において誤りがありました
初版第1刷において以下のような誤りがありました。
ここに訂正してお詫びいたします。
P.67
2-1-16.vbsの06行目の説明が違っておりました。
【誤】
Call MsgBox(CStr(objFile.DateCreated))
【正】
Call MsgBox(CStr(objFile.DateLastModified))
お問い合わせ
本書に関するお問い合わせは、下記のボタンをクリックしてお問い合わせフォームよりお問い合わせください。