ロレーヌはしばしばインタビューの記録を扱います。インタビュアーはインタビュイーに名前を綴るように頼みます。彼女がこれらを入力するとき、J-O-H-N D-O-Eのように、文字の間にダッシュを挿入して、スペルされていることを示す必要があります。 Lorraineは、名前を選択してからマクロを実行して名前を大文字にし、文字の間に必要なダッシュを挿入する方法があるかどうか疑問に思います。

マクロは、このタイプのテキスト処理を行うのに非常に適しています。実際、マクロで問題に取り組む方法はおそらく1ダースほどあります。以下はそれを行うためのかなり簡単な方法です:

Sub CapDashNames()

Dim sTemp As String     Dim sName As String     Dim J As Integer

sTemp = UCase(Selection.Range.Text)   ' Make all uppercase     If Len(sTemp) > 1 Then         sName = ""

For J = 1 To Len(sTemp) - 1             ' Add new character to name             sName = sName & Mid(sTemp, J, 1)

If Mid(sTemp, J, 1) >= "A" And Mid(sTemp, J, 1) <= "Z" Then                 ' Add a dash if character was a letter                 sName = sName & "-"

Else                 ' Character added was not a letter                 If Mid(sName, Len(sName) - 1, 1) = "-" Then                     ' If there is a dash just before non-letter,                     ' get rid of it                     sName = Left(sName, Len(sName) - 2)

sName = sName & Mid(sTemp, J, 1)

End If             End If         Next J         ' Add final character         sName = sName & Right(sTemp, 1)

Selection = sName     End If End Sub

基本的に、マクロは選択したものをステップスルーし、各英字の後にダッシュを追加します。そのダッシュの後にアルファベット以外の文字が続く場合、ダッシュは削除されます。 (そうすれば、たとえば、スペースの前後にダッシュが表示されることはありません。)

マクロを使用するには、変更する名前を選択して、マクロを実行するだけです。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(1354)は、Microsoft Word 2007、2010、2013、および2016に適用されます。