イライラ棒的な処理をパワポで作りたい時、
図形のマウス通過を接触判断として、
触れたら、スライドの最後に飛ばす、そんなスライドを作成したい
知恵袋の質問
detail.chiebukuro.yahoo.co.jp
に答えてみました。
下記、いつもの あのあの そのその、イライラ棒よりもイライラする解説動画です(ぉぃぉぃ)
youtu.be
https://youtu.be/7p0lgYUhRG0
目次
00:00 挨拶・やりたいこと
00:52 動作 マウス通過の設定
01:53 コードの説明
02:55 使い方 テスト実行
06:18 繰り返しの説明 イライラ
#イライラ棒 #PowerPointVBA #パワーポイント #マクロ #ActionSettings #MouseOver #リンク動作設定 #マウス通過
1.手作業だと、設定がめんどくさい
※複数、図形、オブジェクトを選択して、
動作リンクをなぜか?設定不可?
複数まとめて同じ動作を設定したいだけなのに・・・
2.↑なので、図形を複数選択後、マクロを起動すると、
選択図形の動作リンクで、スライドの最後に移動させる
2.1 図形のマウス通過の設定は、
With ActiveWindow.Selection.ShapeRange.ActionSettings(ppMouseOver) .Action = ppActionLastSlide .SoundEffect.Type = ppSoundNone .AnimateAction = msoFalse End With
みたいなコードなので、選択図形、Selectionでループさせる
2.2 作成したコード
'複数選択された図形、シェイプの動作設定を行う、 'マウス通過の動作にスライド最後のリンクを設定 Sub 選択された複数シェイプの動作設定20220814() If ActiveWindow.Selection.Type <> ppSelectionShapes Then MsgBox "Shape 動作を設定したい、図形などを選択してね", vbInformation Exit Sub End If Dim shp As Shape '単独のシェイプ '選択されているシェイプSelection.ShapeRangeから一つ一つshpに取り出して回す For Each shp In ActiveWindow.Selection.ShapeRange Debug.Print "shp.Name=" & shp.Name With shp.ActionSettings(ppMouseOver) 'マウス通過の動作Action設定 .Action = ppActionLastSlide '最後のスライドへ .SoundEffect.Type = ppSoundNone .AnimateAction = msoFalse End With Next MsgBox "処理終了" End Sub
3.テスト
複数、図形を選択後、マクロを走らせてテストする。
コードをアレンジして、使ってみてください。