この記事を読むのに必要な時間:およそ 1 分
マクロでの擬似言語使用
旧仕様では,ごく簡素なマクロの機能が定義されていました(『07処理を自動化する便利な「マクロ」機能 p.30~35』参照)。新仕様では,マクロで行う処理に擬似言語を使う機能が追加されました(以下,仮に「擬似言語マクロ」と呼ぶ)。
擬似言語の仕様は,午後試験・問8「データ構造及びアルゴリズム(必須解答問題)」で使われるものと同じです(「共通に使用される擬似言語の記述形式」参照 )。
さらに,「表計算ソフト本体の機能とマクロの間の橋渡しをする機能」なども追加されています。
擬似言語マクロを使った具体的なサンプル問題が提示されていないため,どのような問題が出るのかは明らかではありませんが,次のような形になることが予想されます。
- <擬似言語マクロ部分の処理(予測)>
- ワークシート上の「あるセル範囲(または特定のセル)」の値を読み込む
- ↓
- 読み込んだ値を擬似言語マクロで処理
- ↓
- ワークシート上の「あるセル範囲(または特定のセル)に」結果の値を書き込む
問題によっては,マクロの前処理として「マクロでデータとして読み込むセル範囲の値を,表計算ソフト本体で事前に処理」,後処理として「マクロによってセル範囲に書き込まれた値を使い,ワークシート上の別のセルが計算を行う」という操作が加わるものもあるでしょう。
「擬似言語マクロ」の仕様
マクロの宣言
ひとつのワークシートには,複数のマクロを設定することができます。マクロを設定するときは,他のマクロと重複しない「マクロ名」を付けて宣言をします。宣言の書式は,通常の擬似言語と同じです。
例:○マクロ:Heikin ←マクロHeikinの宣言
変数の宣言
擬似言語マクロでは,「数値型」「文字列型」「論理型」の変数を使うことができます。宣言の書式は,通常の擬似言語と同じです。
例:○整数型:i,a,b,sum | ←数値型(整数)の変数である,i・a・b・sumの宣言 |
配列の宣言
擬似言語マクロでは,「数値型」「文字列型」「論理型」の配列を使うことができます。添字は[ ]で囲み,複数の添字がある場合はコンマ , で区切ります。また,添字は0から始まることに注意しましょう。
例:○文字型:table[5,10] | ←5×10=50個の文字列型要素を持つ2次元配列の宣言 |
セル変数の使用
擬似言語マクロで,ワークシート上のセル(またはセル範囲)の値を使いたいときや,マクロで処理した結果の値をセル(またはセル範囲)に書き込みたいときは,「セル変数」を使います。セル変数は,他の変数や配列とは異なり,宣言をせずに使うことができます。
セル変数を表現するには2つの方法があります。ひとつは絶対表現で,セル番地で表します。もうひとつは相対表現で,基準となるセルのセル番地と,そのセルからの位置関係を引数で表します。
例:相対(C3,5,2) ←行3の5行下:行8
列Cの2列右:列E
絶対表現で表すとセルE8
相対(C3,0,-2) ←行3の0行下:行3
列Cの-2行右(=2行左):列A
絶対表現で表すとセルA3
マクロ擬似言語を使った処理の例
「直近3か月の売上合計」をマクロで処理する場合