まいど!福地です。
お久しぶりです!(^^)!
先に言っときますよ?
サボってたわけではありません!
いやー、最近色々挑戦したい欲が強すぎて、計画を練るのに没頭しておりました💦
現在ビズロボくんページを作成中ですので、今しばらくお待ちください(∩´∀`)∩
さて今回のお題は
カナから「ひらがな」への変換
についてです🎉
BizRobo!で開発をしていて、Excelデータを基幹システムに入れる際、こんなことないですか?
Excelデータではフリガナはカナなのに対し、登録時は「ひらがな」で登録
レアケースかもしれませんが、こんな状況に出くわしたので、備忘録もかねてご紹介してきますね(‘ω’)
JavaScript の実行でサクッと解決
例えば下記のようなExcelデータがあったとします↓
このA列のカナをひらがなにしていきたいと思います!
まずは準備として以下の変数を準備します↓
・氏名_カナ(Short Text)
・氏名_ひらがな (Short Text)
今回のメインはJavaScriptのコードがメインになります(^^)/
①Excelファイルを開き、ループ処理で「フリガナ」を抽出する
②「変数の変換」処理を追加し、設定する
「JavaScriptを使用して変換」を選択する
下記のコードを入力する↓(コピペして使ってください)
OUTPUT = katakanaToHiragana(INPUT);
function katakanaToHiragana(src) {
return src.replace(/[\u30a1-\u30f6]/g, function(match) {
var chr = match.charCodeAt(0) - 0x60;
return String.fromCharCode(chr);
});
}
「テスト」をクリックし、ひらがなで出力さえれているか確認する↓
③「変数の変換」ステップを登録し、ひらがなが出力されているか確認する
プログラミングが初見の方はコードを見ると何だかややこしそうに感じるかもしれませんが、そこまで難しいことはしてませんので、次でザックリ解説しますね(^^)/
というか、コードを覚えるというよりは
「こんな使い方があるんだなあ!」
「コピペして使わしてもーらお!」
くらいの感覚で大丈夫ですので、お気軽にお使いください(*’ω’*)
ザックリコード解説
知らないよりは知ってる方が理解して使えるかと思いますので、ここでは簡単にではありますがコードの解説をしていきます。
ちなみに、これ実はJavaScriptで正規表現を使ったものになります。
※BizRobo!での正規表現例はコチラ↓
今回のコードの解説は大きく分けて2つです。
1つ目
OUTPUT = katakanaToHiragana(INPUT);
↑こちらは必須のコードになります。というのは、「JavaScriptを使用して変換」は結果を返すんですが、結果ってどう表示するの?っとことで、この「OUTPUT」という受け皿を介して結果を返すんですね(^^
「INPUT」ですが、これは下記のコードの内容になります。下記のコードで得た結果を「OUTPUT」に入れるという内容になってます。
プログラミングのお作法として、最後は「;」で閉じるのを忘れないようにしましょう(‘ω’)
2つ目
function katakanaToHiragana(src) {
return src.replace(/[\u30a1-\u30f6]/g, function(match) {
var chr = match.charCodeAt(0) – 0x60;
return String.fromCharCode(chr);
});
}
そもそも「function」ってなんだ?って話ですよね💦
functionは関数というもので、様々な処理を1つにまとめて、名前をつけることができるものです。単調な処理を1つにまとめて、どこからでも使えるように効率化するという目的でよく使われています。
今回でいうと別にこちらの関数を使わなくても良かったのですが、「あ、そうなんや」と思っておいていただければと思います。
「 /[\u30a1-\u30f6]/g 」こちらがひらがなの正規表現になります。
「 入力値に入力されたテキストをひらがなに変えますよ 」というコードということですね!
ちなみに、ひらがなをカナに変えたい場合は「 /[\u3041-\u3096]/g 」に変えるだけになります。
めちゃくちゃザックリした解説にはなりますが、以上になりますm(_ _)m
最後に
いかがでしたか?
「コマンドライン」に「JavaScript」と、使いこなせると益々可能性が広がっていきますので、やっぱりBizRobo!ってすごいなあと感じてしまう今日この頃です(;´Д`)
今回のように、絶妙な例があれば自己解決し、バンバンこちらに情報を発信していきます!
基本的にコピペして使えるよう心がけていますので、どんどん開発に役立てていただければ幸いです( *´艸`)
そして「こんなやり方あるよ!」や「こうしたほうが簡単!」とうあればドシドシコメントください!
まだまだBizrobo!触りまくって、知識蓄えよう!
んで、「Biz充」しよう(^^♪
少しでも興味を持っていただけましたらTwitterのフォロー宜しくお願い致しますm(_ _)m
ではでは、引き続きBizrobo!開発に有益な情報発信していきたいと思いますので、今後ともよろしくお願いいたします!
コメント
初めまして、北海道の会計事務所でBizRobo!を使った業務効率化を行っているものです。
最近このサイトを見つけましたが、何よりも見やすくまとまっており感動しています。
ありがとうございます。
1つ質問がありコメントさせていただきました。
今回のJavaScriptのコードを使うとエラーが出てしまって変換することができませんでした。コードの知識がないため、詰まっている状態です。どこを変更すれば正常に変換できるでしょうか??
使用したJavaScriptのコード
OUTPUT = katakanaToHiragana(INPUT);
function katakanaToHiragana(src) {
return src.replace(/[\u30a1-\u30f6]/g, function(match) {
var chr = match.charCodeAt(0) – 0x60;
return String.fromCharCode(chr);
});
}
出たエラー
illegal character(script♯4)
近藤さん
いつも当サイトをご覧いただき、また大変うれしいお言葉いただきありがとうございます!
>今回のJavaScriptのコードを使うとエラーが出てしまって変換することができませんでした。コードの知識がないため、詰まっている状態です。どこを変更すれば正常に変換できるでしょうか??
こちらのご質問ですが、私の方でも再現してみたところ、同じエラーが発生しました確認してみたところ、おそらくフォントの問題が関係しているようでした
再度修正したコードを載せましたので、お手数ですが再度コピーしていただき実行していただくことは可能でしょうか??
この度はご迷惑おかけしましたそしてご指摘頂きありがとうございます!!
今後ともどうぞよろしくお願いしますm(__)m