Powerpoint VBAを使おう!

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

びっくりしたけど納得した(;´▽`A``

chemiphys.hateblo.jp
以前,こんなことを書いたことがありました。

それから,ループの書き方を変え,いちおうPowerpointと仲良くしているわけですが,

たぶん同じ理由からくることなんでしょうけど,Σ(・ω・ノ)ノ!びっくりしました。

いくつか スライド1に図形を配置して,下記のコードを実行してみてください。

Option Explicit

Sub test()
Dim TSlide As Slide: Set TSlide = ActivePresentation.Slides(1)
Dim x As Shape
For Each x In TSlide.Shapes
    x.Duplicate
    If TSlide.Shapes.Count > 50 Then Exit Sub
Next
End Sub

If TSlide.Shapes.Count > 50 Then Exit Sub

とくにこの行が何書いてるの?と思いませんか??

これ書いとかないと,帰ってきません・・ctrl + pauseでごくたまに帰ってきてはくれましたけど・・。

わたしは3つの図形を置いてたら,こうなりました。
f:id:chemiphys:20170117234059p:plain

えーっと・・私の認識おかしいのかなぁと Excelで試すと,

もう Option Explicit消して,急いで確認

f:id:chemiphys:20170117234237p:plain

ですよね,一回すべての図形増やしたら終わりだよね…


powerpointの図形の仕様やっぱりちょっとオカシイヨ(;´▽`A``

こんな簡単に無限ループに落ち得るとか あぶなすぎる(;´▽`A``