プロが教えるわが家の防犯対策術!

VBAのStringの中に”(全角のダブルコーテーション)を使おうとしているのですが、VisualBasicEditorにより自動的に ""(半角のダブルコーテーション2つ)に変換されてしまいます。
Dim str as String
str = "abc”def"
   ↓
str = "abc""def"
文字列中に全角のダブルコーテーションを使う方法を教えてください。よろしくお願いします。

A 回答 (4件)

#1のmshr1962です。


強制的にやるなら
str = "abc" & Chr(-1449) & "def"
で可能ですね。
    • good
    • 1
この回答へのお礼

再び回答いただきありがとうございます。chr(-1449)でうまくいき、なんとかプログラムが動くようになりました。ただし、本当は
Private Const str As String = "abc" + chr(-1449)
としたかったのですが、chrを使うとこの書き方は許されないようです。strは定数ではなく、変数を後から初期化する方法で使うこととしました。

お礼日時:2006/03/07 16:21

s_husky です。



VBエディターには反映さえませんが、MSGBOXで表示したりするとちゃんと反映されます!

この回答への補足

オートコレクトオプションに設定するとセルE11に "" (半角x2)と書くと確かに ”(全角)になります。そして以下のsubを実行するとMsgBox内に”(全角)が表示されます。
Sub test()
  MsgBox (Range("E11"))
End Sub
でも、やりたいのはこうゆうことではなくて、VBAの中で文字列として”(全角)を記述したいのです。

補足日時:2006/03/08 14:30
    • good
    • 0

[ツール]-[オプション]-[スペルチャック]



[オートコレクト オプション(P)]

"" -> ”

を登録すると良いです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
これはエクセルでの設定だと思いますが、VisualBasicEditorには影響しないみたいです。
そのため、VisualBasicEditorの中では相変わらず「”」は「""」に変換されてしまいます。

お礼日時:2006/03/07 16:16

上記の""の状態で文字列中に一個の"になりますので、そのままお使いください。


イミディエイト ウィンドウで
print str
とか
msgbox str
とすれば表示が確認できます。
※文字列の初めや最後の場合は"""と3個つながるようになります。
    • good
    • 1
この回答へのお礼

早速の回答ありがとうございます。
でも、全角のダブルコーテーションが、半角のダブルコーテーション2個に変換されているので、msgbox strとすると半角のダブルコーテーション1個が表示されるのではないでしょうか。msgbox strで全角のダブルコーテーションが表示されるようにしたいのですが…

お礼日時:2006/03/07 15:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!