JSONデータからハッシュを作る。難しいことはできない。今回は、「エクセルVBA日本語化」に、「ハッシュ」という型の変数を追加しました。「ハッシュ」とは、主にプログラムを作る側のリクツでその名前が決まったのですが、本来の意味では「辞書」のことを指します。辞書ですから、例えば英語辞書なら「Cookie」の欄を引くには、「C」から、「Coo」とたどっていって、最後に「Cookie」のページを開きます。「Cookie」の意味として「クッキー。玉子やバターなどを材料にしてオーブンで焼いた焼き菓子。」などの情報を得ます。結論を言いますと、「ハッシュ」とは、この、Cookie(ハッシュの「キー」といいます。玉子やバターなどを材料にしてオーブンで焼いた焼き菓子。(ハッシュの「値」と言います)の、キーと値のペアを、集めて一つの変数の中にいれたもので、まさしく「辞書」のことです。今回は、実際に、この「ハッシュ(辞書)」の使い方を解説していきます。以上のバージョンが必要です。以下のURLよりダウンロードされてください。ダウンロードhttps://cunning-pg.ringing-web.com/download/エクセルVBA日本語化ダウンロード以下のリンクから、ダウンロードできます。エクセルVBA日本語化アドインのパスワードロックを解除しました。日本語関数(F_関数)の...ハッシュにキーと値を追加していき、最後に全て文字列として表示ハッシュの取得と解放のテンプレートまずは、ハッシュの取得方法と、解放(w_ハッシュをNothingにすること)のテンプレートを作ります。以下のコードをコピペしてください。Sub次に、ハッシュにキーと値を追加してきましょう。「追加」メソッドのツールチップヘルプ「w_ハッシュ」に、「.(ピリオド)」を付けるとコード補完リストが表示されますので、「追加」を選択してTABキーを押下し、コード補完を完了させます。キーと値を入力するために、「半角スペース」を入力すると、上図のように、ツールチップヘルプ(黄色の箇所)が出てきます。ヘルプ通りに、「キー」と「値」を追記しましょう。「キー」と「値」の間には、「,(カンマ)」を入力してください。ハッシュに「キー」と「値」を3つ追加した。「w_ハッシュ」に「キー」と「値」のペアを3つ追加しました。最後に、ハッシュの「値」を全てつなげて文字列化してみましょう。ハッシュの「値」を全てつなげて文字列化するコード「w_ハッシュ」の「文字列化」メソッドを呼び出します。「値」と「値」の間を区切る文字は、「カンマ」の他、「タブ」や「改行」などを選択できます。「値」と「値」を区切る文字なお、「その他」を選択すると、好きな文字で「値」と「値」の間を区切ることができます。「文字列化(カンマ)」の結果、上図のような文字列を得ています。ここまでのコードは、以下のようになります。コピペして利用されてください。Eachでループ次に、ハッシュのキーを配列として取得しましょう。ハッシュのキーは以下のコードで取得できます。Each」文で、キーをキーの配列から1つ1つ取得しながらループできます。ループはキーの最初から自動的に始まり、キーの最後で自動的に終了しますので、あまり面倒なことにはなりません。先ほどの「文字列化」では、「値」しかつなげることができませんでしたが、今回はキーも取得できます。キーから値を引くメソッド「値(key)」を使えば、キーから対応するペアの値も取得できます。このため、ハッシュの持っている全ての「キー」と「値」のペアを取得できます。実際に実行してみましょう。「キー」と「値」のペアその1「キー」と「値」のペアその2「キー」と「値」のペアその3以上のように、ハッシュの持っている全ての「キー」と「値」のペアを取得できました。ここまでのコードは、以下のようになります。コピペして利用されてください。SubJSONデータからハッシュを作る。難しいことはできない。最後にJSONデータから、ハッシュを作ってみましょう。「エクセルVBA日本語化」でのJSONデータの取り扱いが、簡単な仕組みになっているため、難しいことはできません。コードは以下のようになります。「FromJSON」メソッドでJSONデータをハッシュ化します。「ToJSON」でハッシュからJSONデータを作成し、文字列化します。最後に、「g_道具.表示」メソッドで、JSONデータの文字列を表示しています。「vbCrLf」の箇所は、「vbLf」でもかまいません。SubToJSON()でJSONデータを出力ToJSON()でJSONデータを出力したものが上図のような結果となりました。まとめお疲れ様でした。ここまで読んで頂いて、誠にありがとうございました。最後に、今日の学びを以下にまとめます。「ハッシュ」とは「辞書」こと。英語辞書で言えば、「キー」が英単語で、「値」が日本語の解説。「ハッシュ」は基本的に「キー」から「辞書」を引いて「値」を取り出す方式。ハッシュから「キーの配列」を取得できる。kyes」の文でキーごとにループできる。「キー」から「値」を引くには、「w_ハッシュ.値(key)」という「値」メソッドを呼べばいい。簡単なJSONデータであれば、「FromJSON」メソッドで一度にハッシュ化できる。ハッシュから「ToJSON」メソッドでJSONデータを出力することができる。以上のようになります。今回は、プログラミングでいうところの「アルゴリズムとデータ構造」という概念の内の「ハッシュ」という概念の解説になり、少々難しくありました。実際に使って見ると、単なる「辞書引き」を実現するアルゴリズムであるという結果が分かりました。「辞書引き」に「ハッシュ」を用いるかと言えば、計算回数が1回の計算で「辞書引き」でき、高速に動くという背景のリクツがあります。便利ですので、これを機会に、ぜひ、「ハッシュ」を使って見てください。最新の記事KaBA@フリーランス修行中こんにちは!IT業界で勤めて17年くらい務めています。プログラミング大好きやろーです。自分も独学でC言語を覚えIT会社に就職しました。その後紆余曲折を経て、VB6.0、VBA、Perl、C#、HTML、CSS、JavaScript、PHPなどを覚えていきました。全部C言語の独学時の経験がベースとなって、学習曲線が良いカーブを描いていました。頑張って覚えられてください!よろしくお願いします。さんの三国志などが好きです。公開されました「エクセルVBA日本語化」ver0.10がベクターで公開されました。今回の改修点は以下の通りです。エクセル関数日本語化のインストール方法は、以下の記事を参照してください。ベクターで公開されました「エクセルVBA日本語化」ver0.13.0がベクターで公開されました。今回の改修点は以下の通りです。「セルごとにサブルーチンを呼び出し」メソッドがバグで動作していなかった点を修正。JSONデータからハッシュを作る。難しいことはできない。(8)AWHホスティング999円で8GBメモリのVPS。AWHホスティングがご提供。G-Toolsエクセル関数日本語化というエクセルの関数を日本語にする無料のアプリがあります。エクセルファイル単体で日本語化されていますので、PCの他のエクセルファイルには影響はありません。ワンコイン(1ドル)でご購入できます。エクセルの関数も日本語で覚えれば、意外と素直にわかりやすいです。G-Toolsエクセル関数日本語化というエクセルの関数を日本語にする無料のアプリがあります。エクセルファイル単体で日本語化されていますので、PCの他のエクセルファイルには影響はありません。ワンコイン(1ドル)でご購入できます。エクセルの関数も日本語で覚えれば、意外と素直にわかりやすいです。WordPress%d人のブロガーが「いいね」をつけました。