2 に答える
文字列は通常の文字列変数に格納できます。問題は、それらをそこに入れることかもしれません。
おそらく、それらを文字列変数または配列に入れる最も簡単な方法は、それらをワークシートの列 (おそらく非表示の列または非表示のワークシート) にリストし、それらのセルから文字列変数にコピーすることです。
欧米の設定を使用している場合、VBA エディターは貼り付け時に Unicode 文字を処理しません。また、通常の入力ボックスも処理しません。
文字列変数が実際に Unicode 文字列を格納していることを示すには、次のことを試してください。
Application.InputBox
Unicode 文字列を貼り付けることができ、それらを通常の文字列変数に格納できます。残念ながら、VBE でその文字列変数を調べると?
、正しい値が格納されていても、文字列のみが表示されます。
適切な値が格納されていることを示す例を次に示します。結果をユーザー フォームに出力します。元の文字列と Unicode 文字コード。
UserForm ( UserForm1
) を挿入し、Textbox を追加して、AutoSize を許可しました。
Option Explicit
Sub foo()
Dim I As Long
Dim sMyUnicode As String
Dim S As String
Dim TB As TextBox
sMyUnicode = Application.InputBox(prompt:="Input Unicode String", Type:=2) 'Type 2 = text
S = sMyUnicode & vbLf
For I = 1 To Len(sMyUnicode)
S = S & vbLf & Mid(sMyUnicode, I, 1) & vbTab & Hex(AscW(Mid(sMyUnicode, I, 1)))
Next I
With UserForm1
.TextBox1.Value = S
.Show
End With
End Sub
私のシステムであなたのサンプルと照合できない別の解決策は、MSDN フォーラムに投稿されたことがあります。
1. [コントロール パネル] > [地域と言語のオプション] > [詳細設定] タブで、非 Unicode プログラムの言語で使用する母国語を選択します
2.VBAエディターで、ツール>オプション>エディター形式>言語をサポートするフォントを選択します