古い機能でセキュリティに問題あるため扱いは注意。
以下の資料がとても参考になる。
Excel 4.0 Macro Functions Reference
エクセル 4.0 マクロ
VBAでは ExecuteExcel4Macro(string)
で使用できる。
Application.ExecuteExcel4Macro メソッド (Excel)
例:Macro 4.0を使ってアクティブセルの高さを取得。
Sub test MsgBox ExecuteExcel4Macro("GET.CELL(17)") End Sub
使えそうなコード
=A1.R1C1(論理値)
TRUE
で A1形式、FALSE
で R1C1形式に切り替える。
=GET.OBJECT(番号, オブジェクト名, 開始位置, 文字数, インデックス)
例:=GET.OBJECT(17, "シート1!A1")
:シート1!A行のセル高さ取得
=FORMULA (式, 出力先)
例:=FORMULA ("AAA", A1)
:A1に "AAA"を出力。
=FORMULA ("=A1+A2", A3)
:A3に "=A1+A2" を出力(A1+A2が計算される)。
=FORMULA ("=GET.OBJECT(17, "シート1!A1"), A1)
:シート1!A行のセル高さをアクティブシート!A1に出力。
=ECHO (論理値)
TRUE
で 画面更新ON、FALSE
で 画面更新OFF。
=SELECT.SPECIAL (番号, 型, レベル)
例:=SELECT.SPECIAL (13)
:すべてのオブジェクトを選択。=Clear()
を続ければすべて削除できる。
=FILTER.SHOW.ALL ( )
フィルター解除。
=FORMAT.NUMBER (フォーマット)
例:=FORMAT.NUMBER("@")
:表示形式を文字列にする。
=SET.PRINT.AREA (範囲)
印刷範囲の設定。A1.R1C1() で先に形式を指定してあげるとErrorが生じにくい。
=SET.PRINT.TITLES (行範囲, 列範囲)
印刷タイトル設定。
=SET.PAGE.BREAK( )
改ページ設定。