お題
constがカオス・・・w
似たようなものがいっぱいあってごっちゃごちゃだから、まとめよう。
と思ったらちょっと罠があったので、メモ。
実装
●定義
Public Type FileInfo
fileName As String
shtName As String
beginRow As Long
endColumn As Long
End Type
●値セット
Public Function SetType(ByRef info1 As FileInfo,ByRef info2 As FileInfo)
With info1
.fileName = "test.xls"
.shtName = "sheet1"
.beginRow = 2
.endColumn = 8
End With
With info2
.fileName = "test2.xls"
.shtName = "sheet2"
.beginRow = 2
.endColumn = 10
End With
End Function
●呼び出し
Dim info1 As FileInfo,info2 As FileInfo
Sub Main()
Call SetType(info1,info2)
End Sub
メモ
FunctionはByRefで渡さないと、エラー吐きます。
へなちょこは理由がなければ基本ByVal渡しする派なので、最初は何も考えずにByValで渡してて、ちょっとハマった
当たり前よね笑
ユーザー定義型にしておくと、メンバが表示されるようになるので、入力間違いも防げるし、いちいち宣言しなくてもいいから楽ちん♪
今回はあくまでターゲットの情報をわかりやすくしたかったので、あえて別のオブジェクトにしてみた。
infoをまとめてがちゃがちゃやる場合はinfoを配列にしちゃえばいいよ。