今回はシェイプ内に含まれるフォントの操作について書きたいと思います。
主にShapeRangeオブジェクトのTextFrameとTextEffectのプロパティについてですねー。
フォントサイズなど、どちらのプロパティでも出来るものもあるので、並記しています。
厳密な使い分けはよく知りませんが、僕は文が短くなる方で書いています。
※以下のコードの頭にはActiveWindow.Selection.ShapeRange等の~.ShapeRangeが付いているつもりで記載しています。
(PowerPoint2010で動作確認しています)
テキストの変更
.TextFrame.TextRange.Text = "サンプルText"
.TextEffect.Text = "サンプルText"
文章が" "の中の内容になります
元々のテキストに足す場合は次のようにすると簡単に追加できます。
.TextEffect.Text = "追加Text" & .TextEffect.Text
フォントサイズの変更
.TextFrame.TextRange.Font.Size = 16
.TextEffect.FontSize = 20
フォントの変更(英数)
.TextFrame.TextRange.Font.Name = "Arial"
" "がフォントの名前
フォントの変更(日本語と全角英数)
.TextFrame.TextRange.Font.NameFarEast = "MS Pゴシック"
フォントの名前は全角や大文字等を正確に入れないと変更されません
フォントの色を変える
.TextFrame.TextRange.Font.Color = RGB(0, 0, 0)
この例ではフォントは黒になります。白はRGB(255,255,255)
フォントを太字にする
.TextEffect.FontBold = msoTrue
普通の太さにもどす際はmsoFalseにします
フォントを斜体にする
.TextEffect.FontItalic = msoTrue
フォントの位置を中央揃えにする
.TextEffect.Alignment = msoTextEffectAlignmentCentered
右揃え:msoTextEffectAlignmentRight
左揃え:msoTextEffectAlignmentLeft
これでフォント操作の代表的なものは一通り書いたと思います。
個人的には.Font.NameFarEastの存在を知らなくて、日本語変わらねぇ!
とか思ってめっちゃ探した記憶があります。
ネットでコード例挙げてる人は知ってるから当然のように.Font.NameFarEastと.Font.Nameが列挙されてますが、気が付きませんでした。
今回は以上です。
ありがとうございました。