プリントスクリーンの動作を行うことまではできたのですが、
更なる効率化のために以下の詳細を設定したいです。
1.プリントスクリーンを行った範囲でトリミングを実施
2.その結果を保存(最初に命名規約は事前に定義)
この2つは実施できるのでしょうか?
可能であればコードの記載方法をご教示願います。
Officeアプリケーションではないので不可能なのでしょうか?
スクリーンショットはこちらで取れるようです。
http://d.hatena.ne.jp/language_and_engineering/20100425/p1
' キャプチャ実行 keybd_event vbKeySnapshot, 0&, fKEYDOWN, 0& keybd_event vbKeySnapshot, 0&, fKEYUP, 0& '貼り付け処理 Sheets(sheet_name).Activate Range("A1").Select 'SendKeys "+(^V)", True ActiveSheet.Paste
ただ、32bit版と64bit版でkeybd_eventに若干違いがあるようなので合わせてください。
http://qiita.com/nezuq/items/95cad79d9a9dd920d30e
トリミングは以下の真ん中少し下あたりにあります。
http://www.excel-vba.net/excel-figure-003.html
With ActiveSheet.Shapes("Picture").PictureFormat .CropLeft = 10 .CropRight = 10 .CropTop = 20 .CropBottom = 20 End With
「ActiveSheet.Shapes("Picture")」は下記参考に「Sheets(iSheet)」を「ActiveSheet」にして
With ActiveSheet.Pictures(ActiveSheet.Pictures.Count).ShapeRange.PictureFormat
としたら良いんじゃないでしょうか。
http://finalfrontier.cerberus-net.jp/?p=63
With Sheets(iSheet).Pictures(Sheets(iSheet).Pictures.Count).ShapeRange
コメント(0件)