VBの戻り値設定記述を楽にする

VBAを書いていると一番嫌になるのが、関数の戻り値記述。
単純に「return 戻り値」って書けばいいんじゃないのか。
なぜ「関数名 = 戻り値」なのか。
関数名が長くなると、読みにくいことこの上ない。


ということで、Emacs上で入力を楽にする手段を考えた。

(defun vb-convert-funcname ()
  "convert 'FuncName' keyword to function name"
  (interactive)
  (save-excursion
    (goto-char (point-min))
    (while (re-search-forward "FuncName" nil t) ; FuncNameを見つける
      (re-search-backward "^Function \\([^\(]+\\)" nil t) ; 直前の関数定義を見つける
      (let ((func-name (match-string 1))) ; 関数定義から、関数名を取得する
        (re-search-forward "FuncName" nil t) ; 先ほどのFuncNameを見つける
        (replace-match func-name) ; FuncNameを関数名で置き換える
        ))))

VBのコード中、FuncNameと書かれている箇所を、関数名で置き換える。

Function 関数名()
  FuncName = returnValue
End Function

実行すると、以下のように変換される。

Function 関数名()
  関数名 = returnValue
End Function