Powerpoint VBAを使おう!

Powerpoint VBAやExcelのVBAで遊んでいます。AdobeのScriptにも興味が少し。。

(・・?

何日ぶりかのログイン(・_・;)

生きてはいます。ただ,VBAだけじゃだめかなぁというのと,Adobeのソフトをちまちま使い始めているので,そのスクリプト言語としてJavascriptを勉強中。

Adobe Animateのためにも必要かなぁと。。

さっぱりですけどね。。Illustrator用にネットで探したスクリプトを,少しずつ自分好みに書き換えたりすることから始めているところです。

VBScriptAdobeスクリプトを書くのには使えますが,そちらはVBAとかなり似てるので,今はJavascriptが理解できるよう努力しているところ。。


ですがこれから書くのはVBA

パワーポイントで以前自分で作ったものに,フォント選択のコンボボックスを入れたいと思いました。


Excelではけっこう簡単にやれます。

Sub test()
    Dim cb As CommandBarComboBox: Set cb = Application.CommandBars("Formatting").Controls(1)
    Stop
End Sub

こう書いてローカルウィンドウを見るとListCountが増えているので,ちゃんとフォント一覧取れそうだなぁと思える。

f:id:chemiphys:20180903204943p:plain

Powerpointでもきっといけると思い々コードでやってみました。Versionは2016 (Office365)です。
f:id:chemiphys:20180903205449p:plain

フォント一覧が取れていないことがわかります。

ナンデダ (・_・;)

WordではControlsのインデックスが少しずれるけど,修正したらちゃんと取得できたんですよね。。Wordは

Sub test()
    Dim cb As CommandBarComboBox: Set cb = Application.CommandBars("Formatting").Controls(3)
    Stop
End Sub

これで取得できているようでした。むー。

愚痴を書きに来ただけです。。解決できませんでした。


追記 とりあえずごり押し PowerpointからExcelへの参照設定を入れて書いてます。

Sub test()
    Dim xl As New Excel.Application
    Dim cb As CommandBarComboBox
    Dim a() As String
    'PowerpointだけでできなかったのでExcelを利用
        xl.Workbooks.Add
        Set cb = xl.Application.CommandBars("Formatting").Controls(1)
        ReDim a(cb.ListCount)
        Dim i
        For i = 1 To cb.ListCount
            a(i) = cb.List(i)
        Next
        xl.Quit
    Stop
    
End Sub

f:id:chemiphys:20180903231740p:plain
強引ですが,手段は後に選ぼう(;´▽`A``