文字を Integer 型に入れてみよう

タイトルで、何をバカなことを言っているんだって感じですが、
実は文字を Integer 型に入れることは可能です。
 
勿論、

  Dim X As Integer
  X = "ビ"

なんてのは、ダメダメですけど。
 
という訳で? 
今回のビックリドッキリメカ・・・じゃなくて、コードはコレです。

Type LibStr10
  X As String * 10
End Type

Type LibInt10
  X(0 To 9) As Integer
End Type

Sub Macro1()
  Dim wkS As LibStr10
  Dim wkI As LibInt10
  Dim i As Long

  wkS.X = "ビリー"
  LSet wkI = wkS

  Debug.Print "## Integer ##"
  For i = 0 To 9
    Debug.Print wkI.X(i)
  Next i
End Sub

LSet とユーザー定義型のコンビでばっちり入ります。
 
実行結果はコレです。

## Integer ##
12499 
12522 
12540 
32 
32 
32 
32 
32 
32 
32 

何が入ったのかというと、、、

  MsgBox ChrW(12499) & ChrW(12522) & ChrW(12540)

を試すと分かります。
 
当たり前っていやー、当たり前の結果ですね。
 
※.Excel World の 2007年3月15日 00:09 の日記をコピーしています。
http://excel.sns.fc2.com/excel/