>>238
圧縮するとこんな感じ

; --- 文字列 ---
str := "あ|い|う"
StringSplit, strArray, str, |
Loop %strArray0%
Menu, MENU1, Add, % strArray%A_Index%, label ; "% "で引数を式に変更
Menu, MENU1, Show
return

label:
MsgBox %A_ThisMenuItem%
return

; --- 配列 ---
arr := ["え", "お", "か"]
for k, v in arr
Menu, MENU1, Add, %v%, label
Menu, MENU1, Show
return

label() { ; 関数でもおk
MsgBox %A_ThisMenuItem%
}