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

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

» 2014年08月26日 18時00分 公開
[薬師寺国安PROJECT KySS]

 Selenium VBA使ExcelSelenium VBA使Excel

 4便Tips




Excel 2013






 ExcelWindows 7Windows Server 2008 R2GUIPSR.EXESelenium VBA使Selenium WebDriver

 Excel VBA

 TipsC\VBAImage

 1
図1 「コンボボックス」を配置し「コントロールの書式設定」を完了した

 ExcelC\VBAImageU1:U10

 U1:U10T2

 T5INDEX使INDEX

INDEX関数の書式

INDEX({範囲},{行番号})



 U1:U10T2=
=INDEX(U1:U10,T2)

 ここからは、実際にマクロを記述してみよう。画像ファイルをワークシートに張り付けるには、PicturesコレクションのInsertメソッドを使用する。

画像ファイルをワークシートに張り付けるPictures.Insertメソッドの書式

Pictures.Insert {パス付き画像ファイル名}


 まず、VBE(Visual Basic Editor)のメニューから、[挿入]→[標準モジュール]と選択する。プロジェクトにModule1が追加されるので、Module1をダブルクリックして、表示されるエディター画面内にリスト1のコードを記述する。

Option Explicit
Sub 画像の表示()
  Call 画像の削除
  Range("T6").Value = Range("T5").Value
  Range("B2").Select
  ActiveSheet.Pictures.Insert "C:\VBAImage\" & Range("T6").Value
End Sub
リスト1 画像を表示するコード

 32

 4T6T5T5INDEXT5使T5T6T6

 B26Pictures.InsertT67
Sub 画像の削除()
  Dim 範囲 As Range
  Dim myShape As Variant
  Set 範囲 = Range("B2")
  For Each myShape In ActiveSheet.Shapes
    If Not Intersect(Range(myShape.TopLeftCell, myShape.BottomRightCell), 範囲) Is Nothing Then
      myShape.Delete
    End If
  Next
End Sub
リスト2 画像を削除するコード

 Tips2

 B21

 2B2
図2 「コンボボックス」から選択した画像が表示された

 

 Tips1Insert
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。