スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

JISからShift_JISへ変換する

Excel VBA VB 6.0

Function JIS2ShJIS(ByVal SrcStr As String) As String
    Const adTypeText = 2
    Dim myStream As Object
    Dim tmpS As String
    Set myStream = CreateObject("ADODB.Stream")
    myStream.Open
    myStream.Type = adTypeText
    myStream.Charset = "Shift_JIS"
    myStream.WriteText SrcStr
    myStream.Position = 0
    myStream.Type = adTypeText
    myStream.Charset = "iso-2022-jp"
    tmpS = myStream.ReadText()
    myStream.Close
    Set myStream = Nothing
    JIS2ShJIS = tmpS
End Function
 
ADODB.Streamを使えば JISコード(ISO-2022-JP)の文字列をShift_JISコードの文字列に 簡単に変換することができる。
 
漢字(全角文字)だけの文字列の場合、変換元となる文字列に JIS X 0208へ切替えるエスケープシーケンスが付いていない場合がある。
こういう場合は、JIS X 0208へ切替えるエスケープシーケンスは 『[ESC]$B』なので、次のような補助関数を作って呼び出せば良い。
 
Function JIS2ShJISex(ByVal SrcStr As String) As String
    Dim tmpS As String
    tmpS = Chr(&H1B) + Chr(&H24) + Chr(&H42)
    tmpS = tmpS + SrcStr
    tmpS = JIS2ShJIS(tmpS)
    JIS2ShJISex = tmpS
End Function
 
補足だが、当然ながらアルファベット(半角文字)については どちらもASCIIコードを使っているので変化は無い。
更におまけで書いておくと、JIS X 0208からASCIIへの切替え エスケープシーケンスは『[ESC](B』(&H1B2842)である。
 
関連記事
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

プロフィール

みっちょ (田上 暢顕)

Author:みっちょ (田上 暢顕)
 
30年以上ひたすら毎日プログラミングを続けているエンジニアの『みっちょ』です。

ここでは開発を行う際の覚書の他、私が日頃から色々な開発を行う中で便利だと感じているツールやサービスなどを紹介しています。



連絡先
 110651321
 michyox
 4348126
 Ravijour

友達申請などWelcomeです☆
基本的に断りませんので、お気軽に申請してください♪

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。