スネークマンショーのマクロ

スネークマンショーのマクロを作ってみました。。。

Wordマクロ版

Wordマクロ版も作ってみました。
これで、使ってくれる方があらわれるとうれしいのですが。。。

まずは、マクロファイル付きのWordファイルをダウンロードしてください。
マクロファイル(ワード形式) (SnakeMan.doc: 31.0KB)
Office2000で作成してますが、その他のOfficeでも動くと思います。

このファイルの中には二つのマクロが入ってます。
ダウンロードしたファイルを開くとウインドウが現れると思いますが、[マクロを有効にする]を選択してください。
snake05.gif
ウインドウが表示されない場合は、マクロが有効になってない可能性があります。
[ツール]→[マクロ]→[セキュリティ]からセキュリティレベルを中に設定してファイルを開きなおしてください。
Wordマクロの詳しい使い方については「シフトJISから漢字変換」をお読みください。

[ツール]→[マクロ]→[マクロ]を選択して[マクロ名]を[SnakeMan1]を選択して[実行]をクリックすると、マクロが実行されます。
( 「SnakeMan2」は次に紹介する別のマクロです。)
基本的には秀丸エディタの「こなさん、みんばんわ」マクロと同じ動作をします。
マクロは、あらかじめ文章を選択してから実行してください。

−−− ここで、ちょとだけ簡単な文章選択のテクニック −−−
[ツール]→[オプション]の[編集と日本語入力]のタブの[文字列の選択時に単語単位で選択する]にチェックが入っていると、単語単位で選択されてうまく選択できません。
チェックをはずせば良いのですが、チェックをはずしたら簡単に選択はできるようになるのですが、面倒です。
そんなときは、[シフトキー]を押しながら、[矢印キー]で一文字ずつ選択すると簡単です。

ソースコードを公開しておきます。


Sub SnakeMan1()
'
' SnakeMan1 Macro スネークマン(こなさんみんばんわ)マクロ
' 記録日 03.03.2005 記録者 NASU
'

Dim strText As String
Dim strNewText As String
Dim strLeft As String
Dim strMiddle As String
Dim strRight As String

'選択した文字列の取り込み
strText = Selection.Text

'2文字以上の範囲を選択中かどうか判定
If Len(strText) = 1 Then
    MsgBox "2文字以上を範囲選択してからマクロを実行してください。" _
    , vbOKOnly & vbExclamation, "選択範囲の違反"
    Exit Sub
End If

'選択した文字列の変換
strLeft = Left(strText, 1)
strRight = Right(strText, 1)
strMiddle = Mid(strText, 2, Len(strText) - 2)
strNewText = strRight & strMiddle & strLeft

'選択した範囲を削除
Selection.Delete

'変換した文字列を挿入
Selection.InsertBefore Text:=strNewText

'おわり
End Sub

簡単なマクロなので、ソースコードはご自由にお使いください。
次のページでもうひとつのスネークマンショーのマクロを紹介します。