衝撃の実行結果(Word)
衝撃の実行結果
最近、WordのVBAでのルビ操作にハマっている。
[Range].PhoneticGuide
メソッドでルビを振るのだが、あまり細かい調整ができず、さりとてルビを振った後Field.Code.Text
プロパティの値をVBAで書き換えると、
ドキュメントを開きなおしたときにフォント名情報が死ぬ
という結構悲惨なことが起こる。【参考】
仕方なく、上記リンクでも紹介したように、
一旦[Range].PhoneticGuide
メソッドでルビを振った後、フィールドコードを表示させて置換する
というしちめんどくさいことをすることになった。
その中で、一つ素朴な疑問が湧いたのである。
素朴な疑問
ルビのフォントの種類を変えるメソッドを作ろうとしたとき、ふと
これ、存在しないフォント名を指定したらどないなるんやろ?
と思ったのだ。
で、やってみた。
このように、ドキュメント(笑)の「わ」の部分(MS 明朝)を選択した状態で、次のコードを実行するのである。
リスト1
Private Sub testInvalidFontName() Selection.Font.Name = "ち~んw" End Sub
見ての通り、選択部分のフォント名に「ち~んw」というふざけた名前を指定してみるのである。
結果、どうなるか。
なんと、こうなるのである。
エラーが出るわけではないのである。
おわりに
これは困ったことではなかろうか。
おかしなフォント名が引数で指定されても防ぎようがないではないか。
……というわけで、当面、〈ルビのフォント名を指定するメソッド〉については、使用できるフォントを制限する方向で実装することにします。
しっかし、「フォント名:ち~んw」ってなんやねんな。