Windows TIPS
[User Interface]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

情報保存機能のないアプリケーションから、情報をファイルに保存する方法

解説をスキップして操作方法を読む

デジタルアドバンテージ
2000/11/08
2003/03/08 更新
 
対象OS
Windows 2000 Professional
Windows XP Professional
Windows 2000 Server
Windows 2000 Advanced Server
多くのアプリケーションは、ウィンドウに表示した情報をファイルに保存する機能も併せ持っている。
しかし一部には、こうした機能がなく、途方にくれる場合もある。
こんな場合でも、情報の印刷が可能なら、テキストのみのジェネリック・プリンタを構成し、結果をファイルに出力することで、テキスト・データを手に入れられる場合がある。
 
  解説

 Windowsアプリケーションのほとんどは、印刷プレビューやコピー&ペースト(コピーと貼り付け)、マウスによるドラッグ&ドロップなどといった、Windowsアプリケーションの基本機能を当然のように備えるようになった。このような機能の1つとして、「アプリケーション情報のファイルへの保存」がある。例えば次の画面は、Windowsに標準添付されるデフラグメント・ツールでディスク・ボリュームのフラグメント状況を分析したところだ(フラグメントやこのツールの詳細については、別稿の「ディスク・デフラグメント完全マスター」を参照)。

Windowsのデフラグメント・ツールでボリュームを分析したところ
何らかの情報をこのようにウィンドウに表示するアプリケーションでは、情報をファイルに保存するための機能が用意されているのが一般的だ。例えばこのデフラグメント・ツールでは、下の[名前を付けて保存]ボタンをクリックすれば、ウィンドウに表示された情報をファイルに保存することができる。
  ウィンドウに表示された情報をファイルに保存したければ、このボタンをクリックする。

 画面から分かるとおり、ダイアログには分析結果が表示されている。これらの情報をどこかに取っておきたいと思ったらどうするか? 答えは簡単、下にある[名前を付けて保存]ボタンをクリックすればよい。ボタンをクリックすると、ファイル保存用のダイアログ・ボックスが表示されるので、そこでファイル名などを指定して、情報をテキスト・ファイルとして保存することができる。

 このように、ある時点において、アプリケーションがウィンドウに表示している情報を、ファイルとして保存しておきたくなる場面は少なくない。幸いなことに、市販アプリケーションなどでは、上記デフラグメント・ツールと同じように、そのための機能が用意されている。しかし最低限の機能だけをコンパクトに実装したフリー・ソフトウェアや、自社で開発したアプリケーションなどでは、このような細かな機能が省略されていることも多い。最悪の場合、画面キャプチャを保存しておくという方法もあるが、これでは文字コードを指定した検索もできないし、とてもスマートとはいえないだろう。

 

操作方法

アプリケーションに[印刷]機能があるならこの方法

 こんな場合でも、当該アプリケーションに[印刷]機能が用意されているなら、情報をファイルに保存できるチャンスがある。結論からいえば、「Text Only」のGeneric(汎用の)プリンタをセットアップして、このプリンタへの出力をファイルにリダイレクトするという方法だ。Genericプリンタでは、最低限の制御コードしか挿入されないので、出力されたファイルは通常のテキスト・エディタで読むことが可能だ。

■手順1:プリンタのセットアップ
 まずはコントロール・パネルの[プリンタ]フォルダ(Windows XPでは[プリンタとFAX]フォルダ)を開く。

[プリンタ]フォルダ
新しいプリンタをセットアップするには、この[プリンタ]フォルダの[プリンタの追加]アイコンを使用する。すでにシステムに追加されているプリンタがあるときには、それらのプリンタ・アイコンがウィンドウ内に表示される。(画面はWindows 2000の場合)
  このアイコンをダブルクリックして、新しいプリンタをセットアップする。すると、[プリンタの追加ウィザード]が開始される。

 すでにセットアップされているプリンタが存在するときには、それらのプリンタがこの[プリンタ]ウィンドウに一覧表示される。新しいプリンタを追加するには、ここで[プリンタの追加]アイコンをダブルクリックする。Windows XPでは、左にある[プリンタのタスク]にある[プリンタのインストール]をクリックする。

 プリンタ・タイプの選択では、[ローカル プリンタ]を選択し、プラグ&プレイによる検出は行わないようにチェック・ボックスをオフにする(これをオフにしないと、プリンタの検出処理が行われてしまう)。

[プリンタの追加ウィザード] ― プリンタ・タイプの選択
ここでは[ローカル プリンタ]のほうを選択する。実際のプリンタを接続しているわけではないので、その下の[プラグ アンド プレイ〜]のチェック・ボックスはオフにしておく。
  現在操作しているコンピュータに接続されたプリンタをセットアップする場合にはこちらを選択する。今回はこちらを選択する。
  プラグ&プレイに対応したプリンタをコンピュータに物理的に接続しているときには、このチェック・ボックスをオンにすることで、プリンタの識別と対応ドライバのインストールが自動的に行われるようになる。ただし今回は、実際のプリンタを接続しているわけではないので、このチェック・ボックスはオフにしておく。

 [次へ]ボタンをクリックする。するとプリンタ・ポートの選択ダイアログが表示される。Windows XPでは、イラストなどが配置されて見かけが変わっているが、本質的には同じものだ。

プリンタ・ポートの選択(Windows 2000の場合)
通常のプリンタでは、COMポート(シリアル通信ポート)やプリンタ・ポート(パラレル・ポート)など、プリンタを接続したインターフェイスを選択するのだが、情報をファイルに出力するときには、[FILE:]という特殊なポートを指定する。
  印刷した情報をファイルに出力したいときには、これを選択する。
 
プリンタ・ポートの選択(Windows XPの場合)
イラストなどが挿入されているが、本質的にはWindows 2000のそれと同じである。
  印刷した情報をファイルに出力したいときには、ドロップ・ダウン・コンボ・ボックスからこれを選択する。

 ローカル・プリンタを接続したときには、それを接続したシリアル・ポートやプリンタ・ポート(パラレル・ポート)をここで選択するのだが、情報をファイルに出力するときには、[FILE:]という特別なポートを選択する。今回の例以外にも、プリンタに送信される印刷情報をファイルとして保存しておきたいときに、この方法を応用することができる。これを選択したら[次へ]ボタンをクリックする。

プリンタの選択
通常はここで接続したプリンタの機種を選択するのだが、今回はここでテキストを出力するGenericプリンタを選択する。
  ここでは[Generic]を選択する。すると右の[プリンタ]にGenericプリンタとして選択可能なプリンタの種類が一覧表示される。
  情報をテキストとして出力するときには、これを選択する。

 通常はここで接続したプリンタの種類を選択し、それに対応したドライバをインストールできるようにするのだが、今回は[製造元]として[Generic]を選択し、右の[プリンタ]一覧から[Generic / Text Only]を選択する。

 こうしてプリンタのセットアップを完了して先ほどの[プリンタ]フォルダに戻ると、「Generic / Text Only」プリンタが追加されているはずだ。

「Generic / Text Only」プリンタ・アイコンが追加された[プリンタ]フォルダ
プリンタをセットアップして[プリンタ]フォルダに戻ると、追加したプリンタ・アイコンが表示されているはずだ。
  追加された「Generic / Text Only」プリンタ・アイコン。前面に描かれているのはフロッピー・ディスクで、印刷イメージがファイルに保存されることを表している。

 次に追加された[Generic / Text Only]プリンタ・アイコン上でマウスの右ボタンをクリックし、表示されるショートカット・メニューの[プロパティ]を実行する。すると次のようなプリンタのプロパティ・ダイアログが表示される。ここでは[フォントの選択]タブをクリックし、[コード ページ]ドロップダウン・コンボ・ボックスで[Japanese(932)]を選択する。デフォルトでは、コード・ページは[US(ANSI)(1252)]になっている。ここでコード・ページを変更しておかないと、半角アルファベットは正しく保存されるが、漢字は文字化けしてしまう。

[Generic / Text Onlyのプロパティ]ダイアログ・ボックス
デフォルトの状態では、[Generic / Text Only]プリンタのコード・ページは[US(ANSI)(1252)]になっているので、これを[Japanese(932)]に変更する。こうしないと、半角アルファベットは正しく保存されるが、漢字は文字化けしてしまう。
  プロパティ・ダイアログが表示されたら、この[フォントの選択]タブをクリックする。
  このコンボ・ボックスで、コード・ページを[Japanese(932)]に変更する。

■手順2:印刷とファイルへの保存
 プリンタのセットアップが完了したら、後はアプリケーションからこのプリンタを選択して印刷処理を実行するだけである。例えばここでは典型的な例の1つとして、各種システムの構成情報などを確認したり、ドライバの更新などを行ったりできるデバイス・マネージャを取りあげよう。ご承知のとおり、このデバイス・マネージャは、コントロール・パネルの[システム]アプレットから起動できる重要なツールの1つで、ハードウェアに関連するトラブルシュートなどでは頻繁に利用するものだ。しかしデバイス・マネージャには、情報の印刷機能はあるが、これをファイルに保存する機能は用意されていない(ただしWindows 2000/Windows XPでは、[アクセサリ]−[システム ツール]−[システム情報]から起動できる「システム情報」ツールによって各種のデバイス情報をウィンドウに表示するとともに、情報をファイルに保存できるようになった)。

 デバイス・マネージャを起動し、必要な情報を表示したら、[印刷]コマンドを実行する。

アプリケーションを実行し、印刷処理を実行する
アプリケーションを実行して、保存したい情報をウィンドウに表示させ、印刷処理を実行する。ここでは例として、デバイス・マネージャを使用した。
  メニューから印刷処理を開始する。

 アプリケーションから印刷処理を開始すると、通常はプリンタの選択や用紙設定を行うための[印刷]ダイアログが表示される。

[印刷]ダイアログ
アプリケーションから印刷処理を実行すると、通常はこのような[印刷]ダイアログが表示される。ここでは、印刷処理を実行するプリンタの選択や、用紙設定などを行うことができる。
  印刷先として、先ほど追加した[Generic / Text Only]プリンタを選択する。
  プリンタを選択したらこのボタンをクリックする。

 ここでは、先ほど追加した[Generic / Text Only]プリンタを選択して次に進む。選択したプリンタの出力ポートがファイルになっているときには、次のようなダイアログが表示される。

ファイルの出力先を指定するダイアログ
印刷処理を実行したプリンタの出力先がファイルになっているときには、このダイアログが表示される。ここでは出力先のファイル名を指定する。
  印刷先(情報保存先)のファイル名を指定する。

 [OK]ボタンをクリックすれば、印刷処理が実行され、結果としてアプリケーション情報(この場合はデバイス・マネージャによるシステム情報)がファイルに保存される。保存されたファイルは、メモ帳などのテキスト・エディタで表示することが可能だ。ただしGenericプリンタでも、わずかな制御コードは挿入されるので、それらが表示不能文字として表示されるだろう。例えば、今回保存したファイルをメモ帳で開いたところ、次のようになっていた。

デバイス・マネージャから保存した情報をメモ帳で表示したところ
Genericプリンタでも最低限の制御コードは入っているので、エディタなどで表示すると、これらが表示不能文字として表示される。しかしそれを除けば、ほとんどの情報は正しくテキスト・ファイルに保存されていることが分かる。

 先頭部分にある表示不能文字(黒ベタの四角形)が制御コード部分だ。しかしそれを除けば、ほとんどの情報が正しくファイルに記録されていることが分かる。End of Article

関連記事(Windows Server Insider)
  実験:ディスク・デフラグメント完全マスター
     
更新履歴
【2000/11/16】当初公開された記事では、[Generic / Text Only]プリンタを追加後、フォントのコード・ページを日本語に変更していなかったため、日本語が文字化けした状態でファイルに保存されていました。読者からご指摘をいただき、フォントのコード・ページを変更することで、日本語も正しく保存できることが分かりましたので、この結果を踏まえて記事を書き直しました。
【2003/03/08】Windows XPに関する情報を加筆・修正しました。
 
「Windows TIPS」

@IT Special

- PR -

TechTargetジャパン

Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間
ソリューションFLASH