JSONデータからハッシュを作る。難しいことはできない。今回は、「エクセルVBA日本語化」に、「ハッシュ」という型の変数を追加しました。「ハッシュ」とは、主にプログラムを作る側のリクツでその名前が決まったのですが、本来の意味では「辞書」のことを指します。辞書ですから、例えば英語辞書なら「Cookie」の欄を引くには、「C」から、「Coo」とたどっていって、最後に「Cookie」のページを開きます。「Cookie」の意味として「クッキー。玉子やバターなどを材料にしてオーブンで焼いた焼き菓子。」などの情報を得ます。結論を言いますと、「ハッシュ」とは、この、Cookie(ハッシュの「キー」といいます。玉子やバターなどを材料にしてオーブンで焼いた焼き菓子。(ハッシュの「値」と言います)の、キーと値のペアを、集めて一つの変数の中にいれたもので、まさしく「辞書」のことです。今回は、実際に、この「ハッシュ(辞書)」の使い方を解説していきます。以上のバージョンが必要です。以下のURLよりダウンロードされてください。ダウンロードhttps://cunning-pg.ringing-web.com/download/エクセルVBA日本語化ダウンロード以下のリンクから、ダウンロードできます。セルの集合演算メソッドを追加しました。ハンガリアンセルver1を試験的に導入しました。ハンガリア...ハッシュにキーと値を追加していき、最後に全て文字列として表示ハッシュの取得と解放のテンプレートまずは、ハッシュの取得方法と、解放(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言語の独学時の経験がベースとなって、学習曲線が良いカーブを描いていました。頑張って覚えられてください!よろしくお願いします。さんの三国志などが好きです。エクセル関数日本語化のインストール方法は、以下の記事を参照してください。