|
▼neptune さん:
>▼初心者さっち さん:
>>さっそくですが、ご教示ください。
>>
>>Sub test()
>> Dim rs As Integer
>> For rs = 1 To 5
>> Debug.Print ("rs=(" & rs & ")")
>> Next rs
>>End Sub
>
>>上記の、("rs=(" & rs & ")")がわかりません。
>>なぜアンパサンドが入るのでしょうか。
>本来文字列出力ですから
>Debug.Print ("rs=(" & cstr(rs) & ")")
>とすべきですが、VBの便利な機能である「暗黙の型変換」が行われているからです。
>便利な仕様ですが、時に大きなお世話もしてくれます。
>
>文字列の結合には「&」を使用します。
>
>>("rs=(rs)")では、たしかに( 1 )←なります。1の前後にスペースが入って
>>しまいます。きれいに表示させるには、上記のように記述するのは理解できる
>>のですが、なぜ上記のように記述するとそうなるのかをご教示できればと思います。
>理解が間違っています。
>
>>>("rs=(rs)")では、たしかに( 1 )←なります。
>ですが、本当になりますか?VBの文法から言うと
>>Debug.Print ("rs=(rs)")では、
>rs=(rs)
>と出力されるはずです。
すいません。
まちがっていました。
Debug.Print "rs=("rs")"←こう書いたのです。
すると、勝手に"rs=("; rs; ")"なったのです。
で( 1 )ってなったんです。(スペース1スペース)
Sub test()
Dim rs As Integer
For rs = 1 To 5
Debug.Print "rs=("; rs; ")"
Next rs
End Sub
なぜアンパサンドを1の前後に記述すると、rs=(数字)となるのでしょうか
ご教示の程宜しくお願い致します。
|
|