インストールレスプログラミング( ´ー`)

VBA , JavaScript , HTAなど 365アプリはインストール必要ですが、仕事に無いケースはほぼないから(・_・;)

Powerpoint VBA ハイパーリンクを全て削除するマクロ

教材づくりに必死な毎日です。

使えるものは使わせてもらおうと思うほどせっぱ詰まっています。

pixabayは出会ってとてもよかった。非常に使いやすいです。

来年はどうやら,フリー素材と自作素材で勝負しないといけない状況になったようです。

最大限に利用しつつ,自作に織り交ぜていく。


普遍的な文・式については著作権は無いようですので,

問題なさそうな場合はコピぺを利用することはあります。

その時,ハイパーリンクが邪魔なことがありますので,消す方法を考えました。

探すのに時間がまぁまぁかかったので,備忘録として書いたコードを載せます。

周期表をwikipediaから頂いてきて,パワーポイントに貼ったものの膨大なリンクをどうしようか,というところです。

VBAコード

Option Explicit

Sub DelHyperLink()
    Dim TargetSlide As Slide: Set TargetSlide = ActiveWindow.View.Slide
    Dim h As Hyperlink
    For Each h In TargetSlide.Hyperlinks
        h.Delete
    Next
End Sub

Activewindow.View.Slideという設定をしていますので,アクティブなスライドに対して処理を行います。

f:id:chemiphys:20170327215006p:plain
下線がたくさんあり,リンクを一つ一つ消すと大変です。

上記のマクロを実行すると,

f:id:chemiphys:20170327215100g:plain
そのスライドにあるハイパーリンクを全部消してくれます。
あんまり意味のない動画ですね(;´▽`A``

まぁ消えます。

さて,なぜ上のように書けるのかという話ですが,

f:id:chemiphys:20170327215239p:plain

こんなところに収められているからです。コレクションなので,For Eachが使えます。

実益を兼ねて,久々にパワーポイントにかかわるマクロが書けて良かった。