• ベストアンサー

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

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

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

  • ベストアンサー
  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.2

失礼しました。 全角はこちらが一般的です。 Chr(&H8167) Chr(&H8168)

noname#14004
質問者

お礼

OsieteG00さん、imogasiさん、ありがとうございました。お二人の言う通り、文字コードを指定することで解決しました。 やはり全角の方が問題だったようです。 それにしても・・・ MsgBox "あ”あ" ↑これでもVBに怒られました。 MsgBox "”"は、やはり""""にされてしまうし。 全角文字なのに、何でいけないんでしょうね?

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

VBの質問ですよね。 VB6.0からReplace関数があるようです。 VBなんですが、エクセルVBAでやってみました。 Sub test01() x = Cells(1, 1) Cells(1, 2) = Replace(x, Chr(34), Chr((-32408))) End Sub でうまくいくようです。VBでも同じでしょう。 全角”はVBのVBE・コーディング上では、シングルコーテーションに置き換えるオートコレクトが働くのではないでしょうか。

  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.1

半角のダブルコーテーションをchr(34)に替えてみてください。 全角のダブルコーテーションはChr(-32408)Chr(-32409)