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

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

Powerpoint VBA 数式を書く CommandBarの利用

今日は,必死に数式の入力方法をある程度理解しようとしていました。

まず,スタートとして
 Word は Alt + Shift + -
 Powerpoint は テキストボックス等を選び,文字が打てる状態で Alt + ;
です。

単なるショートカットとしても価値がありますが,数式をただの文字にしたり,文字を数式の行形式にできるという意味でもこれは大事なショートカットです。

いろいろと試しているところですし,片方だけの大きな括弧とかが難しくて,まだマスターしきれていませんが,

お風呂でぽーっとしてたら,また思いついたことがあったので試してみました。

必死に考えて考えて,少し離れると思いつくということが ほんとよくありますね。


f:id:chemiphys:20170218225900g:plain

致命的なちらつきはありますが,これは面白いと思っています。

ちらつき回避の方法をもう少し模索するしかない。

コードはこちらです。

Private Sub TextBox1_Change()
Slide1.Shapes("数式").TextFrame.TextRange = TextBox1.Text
If ActivePresentation.Windows.Count = 0 Then
    Dim DWin As DocumentWindow
    Set DWin = ActivePresentation.NewWindow
    DWin.Activate
Else
    ActivePresentation.Windows(1).Activate
End If

Slide1.Shapes("数式").TextFrame.TextRange.Select
If Slide1.Shapes("数式").TextFrame2.TextRange.MathZones.Count = 0 Then
    Application.CommandBars.ExecuteMso ("InsertBuildingBlocksEquationsGallery")
End If
If CommandBars.GetEnabledMso("EquationProfessional") Then
    Application.CommandBars.ExecuteMso ("EquationProfessional")
End If
SlideShowWindows(1).Activate
End Sub

今回はいつもと書く場所がことなります。

まず,スライド1に 開発タブのテキストボックスコントロール(ActiveXコントロール)を入れます。
そして,さらにスライド1に テキストボックスを入れ, 数式 という名前をつけます。

この準備をして,ActiveXのテキストボックスコントロールを右クリック → コードの表示とすると,

上記コードのように TextBox1_Change() というテキストボックスのチェンジイベントのコードを書ける場所にいくと思うので,その中に上記のコードを貼り付けてください。

そしたら動くと思います。

ActiveXまで出てくると,説明大変ですね(;´▽`A`` ファイル添付サセテクレ(;´▽`A``

さて,ちょっとおもしろいものになってきたので,もうちょいちらつかせずにできる方法がないか調べてみよう