過去ログ

                                Page     548
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼VBAのReplace関数について  carib 04/3/13(土) 0:13
   ┗Re:VBAのReplace関数について  イケガミ 04/3/13(土) 0:24
      ┗Re:VBAのReplace関数について  carib 04/3/15(月) 9:40

 ───────────────────────────────────────
 ■題名 : VBAのReplace関数について
 ■名前 : carib
 ■日付 : 04/3/13(土) 0:13
 -------------------------------------------------------------------------
   初投稿です。
この質問箱を発見して喜んでおります。

現在、Access2000にテキストデータを読み込んで
そこからXMLデータを作成する変換システムを
作成しています。

そこで生データの中の文字列に"<"や">"があったら、
"&lt; "や"&gt;"などと変換するロジックをReplace関数を
利用し、作成しました。

変換自体はうまくゆくのですが、半角の"<"や">"だけではなく
全角の"<"や">"まで変換されてしまいます。

どのようにすれば、全角文字の変換を行わないようにできる
のでしょうか。

方法をご存知の方がおられましたらよろしく
ご教授くださいますようお願いいたします。

 ───────────────────────────────────────  ■題名 : Re:VBAのReplace関数について  ■名前 : イケガミ  ■日付 : 04/3/13(土) 0:24  -------------------------------------------------------------------------
   >どのようにすれば、全角文字の変換を行わないようにできる
>のでしょうか。

Replace 関数の最後の引数を確認してください。

 ───────────────────────────────────────  ■題名 : Re:VBAのReplace関数について  ■名前 : carib  ■日付 : 04/3/15(月) 9:40  -------------------------------------------------------------------------
   ▼イケガミ さん:
>>どのようにすれば、全角文字の変換を行わないようにできる
>>のでしょうか。
>
>Replace 関数の最後の引数を確認してください。

おかげさまで思い通りの変換結果が得られました。
最後の引数をvbBinaryCompareと設定後、実行したのです。
イケガミさんに教えて頂かなければ到底できなかったと思います。
Microsoft Visual Basicのヘルプには、
------------------------------------------
引数 compare の設定値は次のとおりです。

定数 値 説明
vbUseCompareOption -1 Option Compare ステートメントの設定を使用して比較を行います。
vbBinaryCompare 0 バイナリ モードで比較を行います。
vbTextCompare 1 テキスト モードで比較を行います。
vbDatabaseCompare 2 Microsoft Access の場合のみ有効。データベースに格納されている設定に基づいて比較を行います。
------------------------------------------
と書かれていますが、
よほどVBAを使い慣れた方でないと理解しづらい説明です。
せめて、個々の使用例が示されていれば分かりやすいのにと思います。
いずれにせよ、適切なアドバイスどうもありがとうございました。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 548