hkzhkcnv.bas rev.4 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以降にもそのままで使えると思います。 関数名  HK2ZHKConv 関数の戻り値の型  文字列型(String型) 引数  第1引数 文字列(String型)―― 変換対象文字列  第2引数 文字列(String型)―― 変換方向を指示する文字列       "k","K"のいずれか:半角カタカナ→全角カタカナ変換       "h","H"のいずれか:半角カタカナ→全角ひらがな変換 (a) 半角カタカナを全角カタカナに変換する場合 ・不適切な濁音・半濁音が付けられている場合の濁点・半濁点は単独で出力します。  (例:「ア゚」「オ゙」→「ア゜」「オ゛」) (b) 半角カタカナを全角ひらがなに変換する場合 ・不適切な濁音・半濁音が付けられている場合の濁点・半濁点は単独で出力します。  (例:「ア゚」「オ゙」→「あ゜」「お゛」) ・「ヴ」に相当するひらがなは存在しないため、代わりに「ヴ」に変換します。 (c) (a)(b)に共通する内容 ・引数として与える文字列は、半角カタカナ以外を含んでいても構いません。  句読点、カギ括弧も全角に変換されますが、その他の文字(例:?!abc…、丸括弧  など)はそのまま出力します。 ・第1引数に2文字で濁音・半濁音文字を構成した文字列が含まれていた場合は、  対応した1文字の濁音・半濁音文字に変換します。  (例:「は゛」「ひ゜」はそれぞれ、「ば」「ぴ」に変換される) ・第1引数に含まれる「ウ゛」「う゛」は、ともに「ヴ」に変換します。 【使用方法】 MS ExcelのVBEに、ソースファイルをコピー&ペーストするだけで、 ワークシート上で標準関数と同じ要領で使用したり、VBA側の他の関数から 組み込み関数と同様の要領で使用したりできます。 MS Accessの場合も上記に準じます。 ワークシートで使用する例  A1セルの内容が、「テストモジレツ」である場合、  B1セルに =HK2ZHKConv(A1,"k") 、C1セルに =HK2ZHKConv(B1,"h") と代入すると、  B1セルには変換結果の「テストモジレツ」、  C1セルには変換結果の「てすともじれつ」、 が表示されます。 VBAで使用する例:  str1 = HK2ZHKConv("テストモジレツ","k")  str2 = HK2ZHKConv(InString,"h") 【応用使用方法】 ワークシート関数のASC()と併用して  =HK2ZHKConv(ASC(A1),"K") の様にすれば、数字や記号を半角にしつつカタカナを全角に揃えられます。 私のWebで公開している ANZHConv と併用しても同様のことが可能です。  =HK2ZHKConv(ANZHConv(A1),"K") または  =ANZHConv(HK2ZHKConv(A1,"K")) 【ソースプログラムの改変・配布など】 著作権は私が保持しますが、必要に応じて改変を認めます。 配布も自由に行って戴いて構いません。 改変の場合は改変内容と改変者を追加し、オリジナルそのままでないこと を記すとともに、オリジナルのクレジット部分も残してください。 【備考】 ・VBAとして記述したコードをVBScript/Windows Script Hostとして記述し直した版  も公開しています。マウスクリックで単独動作させたい場合はそちらをご利用下さい。 ・ExcelのVBAが備える StrConv関数を使用して、以下のような関数を作成すると、  HK2ZHKConv関数と同様のことを実現できます。  但し、半角カタカナ以外も全角になってしまうので、変換対象を絞りたい場合は  もう少し条件判定処理を追加することが必要です。  また、StrConv関数は、VBScriptには存在していないため、以下のサンプル関数は、  VBScriptとして実行させることができません。 ' 文字列中の半角文字を全角にするとともに、カタカナをひらがなに変換する関数例 Function HanKatakanaToZenHiragana(ByVal MyString As String) As String HanKatakanaToZenHiragana = StrConv(Mystring, vbWide + vbHiragana) End Function 【その他】 本VBA関数を使用した結果に対して、作者は一切の保障・補償を致しません。 本関数に対するご意見・ご希望は歓迎いたしますが、作者はそれら全てに 対応する義務を持ちません。同様に、バグや仕様不足に対する修正の義務 も持ちません。 【履歴】 rev.0 公開    従来、vb_hk2zk.lzh (= vb_hk2zk.bas)および vb_hk2zh.lzh (=vb_hk2zh.bas)    として公開していた版のvb_hk2zh.basの間違い[*1]を修正し、統合したものです。        [*1] ソースコード中の文字が「ぎ」でなくてはいけない部分が「き」と       記されていたせいで、「ギ」が「き」と誤って出力される rev.1 半角の中点「・」を全角の中点「・」に変換する処理の追加 rev.2 宣言し忘れの変数 slen を宣言した。 rev.3 全角カタカナ変換する際に「ピ」が「ヒ゜」に、「プ」が「ピ」に、    それぞれ誤変換されるのを修正した。    定数宣言時の記述ミスが原因(ハヒフヘホをハフフヘホとミスしていた)。 rev.4 単独の濁点・半濁点の変換で実行時エラーが発生してしまうのを修正。    全角の濁点なしのカタカナと全角または半角の濁点/半濁点とが並んでいる    場合にそれぞれが独立したままになるのを、結合される様に改善した。    無意味な式と変数宣言が残っていたのを除去した。