翻訳をしていない方には、何のために使うのか全く理解できないかもしれません。
または、翻訳者であっても、水野麻子さんが開発したCTのユーザーでないと、用途を理解できないかもしれません。
<目次>
このマクロでできること
簡単にいうと、
word
を
Word
に書き換えてくれるというマクロです。逆もまたしかり。
英文を作成すると、文頭の文字は大文字にしますから、そのための書き換えです。
CTでは、最初に名詞を入力してしまいますから、単語の先頭はすべて小文字が基本です。
その単語が文頭になったときに、さっと書き換えます。
マクロの説明
カーソル部分がちらつかないように、Rangeオブジェクトを使いました。
これを使うと、カーソル移動がなくなりますので、見た目が美しい。
このプログラムは、わざわざ先頭一文字だけを選択して(8行)、「大文字」「小文字」に切り替えています(10行~14行)が、別のやり方もあると思います。
実は、Word のショートカットにデフォルトで登録されている標準機能でこれに似たことができます。
これは、別の記事 で紹介します。
マクロ(1)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Sub Case_Change_Word() Dim myRange As Range Set myRange = Selection.Range myRange.Expand unit:=wdWord myRange. End = myRange.Start + 1 If myRange. Case = wdUpperCase Then myRange. Case = wdLowerCase ElseIf myRange. Case = wdLowerCase Then myRange. Case = wdUpperCase End If End Sub |
マクロ(2)
上記と同じ動作をしますが、別の書き方です。
プログラムの解説は、「カーソル位置の文頭文字の大・小文字の切り替えマクロ 」をご覧ください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Sub Case_Change_Word() '単語先頭の文字の大文字・小文字変換 Dim myRange As Range Set myRange = Selection.Range myRange.Expand unit:=wdWord With myRange.Characters.First If . Case = wdUpperCase Then . Case = wdLowerCase ElseIf . Case = wdLowerCase Then . Case = wdUpperCase End If End With End Sub |