none
アラビア数字を漢数字に変換 RRS feed

  • 質問

  • 件名の動作を単独でやるのはなんとなくわかったのですが、

    半角を全角に切り替えるのとほぼ同じタイミングでする事はできるのでしょうか。

    できるようならサンプルコードを教えて下さい。

    2007年5月29日 5:59

回答

  • ども、フラグです。

    解決いたしました。

     

    Replace(StrConv(Atai, vbWide), "-", "-")-ataiは数字置換後のデータです。

     

    で、無事ハイフンを半角に出来ました。

     

     

    ご協力くださった皆様ありがとうございました。

    2007年5月30日 5:24

すべての返信

  •  フラグ さんからの引用
    件名の動作を単独でやるのはなんとなくわかったのですが、半角全角に切り替えるのとほぼ同じタイミングでする事はできるのでしょうか。できるようならサンプルコードを教えて下さい。

    同時にする必要はなくローマ数字に変換してから、Wide, Narrow 変換でも良いと思いますが...
    自前で実装するならば、Wide と Narrow の 2 パターンしかないのですから、1 回の変換で済ませることはできるでしょう。

    # あれ、漢数字に半角や全角なんてありました?
    2007年5月29日 6:40
  • いつもすばやい対応をありがとうございます。

    一応コードの一部を記載させていただきます。

     

    条件検索で抽出したレコード(recに代入)をワークテーブルに貼り付ける段階で半角を全角に切り替えています。

    問題のコードは以下です。

         STR_SQL = "Insert Into TW_差出人( "
            STR_SQL = STR_SQL & " 郵便番号 "
            STR_SQL = STR_SQL & " ,住所 "
            STR_SQL = STR_SQL & " ,会社名 "
            STR_SQL = STR_SQL & " ,所属 "
            STR_SQL = STR_SQL & " ,氏名 "
            STR_SQL = STR_SQL & " ,印刷"
            STR_SQL = STR_SQL & ") "
            STR_SQL = STR_SQL & "VALUES ("
            STR_SQL = STR_SQL & "  " & Common_ToDefault(Rec!郵便番号, 0) & " "
            STR_SQL = STR_SQL & ", '" & StrConv(Rec!住所, vbWide) & "' "  ’ここで数字を漢数字にしたいです。
            STR_SQL = STR_SQL & ", '" & StrConv(Rec!会社名, vbWide) & "' "
            STR_SQL = STR_SQL & ", '" & StrConv(Rec!所属, vbWide) & "' "
            STR_SQL = STR_SQL & ", '" & Rec!氏名 & "' "
            STR_SQL = STR_SQL & ", " & Common_ToDefault(Rec!印刷, 0) & " "

         STR_SQL = STR_SQL & " )"
            
            CurrentDb.Execute (STR_SQL)

    仰るやり方だとどこでどうすればいいのでしょうか?

     

     

     

    2007年5月29日 7:06
  • # あれ、漢数字に半角や全角なんてありました?

    については、カタカナとアルファベット対策です。 

     

    葉書印刷は横書き用と縦書き用二つあるので・・・。

    カタカナとアルファベットが半角じゃ縦書きのときに寝ちゃうんですよ、文字が。

     

    葉書印刷ウィザード使ったんで宛名は漢数字になったし、ハイフンは無事縦棒で表示されたんですが、差出人の分まで漢数字にしてくれなかったんですよコードで変換するしかないみたいで・・・。

     

    でも、今気づいたのですが、全部全角にすると今度はハイフンが寝ちゃいますね。

    カタカナとアルファベットだけ判断できないでしょうか?

    2007年5月29日 7:18
  • 要するに、半角英数・カナを全角に、かつ数字については漢字にしたいって事ですね。

    それぐらいなら一つ関数を作って、Select/Case 文で一文字ずつ判定して置き換えていくのが一番手っ取り早そうです。

    2007年5月29日 7:41
  • 返信ありがとうございます。

    数字はいいのですが(0~9の10個だから)、カタカナと英字をSelect/Case 文にするのは大変じゃないかしら。

    カタカナ、英字でそれぞれ一括でやれないかな。

     

    もしくは、ハイフンだけ除外できないかしら。

    じょがいできれば、関数使ってSelect/Case をした後で半角全角の変更をすればいいんだと思いますから。

    2007年5月29日 8:33
  • ども、フラグです。

    解決いたしました。

     

    Replace(StrConv(Atai, vbWide), "-", "-")-ataiは数字置換後のデータです。

     

    で、無事ハイフンを半角に出来ました。

     

     

    ご協力くださった皆様ありがとうございました。

    2007年5月30日 5:24