スクショをExcelに張り付けるのに役立つ4つのテクニック:テストエビデンス取得自動化の秘技(後編)(2/3 ページ)
システム開発におけるソフトウェアテスト(結合テスト〜システムテスト)において重要視されるエビデンス(作業記録)。前後編の2回にわたって、エビデンスとしてスクリーンショットをキャプチャし、テスト仕様書や納品書に張り付けていく作業を自動化するためのVBA/マクロのテクニックを紹介する。後編は、画像ファイルをシートに張り付け、Excel 2013のメニューからスクショを直に張り付け、画像を縮小し、指定した時間にマクロを実行する方法を解説。
Excel 2013のメニューからスクショを直に張り付ける
スクショの張り付けを自動化して確認したところ、漏れがある場合もあることだろう。その場合、ちょっとした作業で直にExcelに画像を追加できれば便利だ。Excel 2010以降からは、Excelのメニューからスクショを撮ってExcel上に張り付けることができるようになっている。
Excel 2013のメニューから、[挿入]を選択し、表示されるメニューに[スクリーンショット]があるのを確認しよう(図3)。
例えば、ブラウザーで任意のページを表示させておき、[スクリーンショット]のメニューをクリックする(図4)。
[スクリーンショット]のメニューをクリックすると、表示されていたブラウザーの画面が背後に回って、表からは消える。うまく撮れていない場合は、再度ブラウザーを表に表示して再度[スクリーンショット]をクリックするといい。
すると、図5のように[スクリーンショット]内に、今スクショした画像が表示されている。
図5の画面の赤で囲った画像をクリックすると、Excel上のマウスカーソルの位置に、該当する画像が張り付けられる(図6)。ハイパーリンクの設定のメッセージが表示される。[はい]を選択すると、張り付けた画像にリンクが張られ、画像をクリックするとそのページが開くようになる。今回は[いいえ]を選択した。
この処理はVBAで記述することもできるが、「Windows API」を使う必要があり、処理自体が複雑であるため、VBA化する処理は、今回は行わない。
画像サイズを縮小する
ここまで紹介した方法でスクショした画像が、通常の状態ではサイズが大きいままで表示される。いちいち手動で画像のサイズを同じサイズにしていくのは面倒だ。次は、画像サイズを縮小する方法について解説する。
Excel上に、前回紹介した図21があるとしよう。そのボタンの横に、「図の縮小」というボタンを配置する(図7)。
VBE(Visual Basic Editor)を起動してModule1内に、リスト3のコードを記述する。
Sub 図の縮小() Dim 縮小率 As Double 縮小率 = 1.5 Selection.ShapeRange.Width = Selection.ShapeRange.Width / 縮小率 Selection.ShapeRange.Height = Selection.ShapeRange.Height / 縮小率 End Sub
Double型の変数「縮小率」を宣言し、「1.5」で初期化しておく。選択された画像のWidthとHeightの値を「縮小率」で除算する。すると画像のサイズが縮小される。
リスト3のマクロを「図の縮小」ボタンに関連付け実行してみよう。
まず、「フォームの表示」ボタンでフォームを表示し、任意の「html」の画像のスクショを撮って張り付ける。張り付いた画像を選択して、「図の縮小」ボタンをクリックする。必ず、縮小したい画像を選択しておく必要がある。画像を選択しない状態で、「図の縮小」ボタンをクリックした場合のエラー処理は行っていない。
今回は選択した画像を縮小しているが、シート上にある画像を全て縮小するようにアレンジしたり、縮小率をフォームで入力して変えられるようにしたりすると、さらに便利になると思うので、こちらもアレンジして使ってほしい。
Copyright © ITmedia, Inc. All Rights Reserved.