次の方法で共有

VBA 外字コード変換

Anonymous
2014-07-13T07:11:09+00:00

Access VBAで外字コード変換の関数を考えています。

外字コードとそれに対応するSJISコード(Unicode混在)の2列のカラムからなるテーブルを用意しています。

外字を含んだデータのあるテーブルを読みとり、外字をSJIS変換し、返す関数はどのように作ればよいのでしょうか。

ちなみに、失敗でしたが、以前に他の方法も試しており、その時は、

外字コードとそれに対応するSJIS変換後の文字の2列のカラムからなる

テーブルを用意し、外字を含んだデータのあるテーブルを読み取り外字を見つけたら、

 Hex(Asc(Mid(外字, n, 1))) で、変換して、上記テーブルを参照し返しています。が、Unicode混在のためAccessでは、?や??で

文字が表示されてしまうのでうまくいってません。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

3 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2014-07-15T23:57:26+00:00

    SJISコード(Unicode混在)

    というのがそもそも何を表しているのかよく分からない。

    SJIS は、Shift JIS のことだと思いますが、Unicode とは全く別体系のコードですので、それが混在ってどういう状態なのでしょうか。

    その辺の正確な説明と、そのテーブルのデータ例を提示してもらえませんか。

    > Hex(Asc(Mid(外字, n, 1))) で、変換して、上記テーブルを参照し返しています。

    これも具体的にどのように変換しているのかもう少し詳細に具体的に説明してください。

    > Accessでは、?や??で

    > 文字が表示されてしまうのでうまくいってません。

    どこでそのよう表示されるのですか。

    VBEは、Unicode に対応してませんので、VBE上ではUnicode文字(Shift jisにない文字)はそのように表示されます。

    テーブルやフォーム上ではUnicode 対応ですので、Unicode文字も正しく表示されます。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2014-07-15T12:50:34+00:00

    MukkuMukuです。

    文字コード周りはあまり触れることがないのでちょっと試してみることもないのですが、

    正規表現などで Unicode (Unicode漢字?)を除外してみるってのはどうかなと妄想。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2014-07-14T03:04:19+00:00

    GATS_528 さん、こんにちは。

    マイクロソフト コミュニティをご利用いただき、ありがとうございます。

    VBA を利用して、外字を含んだテーブルを読み取り、Shift-JIS へ変換する関数を作成されたいということですね。

    ある程度待ってもコメントが寄せられない場合は、VBA フォーラムで情報を集めるのがよいと思いますので VBA フォーラムの利用をご検討ください。

    VBA フォーラム

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません