平田淳嗣さんの気持ちを味わうマクロ

平田淳嗣さんの気持ちを味わうマクロ

あの平田淳嗣さんの気持ちを味わうためのマクロです。

目次

やりたいこと

ユーザをして、あの有名な事件のときの平田さんの気持ちを味わわしめることです。

ソースコードと考え方

ソースコード

リスト1

        Public Sub FujinamiTatsumi()
            Dim userName As String
            userName = VBA.Interaction.Environ("username")
            Call MsgBox( _
                Prompt:="おまえ、" & userName & " だろ?", _
                Buttons:=vbYesNo, _
                Title:="藤波" _
            )
        End Sub
    

考え方

VBAライブラリInteractionクラスのEnviron()メソッドを使うと、使用中のPCの環境変数の値を取得することができます。

akashi-keirin.hatenablog.com

たとえば、こちらの記事では環境変数APPDATAを取得して使っています。

今回の場合は環境変数USERNAMEを取得しているわけです。

おまえ、ヒラタだろ?

おまえ、ヒラタだろ?

もし、このマクロを実行するPCのユーザ名が「ヒラタ」だったりしたら完璧ですね!

おわりに

リスト1のマクロは、「はい」を選ぼうが「いいえ」を選ぼうが、特に何が起きるわけでもないマクロです。

MsgBox()関数の返り値を使って処理を分岐してやれば、もっと平田淳嗣さんの気持ちがよくわかるかもしれません。

リスト2

        Public Sub FujinamiTatsumi()
            Dim userName As String
            userName = VBA.Interaction.Environ("username")
            Dim res As VbMsgBoxResult
            res = MsgBox( _
                Prompt:="おまえ、" & userName & " だろ?", _
                Buttons:=vbYesNo, _
                Title:="藤波" _
            )
            Dim msg As String
            If res = vbYes Then
                msg = "知っていたよ。"
            Else
                msg = "お、おう……。"
            End If
            Call MsgBox( _
                Prompt:=msg, _
                Buttons:=vbOKOnly, _
                Title:="藤波" _
            )
        End Sub    
    

マクロを実行しているPCの環境変数の値が取れる、というのは、特に複数の人が同じファイルにアクセスする環境において、いろいろと応用ができそうですね。