2
4

2 に答える 2

0

文字列は通常の文字列変数に格納できます。問題は、それらをそこに入れることかもしれません。

おそらく、それらを文字列変数または配列に入れる最も簡単な方法は、それらをワークシートの列 (おそらく非表示の列または非表示のワークシート) にリストし、それらのセルから文字列変数にコピーすることです。

欧米の設定を使用している場合、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

元の文字列を入力する

Unicode 文字コードを含む文字列

私のシステムであなたのサンプルと照合できない別の解決策は、MSDN フォーラムに投稿されたことがあります

1. [コントロール パネル] > [地域と言語のオプション] > [詳細設定] タブで、非 Unicode プログラムの言語で使用する母国語を選択します

2.VBAエディターで、ツール>オプション>エディター形式>言語をサポートするフォントを選択します

于 2016-06-19T20:01:12.503 に答える