検索
連載

スクショをExcelに張り付けるのに役立つ4つのテクニックテストエビデンス取得自動化の秘技(後編)(2/3 ページ)

システム開発におけるソフトウェアテスト(結合テスト〜システムテスト)において重要視されるエビデンス(作業記録)。前後編の2回にわたって、エビデンスとしてスクリーンショットをキャプチャし、テスト仕様書や納品書に張り付けていく作業を自動化するためのVBA/マクロのテクニックを紹介する。後編は、画像ファイルをシートに張り付け、Excel 2013のメニューからスクショを直に張り付け、画像を縮小し、指定した時間にマクロを実行する方法を解説。

Share
Tweet
LINE
Hatena

Excel 2013のメニューからスクショを直に張り付ける

 スクショの張り付けを自動化して確認したところ、漏れがある場合もあることだろう。その場合、ちょっとした作業で直にExcelに画像を追加できれば便利だ。Excel 2010以降からは、Excelのメニューからスクショを撮ってExcel上に張り付けることができるようになっている。

 Excel 2013のメニューから、[挿入]を選択し、表示されるメニューに[スクリーンショット]があるのを確認しよう(図3)。


図3 [挿入]メニュー内に[スクリーンショット]がある

 例えば、ブラウザーで任意のページを表示させておき、[スクリーンショット]のメニューをクリックする(図4)。


図4 任意のページを開いておいて、Excelメニューの[スクリーンショット]を選択する

 [スクリーンショット]のメニューをクリックすると、表示されていたブラウザーの画面が背後に回って、表からは消える。うまく撮れていない場合は、再度ブラウザーを表に表示して再度[スクリーンショット]をクリックするといい。

 すると、図5のように[スクリーンショット]内に、今スクショした画像が表示されている。


図5 [スクリーンショット]内に撮った画像が表示されている

 図5の画面の赤で囲った画像をクリックすると、Excel上のマウスカーソルの位置に、該当する画像が張り付けられる(図6)。ハイパーリンクの設定のメッセージが表示される。[はい]を選択すると、張り付けた画像にリンクが張られ、画像をクリックするとそのページが開くようになる。今回は[いいえ]を選択した。


図6 画像が張り付けられた

 この処理はVBAで記述することもできるが、「Windows API」を使う必要があり、処理自体が複雑であるため、VBA化する処理は、今回は行わない。

画像サイズを縮小する

 ここまで紹介した方法でスクショした画像が、通常の状態ではサイズが大きいままで表示される。いちいち手動で画像のサイズを同じサイズにしていくのは面倒だ。次は、画像サイズを縮小する方法について解説する。

 Excel上に、前回紹介した図21があるとしよう。そのボタンの横に、「図の縮小」というボタンを配置する(図7)。


図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
リスト3 画像のサイズを縮小する処理

 Double型の変数「縮小率」を宣言し、「1.5」で初期化しておく。選択された画像のWidthとHeightの値を「縮小率」で除算する。すると画像のサイズが縮小される。

 リスト3のマクロを「図の縮小」ボタンに関連付け実行してみよう。

 まず、「フォームの表示」ボタンでフォームを表示し、任意の「html」の画像のスクショを撮って張り付ける。張り付いた画像を選択して、「図の縮小」ボタンをクリックする。必ず、縮小したい画像を選択しておく必要がある。画像を選択しない状態で、「図の縮小」ボタンをクリックした場合のエラー処理は行っていない。


図8 張り付けられた画像を選択して縮小した

図9 残りの1枚も「図の縮小」ボタンでサイズを小さくして、任意の位置に並べた

 今回は選択した画像を縮小しているが、シート上にある画像を全て縮小するようにアレンジしたり、縮小率をフォームで入力して変えられるようにしたりすると、さらに便利になると思うので、こちらもアレンジして使ってほしい。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る