• ベストアンサー
  • すぐに回答を!

VBAの文字列の中に”(全角のダブルコーテーション)を使う

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

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数3302
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.3
  • mshr1962
  • ベストアンサー率39% (7416/18946)

#1のmshr1962です。 強制的にやるなら str = "abc" & Chr(-1449) & "def" で可能ですね。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • ダブルコーテーションを全角に置換するには

    InputBoxで入力した"を、Replace関数で”にしたいのですが、 Replace(str, """", "”")をすると、コンパイルエラーになります。 Sub macro() Dim str As String str = InputBox("文字を入れてください") Debug.Print Replace(str, """", "") End Sub というマクロを作りました。 画像のように、半角のダブルコーテーション「"」を入れたら、 Replace関数で全角のダブルコーテーション「”」に変えるにはどうすればいいでしょうか? 「最初からInputBoxに全角入れればいいやん!」 は、なしにしてください。 ファイル名を作っていて、ダブルコーテーションは全角でないとつけられないのです。

  • ダブルコーテーション付き文字列をファイルから読み込むには

    お世話になります。 ホストから出力されたファイルをVBで読込みたいのですが、文字列の中に「":ダブルコーテーション」が含まれます。 VBでopenすると2番目の「":ダブルコーテーション」で切れてしまい、EOFでループすると1レコードで何回もループしてしまします。 対処法等ありましたらご教授ください。 よろしくお願いします。

  • ダブルコーテーション(

    str_replace関数にてダブルコーテーション(")を空白文字列に置換したいのですが、 どのような手法を取ればよろしいのでしょうか? str_replace(""", "", $file); ではないことは確認しているのですが。。 ご教授お願いします。

    • ベストアンサー
    • PHP

その他の回答 (3)

  • 回答No.4
noname#22222

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

共感・感謝の気持ちを伝えよう!

質問者からの補足

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

  • 回答No.2
noname#22222

[ツール]-[オプション]-[スペルチャック] [オートコレクト オプション(P)] "" -> ” を登録すると良いです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

  • 回答No.1
  • mshr1962
  • ベストアンサー率39% (7416/18946)

上記の""の状態で文字列中に一個の"になりますので、そのままお使いください。 イミディエイト ウィンドウで print str とか msgbox str とすれば表示が確認できます。 ※文字列の初めや最後の場合は"""と3個つながるようになります。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • ダブルコーテーションの置換

    半角ダブルコーテーションを全角に置換したくて Replace(StrTemp, """", "”") としたんですが、うまくいきません。 第一引数の""""が問題なのかと思ったら、どうも後の"”"が問題みたい・・・ 試しに""”"としてみたら、VBのコードエディタに""""に直されてしまいました。 なぜなんでしょう?

  • 文字列として"(ダブルコーテーション)を表示させる方法

    こんにちは。文字列として、ダブルコーテーションを表示させるには、どうすればよいのか教えてください。m(__)m 例えば、 <font size="2">あいうえお</font> というタグの「あいうえお」の部分が、セルA1にあった場合、 ="<font size="2">"&A1&"</font>"という表示にしたいのです。 "2"のダブルコーテーションも文字列として表示させるには、どうすればよろしいのでしょうか。 教えてください。よろしくお願い致します。

  • VBA ダブルコーテーション

    VBAについて、ダブルコーテーションの個数が理解できないものがありません。 セル範囲B3:B35に" 様"を追加するコード Sub 一括文字列追加() Range("B3:B35").Value = Evaluate("B3:B35&"" 様""") End Sub この Evaluate("B3:B35&"" 様""")の部分ですが、 Evaluate("B3:B35&" 様"")であれば納得できますが、どのような対応付けなのでしょうか? よろしくお願いします。

  • VBA sumifの文字列のダブルコーテーション

    =(SUMIF(F860:I862,"あああ",I860:I862))-(SUMIF(F860:I862,"いいい",I860:I862)) もともと上記の数式を、変数に変えてvbaで挿入する際 "あああ"ともともとダブルコーテーションでかこまれている部分はどのように指定したらいいでしょうか? & ","あああ",I " & ここでエラーになります。。。。 .Cells(intRow3, intCell3 + 8) ="=(SUMIF(F"&" S860 " & ":I " & S862 & ","あああ",I " & S860 & ":I" & S862 & "))-(" & SUMIF(F " & S860 & " :I " & S862 & ","いいい",I " & S860 & ":I"& S862 & "))"

  • エクセルでダブルコーテーションを消したい

    エクセルで文字列を入力すると必ずダブルコーテーションがついてしまいますが、これを消して保存するにはどうしたらいいのでしょうか?

  • ダブルコーテーション 、"を二つ入力する事について

    vbaなのですが ダブルコーテーションを置換する際に、 moji = Replace(moji, """", "") のように、"を二つ入力しないとエラーになりますが そのような事はヘルプのどこに書いてありますか? ヘルプで検索しても ダブルコーテーションに一致する結果はありません。 となってしまいました。

  • 文字列の置換について。

    ダブルコーテーションで囲まれ文字列が あったとします。 その文字列の中に含まれる半角カンマを なくしたいのですが、 リプレイスだと反応がありません。 その他の文字は置換出来るのですが。 どなたから、ダブルコーテーションに囲まれた 文字列の中の半角カンマを取り除く方法が ありましたらアドバイス下さい。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java
  • ダブルコーテーションでアンドをはさむ

    EXCEL VBAマクロでActiveCell.FormulaR1C1 = "=SUM(R[-" & 変数 - 1 & "]C:R[-1]C)"の様にダブルコーテーションでアンドを はさむやりかたがわかりません おしえてください

  • ダブルコーテーションで3度も囲ってるのですが

    vbsで電卓を起動する時 Set objWshShell = WScript.CreateObject("WScript.Shell") objWshShell.Run """CALC.EXE""" のように、CALC.EXEをダブルコーテーションで3度も囲ってるのですがなんででしょうか? VBAの場合は Sub test() Dim i As Long i = Shell("CALC.EXE") End Sub のように3重には囲わなくても起動します。

  • VBAのSQL文内での"(ダブルコーテーション)の扱いについて。

    Access97のVBAでSQL文を書きたいと思います。 テーブルに[姓]、[名]という2フィールドがあり、これをSQL内で[姓 名]と一つにしたいと思います。姓と名と間にスペースを入れます。 QBE グリッドに 姓名: [名簿]![姓] & " " & [名簿]![名] と書くと SELECT [姓] & " " & [名] AS [姓 名] FROM 名簿と SQL文が作成されたため そのまま VBAに貼り付けてみたのですが、 " (ダブルコーテーション)扱いがまずいかエラーになります。 SQL文での中での " (ダブルコーテーション)の扱いはどのようにすればいいのでしょうか?