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

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

WordVBA コンテンツコントロールを知った

program.station.ez-net.jp
このような記事を見つけました。コンテンツコントロールというすごいものがWordにある。
これはイイ。

Wordはけっこう使ってるつもりだったんですが,今回マクロでいじろうと思うまで,コンテンツコントロールというものの存在を知りませんでした。

開発のリボンにたしかに知らないものがある。
f:id:chemiphys:20170211024524p:plain

挿入して,そのプロパティを見ることができます。いろいろあるけど,タイトルとタグの二つを設定できるようです。
これは期待できます。

f:id:chemiphys:20170211024731p:plain

使ってみたら,これはすごい。考えた人すごい。久々にWordに感動した。キミモスゴイヤツダ。

3つのコンテンツコントロールを入れ,タイトルは CC1 CC2 CC3 タグにはすべて CCといれました。

このようなコードを書いてみる。

Sub Test()
Dim Doc As Document
Set Doc = ActiveDocument

Dim cc As ContentControl
For Each cc In Doc.ContentControls
    If cc.Tag = "CC" Then cc.Range.Text = ""
Next

Stop

For Each cc In Doc.ContentControls
    If cc.Title = "CC1" Then cc.Range.Text = "これはCC1です"
    If cc.Title = "CC2" Then cc.Range.Text = "これはCC2ですね"
Next
End Sub

f:id:chemiphys:20170211025508g:plain

かなり短いアニメーションGIFですがわかっていただけるでしょうか。

最初のループでタグがCCのコンテンツコントロール,つまり3つとも値を""にまとめて処理できてる。

次のループでCC1とCC2に値を設定できています。

これがあれば 狙い撃ちできちんと値を変えることができます。

前回の記事と今回のコンテンツコントロールの二つがあれば,ほんと,楽勝でやれそーだ。

Wordもスゴイ。Word Macroの本注文したので,早く来ないかなぁ。他にもいろいろ学べば,さらに広がる気がします。 
VBA仲間探索のため,ブログ村に参加しています。
にほんブログ村 IT技術ブログ VBAへ
にほんブログ村