- ベストアンサー
超基本 変数への代入教えてください。
dim mychr as string * 255 mychrという変数を255個宣言しているのは分かりますが、どうやって代入するかが分かりません。ちなみに mychr=vbnullstring '初期化 mychr="ABCDEFG" mychr="A" mychr(0)="A" 全部だめでした、本で調べるにも調べようがなく、ご教授お願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
文字列の配列を定義して使うケースでしょう。 昔のBasicには、文字列の長さ(バイト長)指定の為に、*255などの指定ができたが、VBになってそういう指定はなくなった。 Dim a(10) as string などを使う (例) Sub test01() Dim a(10) As String a(0) = 1 a(1) = "abc" a(2) = "asd" a(3) = "奈良" For i = 0 To 4 MsgBox a(i) Next i End Sub ーー Variant変数をつかう Sub test02() Dim X As Variant X = Array(1, "A", "京都", "123", 0) For i = 0 To 4 MsgBox X(i) Next i End Sub ーーー VB.NET などでは、配列の初期化にNewがいる。 変数の型として、Variant型がなくなった。 www.atmarkit.co.jp/fdotnet/vb6tonet2/vbnet2_02/vbnet2_02_01.html http://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter4/chapter4_2.aspx
その他の回答 (2)
- khazad-lefty
- ベストアンサー率44% (296/668)
>mychrという変数を255個宣言している これが間違いです。 No1の人も書いてますが、この宣言は 「サイズ255バイト(「255文字」かも)の固定長文字列」 の固定長文字列になります。 なので、変数の数は一つです。
- himajin100000
- ベストアンサー率54% (1660/3060)
Option Explicit 'VB.NETでは固定長文字列はサポートされない 'http://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter4/chapter4_7.aspx 'からVB6.0なのはまぁいいとして '以下のソースをExcel VBAで動かしてABCDEFGがきちんと表示されたけどなぁ? Sub hoge() Dim mychr As String * 255 mychr = vbNullString mychr = "ABCDEFG" MsgBox (mychr) End Sub