妻一人、子供二人、猫六匹

僕がやったこと。思ったこと。日々の思い出。

大量のファイルをWinMergeで比較したスクリーンショットをExcel保存するマクロ

VBA大好き人間です。

今回はWinMergeで大量(300ファイル程度)のファイルを比較して、そのスクリーンショットExcel保存するマクロを作成しました。

 

<マクロ>

Private Declare Sub Keybd_event Lib "user32" (  _

    Byval bVk As Byte, _

    ByVal bScan As Byte, _

    ByVal dwFlags As Long, _

    ByVal dwExtraInfo As Long)

 

Private Sub getActiveWindowSS()

    keybd_event &HA4, 0&, &H1, 0&

    keybd_event vbKeySnapshot, 0&, &H1, 0&

    keybd_event vbKeySnapshot, 0&, &H1 Or &H2, 0&

    keybd_event &HA4, 0&, &H1 Or &H2, 0&

End Sub

 

Public Sub runWinMerge (ByVal pPathA As String, ByVal pPathB As String)

    Dim ShellObj as Object

    Set ShellObj = CreateObject("WScript.Shell")

    ShellObj.Run """<WinMergeのパス>""" " & pPathA & "  " & pPathB, 3, False

    Application.Wait Now + TimeValue("0:00:02")

    getActiveWindowSS

    ShellObj.SendKeys "%{F4}"

End Sub

 

<使用例>

runWinMerge C:\temp\a.txt, C:\temp\b.txt

クリップボードに比較結果の画面イメージが格納されるので好きに利用する。

 

 

以上です。

 

 

VBAエキスパート公式テキスト Excel VBA ベーシック [模擬問題プログラム付き]

VBAエキスパート公式テキスト Excel VBA ベーシック [模擬問題プログラム付き]

  • 作者: 田中亨
  • 出版社/メーカー: オデッセイコミュニケーションズ
  • 発売日: 2009/03/31
  • メディア: 単行本(ソフトカバー)
  • 購入: 3人 クリック: 19回
  • この商品を含むブログ (4件) を見る
 
VBAエキスパート公式テキスト Excel VBA スタンダード

VBAエキスパート公式テキスト Excel VBA スタンダード

  • 作者: 田中亨
  • 出版社/メーカー: オデッセイコミュニケーションズ
  • 発売日: 2009/06/04
  • メディア: 単行本(ソフトカバー)
  • 購入: 3人 クリック: 22回
  • この商品を含むブログ (7件) を見る