VBのVariantってどうよ。
■ このスレッドは過去ログ倉庫に格納されています
0001VBマニア
NGNGa = Split("1,2,3", ",")
は型不一致エラーになるのに
Dim a As Variant
a = Split("1,2,3", ",")
は型不一致エラーにならない。
こんなVariant型ってなんか不思議?
それとも常識?
0022デフォルトの名無しさん
NGNGそれは、ちょっと違う。(strURL) とすると式となるから、strURL の
中身が、仮引数の型に変換されるから問題なくなるだけ。
例えば...
Private Sub Bar(ByRef X As Single)
...
End Sub
Private Sub Foo()
Dim Y As Integer
Bar Y ' これは、エラーになる
Bar (Y) ' これは、OK
End Sub
と同じ。つーか、これこそ常識だと思うが...。
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG>>6
>1. a(0) だけ確保して、それに array("1", "2", "3") を代入。
>2. a(0 To 2) を確保して、a(0) = "1": a(1) = "2": a(2) = "3" とする。
>
>のどっちをやったら良いかわかんないからだろうな。
splitの動作は標準では 2 になるはずだぞ。
1は、StringやIntegerでは 2 の動作になるのにVariantはそうならないから
おかしい、と言っているんだと思う
本当にそうならんのかは試してないので知らん
00286
NGNG> splitの動作は標準では 2 になるはずだぞ。
Split() が配列を確保するわけではないよ。Split("1,2,3", ",") の結果は、
("1", "2", "3") の要素を含んだ配列となるけど、それを Dim A() As Variant
にどう格納するかが問題。String や Integer なら「>>6 の 2 の動作」しか取
りえないから問題ないけど。Variant は 1 と 2 の両方できるから、とりあえず
エラーにしてるいると思う。
■ このスレッドは過去ログ倉庫に格納されています