貼り付け時に最初の1文字を小文字にするマクロ | みんなのワードマクロ

みんなのワードマクロ

ワードマクロで、文書作成とオフィス事務を効率化!!

貼り付けに関するマクロです。

3月24日(土)のセミナー(現在、キャンセル待ちを受付中) に参加される方々に事前アンケートをとっているのですが、そのときにお問い合わせをいただいたマクロを作ってみました。



▼このマクロでできること
貼り付けた文字列の最初の1文字を小文字にします。

貼り付けた文字列がアルファベットの時だけ効力を発揮します。

日本語の文字列を貼り付けても何も変化しません。

また、貼り付けた文字列の先頭がスペースやタブ記号である場合には、それらを無視して、その次に現れるアルファベットを小文字にします。



私は、[Alt] + [V] に割り当てて使っています。




▼用途例
1英文作成時に、文字列を貼り付けるときに便利ですね。

ある文章の主語を目的語にして書き直す場合など、わざわざ最初の1文字を小文字にするのが面倒です。

(コピーした文字列)
The Cherry Street Coffee House

(貼り付けた文字列)
the Cherry Street Coffee House
 



2辞書の用語を貼り付ける場合に便利です。

オンライン辞書よっては、単語の先頭の1文字が大文字になっているので、Wordに貼り付けてから、最初の1文字を小文字に変更しなければなりません。

その手間も省けます。




▼マクロの説明
青色文字の記載によって、貼り付けた文字列の範囲の先頭にタブや改行、スペースなどが含まれている場合、それらを無視して小文字にするアルファベットを探す工夫がされています。



▼マクロ
Sub 貼り付け時に小文字()

 Dim myRange As Range
 Dim myKW As String
 Dim SS As Long
 
 myKW = Chr(9) & Chr(11) & Chr(12) & Chr(13) & Chr(14) & Chr(32)
 
 Set myRange = Selection.Range
 SS = myRange.Start
 
 Selection.PasteAndFormat (wdPasteDefault)
 
 myRange.SetRange SS, Selection.End
 myRange.MoveStartWhile cset:=myKW
 myRange.Characters.First.Case = wdLowerCase

 Set myRange = Nothing

 End Sub



▼関連記事
マクロコードの登録方法  

ツールバーのボタン登録