Archive for 10月 15th, 2012

画面印刷

月曜日, 10月 15th, 2012

昔パソコンには「画面印刷」というキーがあり、そこを押すと画面がそのままプリンターから出てきました。

このキーは今でもあるのですが(「画面印刷」というより「PrintScreen」の方が普通かもしれません)、今ではそのままではプリンターから何も出てきません。画面のイメージ画像がクリップボードに貼り付けられるだけなので、これをプリンターから出すためにはワードとかエクセルとかパワーポイントとかのファイルにそれを貼り付けて印刷する、ということになります。

今の若い人はいろいろ紙になんか出さないで、画面で見て全ての処理ができるんでしょうが、私はとにかく紙に出さないとじっくり読めないので、何でもかんでも印刷してしまいます。

たいていのものは印刷できるんですが、時として印刷できない画面のレイアウトとか、わざわざ印刷できないように設定してあるpdfファイルなどにぶつかると、メンドクサイナーと思いながらこの作業を繰り返しています。

一応エクセルでは、クリップボードに貼り付けたイメージをエクセルに貼り付けて、印刷して、貼り付けたイメージを削除するという作業まではキー一発でできるようにマクロを組んでいるのですが、それでも印刷したい画面を出すソフトとエクセルの間を行ったり来たりするので、結構手間がかかります。

近頃仕事でかなり大量の画面を印刷する必要があり、何とか我慢して何時間かかけてその手順を実行したのですが、同様の作業をあと何回か繰り返すことになりそうなので、これを何とかすることにしました。

以前も何か良い手がないかな・・と思っていろいろ探したのですが、良いツールがみつからず、なければ自分で作ろう!と画面を印刷するソフトを作ろうとしてみたのですがなかなかうまく行かず、トライしては失敗するというのを何回か経験しています。

今回はいよいよどうにもならないので、改めてゼロスタートでプログラム作りをしてみたところ、結構簡単にうまく行きました。多分以前失敗したものよりスリムなプログラムになっていると思います。
これで画面の印刷はできるようになったわけですが、これにWindowsの「ショートカットの作成」と「ショートカットキーの設定」を組合わせると、それこそ昔「画面印刷」のキーを使っていたのと同じように、何かのプログラムを動かしている最中にいつでも好きな時にキーを押すだけで画面印刷ができるようになりました(とはいえキー一つではなく、Ctrl+Alt+文字とキーを3つ一緒に押すんですが)。

実際はそのプログラムと画面印刷のプログラムが交互に動いているのですが、使い勝手からすると単に「画面印刷」のキーを押しているのと同じような感じです。

まあ理屈の上ではできて当然の話が、うまく行かなかったのは私のプログラミング力の不足ということではあるのですが、私にとっては数年来の宿題が思ったより簡単にうまく解決したと嬉しくなって、この記事を書いています。

私のように何が何でも紙に出さなきゃという人は今ではあまり多くないでしょうが、そのような人で、もしまだうまい解決策が見つかっていない人がいたら、そしてもしご希望だったらプログラムをお送りしますから、お知らせ下さい。
「ショートカットの作成」と「ショートカットキーの設定」のやり方も一緒にお知らせします。

私はWindows XPで作成し、使っているのですが、多分他のWindows OSでもうまく動くんじゃないかと思います。

もしソースを見てみたいという方がいたら、私のソースはdelphiなんですが、ソースもお送りします。C系の言語やVBやjavaのプログラムがわかる方だったら、delphiのソースは簡単に読めると思います。開発の途中のいろんなウゾウムゾウも残ったままですけど。