読者です 読者をやめる 読者になる 読者になる

Powerpoint VBAを使おう!

Powerpoint VBAやExcelのVBAで遊んでいます。Word VBAも始めました。

息抜きにスライドショー中のポインターのことでも。

わたしが,最初にPowerpointVBAを見たのはたぶんこの内容のコード

職場の後輩の子ががんばって作ったもので,スゲーと感心したもの。

そのマクロのコードを含んだファイルはどこかに行ってしまったので,一から書くことになりましたが,

主要部分だけここに書きます。

ほんとは坂道を玉転がす話を終わらせたかったんですが,

目下完敗中。 職場からの帰路が1時間くらいと長いので,運転しながらなんとなく考えたんですが,

ほかに思いつきませんでした。

なので,簡単な話ですが,書きたいと思います。
f:id:chemiphys:20170123221553g:plain
コードはこちら。

Sub Eraser()
    SlideShowWindows(1).View.PointerType = ppSlideShowPointerEraser
End Sub

Sub ReturnPointer()
    SlideShowWindows(1).View.PointerType = ppSlideShowPointerAutoArrow
End Sub

Sub DrawLine(図形 As Shape)
    With SlideShowWindows(1).View
        .PointerType = ppSlideShowPointerPen
        .PointerColor = 図形.Fill.ForeColor.RGB
    End With
End Sub

たったこれだけです。

スライドショー中のポインターは,VBAとか使わなくてももともとボタンはありますが,しばらくマウス動かして,左下のボタンをスマートに操作しないとなんとなくうまくいきません。

正直私みたいな雑な人間だと,次のページに行ったりしますので,自分が使いやすいボタンを準備してマクロを関連付けると,比較的余裕で対応できるかもしれません(ΦωΦ)


3つのマクロがありますが,
Eraser は消しゴム状態にするマクロです。

ReturnPointerは通常の状態に戻す。

DrawLineは線を描けるようになるわけです。

いつもは図形のマウスクリック時に設定しますが,今回はマウス通過時のマクロに設定したほうがいいと思います。

ペンの状態になると,クリックできませんから!

よく私が使う図形を取得する引数がありますね。

そう,コードを見ていただけるとわかってもらえるかもしれません。そのボタンの塗りの色を取得して,ペンの色に設定するように書いています。

2010以降じゃないと動かないのかな?2013からかな?わたしが通常使うPCは2016なので,確認がすみません,できません。

もし,特定の色しか使えないなら vbRed vbYellow等で指定するといけるかもしれません。

ただ,好きな色をボタンの表面にしておけばその色になるというシンプルな感じなので,これいいかも,と思い作ってみました(゚▽゚*)

単純なヒトデスミマセン。

玉の話は難しくて,頓挫しまくってますから,次何を題材にするか考えないとなー。