anhzconv.bas rev.0 Written by Seiji Fujita http://userweb.alles.or.jp/sfujita/ =========================================================================== 【概説】 半角英数字・記号を全角英数字・記号に変換するVBA for Excel用関数です。 作成はMS Excel 97で行いましたが、Excel 97以降であれば使用できるはず ですし、おそらくExcel 95でも使えると思います。 MS Word 97でも動作します。 また、MS Access 97以降にもそのままで使えると思います。 関数名  ANHZConv 関数の戻り値の型  文字列型(String型) 引数  文字列(String型)―― 変換対象文字列 変換対象文字  0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ  abcdefghijklmnopqrstuvwxyz  -+;:.,!#%'()=~_|*$[]&\ 【使用方法】 MS ExcelのVBEに、ソースファイルをコピー&ペーストするだけで、 ワークシート上で標準関数と同じ要領で使用したり、VBA側の他の関数から 組み込み関数と同様の要領で使用したりできます。 MS Accessの場合も上記に準じます。 ワークシートで使用する例  A1セルの内容が、   2バイト変換するサンプル文字列123ABC7890.&\[]$  である場合に、  B1セルに =ANHZConv(A1) と代入すると、  B1セルには変換結果の   2バイト変換するサンプル文字列123ABC7890.&¥[]$  が表示されます。  B1セルに直接、   =ANHZConv("2バイト変換するサンプル文字列123ABC7890.&\[]$")  の様に代入しても結構です。  但し、文字列に半角二重引用符「"」が含まれる文字列の場合には、「"」1文字を  2文字の「""」に置き換えて下さい。  例: =ANHZConv("2バイト変換する""サンプル文字列""123") VBAで使用する例:  str1 = ANHZConv("サンプル文字列123ABC7890.&\[]$")  str2 = ANHZConv(InString) 【応用使用方法】 ワークシート関数のASC()と併用して  =ANHZConv(ASC(A1)) の様にすれば、カタカナを半角にしつつ、英数字・記号を全角に揃えられます。 【ソースプログラムの改変・配布など】 著作権は私が保持しますが、必要に応じて改変を認めます。 配布も自由に行って戴いて構いません。 改変の場合は改変内容と改変者を追加し、オリジナルそのままでないこと を記すとともに、オリジナルのクレジット部分も残してください。 【備考】 ・VBAとして記述したコードをVBScript/Windows Script Hostとして記述し直した版も  公開しています。マウスクリックで単独動作させたい場合はそちらをご利用下さい。 ・ExcelのVBAが備える StrConv関数を使用して、以下のようなサンプル関数を作成  すると、ANHZConv関数と同様のことを実現できます。  但し、1バイト文字で記述されたカタカナまで全角変換されてしまいます。  また、このStrConv関数は、VBScriptには存在していないため、以下のサンプル関数  は、VBScriptとして実行させることができません。 ' 文字列中の半角英数字・記号・カタカナを全角に変換する関数例 Function To2byteANK(ByVal MyString As String) As String To2byteANK = StrConv(Mystring, vbWide) End Function 【その他】 本VBA関数を使用した結果に対して、作者は一切の保障・補償を致しません。 本関数に対するご意見・ご希望は歓迎いたしますが、作者はそれら全てに 対応する義務を持ちません。同様に、バグや仕様不足に対する修正の義務 も持ちません。 【履歴】 rev.0 公開 全角の英数字・記号を半角に変換するVBAマクロ関数 ANZHConv を、 逆変換するように書き換えただけ