人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excel VBAでプリントスクリーンの詳細動作を設定したい
プリントスクリーンの動作を行うことまではできたのですが、
更なる効率化のために以下の詳細を設定したいです。

1.プリントスクリーンを行った範囲でトリミングを実施
2.その結果を保存(最初に命名規約は事前に定義)

この2つは実施できるのでしょうか?
可能であればコードの記載方法をご教示願います。
Officeアプリケーションではないので不可能なのでしょうか?

●質問者: keijun5145
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● TransFreeBSD

スクリーンショットはこちらで取れるようです。
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.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ