VBAでの単純な変換関数を生成する

こんなプログラムを作って、VBを自分で書く量を減らそうとしている。

def conv(funcName:String, params:List[(String,String)]): String = {
  val cases = params.map(p =>
   s"""|    Case "${p._1}"
       |    result = "${p._2}"
    """.stripMargin).mkString
  val function =
   s"""|Function ${funcName}(ByVal v As String) As String
       |  Dim result As String
       |  Select Case v
       |${cases}
       |  ${funcName} = result
       |End Function
    """.stripMargin
  function
}

val result = conv("最終評価",List(
  ("A","他者を支援できる"),
  ("B","独力で解決できる"),
  ("C","他者のフォローが必要である"),
  ("D","他者の継続的フォローが必要である"),
  ("E","他者の継続的フォローがあっても解決は難しい")))
  
println(result)