今回はちょっとした効率化用の小ネタの紹介
スクリーンショット(Windows + Shift + S)で範囲選択 → シート上に貼り付けた画像をぼかす処理をマクロで一発で実行します。
利用目的として、仕様書やブログなどの説明などで必要な範囲を隠したい時など
実際に使用している動画がこちら
動画では2通りの方法でそのマクロを実行しています。
①リボンに登録したマクロから実行
②ユーザーフォームを利用したショートカット機能から実行
①の場合はマウス操作のみでいつでもどこでも実行できます。
②の場合はキーボード操作のみでいつでもどこでも実行できます。
②は当方で独自開発の「スーパー開発ショートカット」という機能ですが、ここでは詳細は割愛します。本来は①のようにリボンに登録して使用するマクロをキーボード操作のみで実行できるようにするのが目的です。
使用しているコードはこちら
Public Sub SetSelectPictureBlur()
'選択しているPictureをぼかす
'20240814
'選択Pictureの取得
Dim Picture As Picture
Set Picture = GetSelectionPicture
If Picture Is Nothing Then Exit Sub
'PictureEffectsの消去
Do
If Picture.ShapeRange.Fill.PictureEffects.Count = 0 Then Exit Do
Call Picture.ShapeRange.Fill.PictureEffects.Delete(1)
Loop
'ぼかす
Call Picture.ShapeRange.Fill.PictureEffects.Insert(msoEffectBlur)
End Sub
Private Function GetSelectionPicture() As Picture
'選択中の画像を取得する
'画像以外を選択している場合はNothingを返す
'20221123
Dim Dummy As Object: Set Dummy = Selection
Dim Output As Picture
If TypeName(Dummy) = "Picture" Then
Set Output = Dummy
End If
Set GetSelectionPicture = Output
End Function
Comments