う~~ん、このテキストをもう少し大きくしたいんだよね。
フォントサイズの設定だね。
テキストだってお好みで変更できるよ。
フォントサイズは文字の大きさを指定する部分で、通常テキストを右クリックすると↓↓↓こんな感じで出てきます。
今回はテキストのフォントやサイズ、太字などの書式を取得・設定する方法をご紹介します。
サイズ&フォントの表し方について
フォントサイズって〇〇ptって取得できるの?
何もしないとinch(インチ)で取得したりするから
単位を指定した方良いかも・・・。
じゃあフォントは?
“MS Pゴシック”とか”Malgun Gothic”みたいな感じ?
フォントIDっていうのがあってそれを指定するんだ、
調べないとならないからちょっと面倒だね。
フォントサイズの単位を指定するって?
Visioって標準の単位がインチ(inch)なんです。
そう、なんでも!
フォントサイズを指定しようとするとインチになったりもします😱
なので
.Result(“pt”)
を最後に付けて単位を指定してあげて下さい。
フォントのIDって?
Visioで使っているフォントにはひとつづつIDがありまして。
例えば)
MS Pゴシック:7
游ゴシック:304
MS P明朝:312
などなど・・・
ただし、フォントIDはシステムごとに違う場合があるのでご自分の環境で確認するのが安全です。
この後にフォントIDを取得するSampleがあるので良かったら~。
フォントIDを取得する構文
Visio VBAでフォントIDを取得するには
図形に記入されているテキストのIDなら
テキストが書かれている図形.Cells(“Char.font”)
フォント名を指定するなら
ThisDocument.Fonts(“フォント名”).ID
※フォント名は「MS Pゴシック」「MS P明朝」「游ゴシック」などの名前
Sample
フォント名を入力するとフォントIDをメッセージボックスに出すサンプルを作ってみました。
Sub Font_InBox() On Error GoTo NoFont InFont = InputBox("フォント名を入力して下さい。") If 文字列 = "" Then Exit Sub End If MyFont = ThisDocument.Fonts(InFont).ID MsgBox ("フォントID:" & MyFont) Exit Sub NoFont: MsgBox ("有効なフォントを入れて下さい。") End Sub
フォントサイズを取得する方法
まずは取得する方法から!
構文
Visio VBAでテキストのサイズを取得する構文はこちら。
フォントサイズ=図形.Cells(“Char.size”).Result(“pt”)
フォントを変更する構文はこちら。
日本語フォントID=図形.Cells(“Char.asianfont”)
英数フォントID=図形.Cells(“Char.font”)
※フォント名を調べるには
Sample
選択中の図形に書かれたテキストのフォント、サイズを取得するサンプルです。
何かしら図形を選択しておいてください。
コード
Sub test1() Dim CurrentFont, CurrentSize 'テキストのフォントを取得します。 CurrentFont = ActiveWindow.Selection(1).Cells("Char.font") 'テキストのフォントサイズを取得します。 CurrentSize = ActiveWindow.Selection(1).Cells("Char.size").Result("pt") MsgBox ("フォント名:" & CurrentFont & vbCrLf & "フォントサイズ:" & CurrentSize) End Sub
実行結果
「テキスト①」という文字のサイズが大きくなったと思います。
フォントサイズを設定する方法
いざ!フォント&サイズを変えてみよう
構文
Visio VBAで任意の図形に書かれているテキストのサイズを変更する構文はこちら。
図形.Cells(“Char.size”).Result(“pt”) = ポイント数
フォントを変更する構文はこちら。
図形.Cells(“Char.asianfont”) = 日本語フォントID
図形.Cells(“Char.font”) = 英数フォントID
Sample
選択中の図形に書かれたテキストのフォント、サイズを変えるさせるサンプルです。
何かしら図形を選択しておいてください。
コード
Sub test2() 'テキストの日本語フォントを「HG正楷書体-PRO フォントID:165」に設定します。 ActiveWindow.Selection(1).Cells("Char.asianfont") = 165 'テキストのフォントを「メイリオ フォントID:303」に設定します。 ActiveWindow.Selection(1).Cells("Char.font") = 303 'テキストのフォントサイズを指定します。 ActiveWindow.Selection(1).Cells("Char.size").Result("pt") = 20 End Sub
実行結果
テキスト①が楷書っぽく、TEXT1が影付きっぽく、サイズも大きくなったかと思います。
その他文字の設定について
先ほどのフォントやサイズと同じように、Char.〇〇の〇〇の部分を変えるといろんな設定が可能です。
図形.Cells(“Char.○○○○”)
使いそうな設定を一覧にしてみました。
設定 | パラメーター |
英数字用のフォント | font |
日本語用のフォント | asianfont |
スタイル | style 標準:0 太字:1,斜体:2, 太字斜体:3 |
サイズ | size |
色 | color カラーコードまたはTHEMEGUARD(RGB(***,***,***)) |
文字幅 | fontscale(%) |
文字間隔 | spacing(pt) 狭くするならマイナスを付ける 例)-1ptなど |
英字設定 | case 標準:0, すべて大文字:1, 先頭文字のみ大文字:2 |
位置 | pos 標準:0, 上付き:1, 下付き:2 |
下線(一重線) | style 一重線:4 |
下線(二重線) | dblUnderline なし:False, あり:True |
取り消し線(一重線) | strikethru なし:False, あり:True |
取り消し線(二重線) | doubleStrikethrough なし:False, あり:True |
透過 | colorTrans(%) |
フォントに関する設定は大体なんでもできるんだね。
シェイプシート&ヘルプを参考に探すと
もっとマニアックな設定も~(笑)