コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

「マクロ言語」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
m編集の要約なし
Cewbot (会話 | 投稿記録)
72行目: 72行目:


===Mac OSのマクロ===
===Mac OSのマクロ===
[[Classic Mac OS]]や[[macOS]]では、アプリケーションに汎用的なマクロ言語として[[AppleScript]]が採用されている。OSを開発している[[アップル (企業)|アップル]]のソフトウェアだけではなく、[[Microsoft Office]]などの[[サードパーティー]]製のソフトウェアも対応しているため、アプリケーション毎に言語の基礎的な部分から学習する必要がない。
[[Classic Mac OS]]や[[macOS]]では、アプリケーションに汎用的なマクロ言語として[[AppleScript]]が採用されている。OSを開発している[[Apple]]のソフトウェアだけではなく、[[Microsoft Office]]などの[[サードパーティー]]製のソフトウェアも対応しているため、アプリケーション毎に言語の基礎的な部分から学習する必要がない。


===シェルのマクロ===
===シェルのマクロ===

2021年5月20日 (木) 11:01時点における版

マクロ言語(マクロげんご)は、マクロを記述するコンピュータ言語である(キー操作をそのまま記録・再現する、いわゆるキーマクロ等のように、言語を持たないマクロ機能もある)。プログラミング言語的な機能を持つものもあれば、持たないものもある。ソフトウェアの制御や自動化にとどまらず、普通のプログラミング言語のような汎用的な処理をすることが可能なものも存在する。また他に、テキスト変換などを記述する変換言語もマクロと呼ばれることが多い。

マクロ言語はソフトウェアによる独自のものもあれば、Windows Script Host (WSH) を利用するなどしてスクリプト言語をマクロ記述に使えるようにしている場合もある。 また、マクロとスクリプト言語による拡張(スクリプティング)を用語として区別しているソフトウェアもある。

この記事とマクロの記事は、それぞれに書くべき内容と書かれている内容が混乱している[要説明]

テキストエディタにおけるマクロ

多くのテキストエディタにキーボードマクロやマクロ言語などのマクロ機能がついている。マクロ機能と正規表現を駆使すれば、高度なテキスト処理を少ない手間で行うことが可能になる。

Emacsのマクロ

Emacs[1]およびEmacs系のMeadowなどではマクロ言語にLisp系のEmacs Lispを採用している。公開されているマクロには電子メールクライアントウェブブラウザなど高度で複雑な機能を持つものもある。

秀丸エディタのマクロ

秀丸エディタでは、キーボードマクロ機能とともに、C言語に似た文法を持つマクロ言語を採用している。

EmEditorのマクロ

EmEditorでは、WSHエンジンを利用し、JScriptおよびVBScriptでの記述が可能になっている。COMオブジェクトを利用して、例えばEmEditorからMicrosoft Excel等を操作することができる。RubyPythonなどの言語でも記述が可能。

サクラエディタのマクロ

サクラエディタではキー入力などを自動記録するキーマクロやWSHへの対応のほか、ppa.dll (Poor-Pascal for Application) を導入すればPascal風のマクロが記述でき、ActivePerl, ActiveRubyなどを導入することでPerlやRubyなどでもマクロを作成できる。

MIFESのマクロ

MIFESC言語に似たコンパイル型のマクロ言語MIL/Wをサポートしている[2]。MIFESはまた、記録したキーボードマクロをMIL/Wに変換することのできる機能も持っている。

Sublime Textのマクロ

ソースコードエディタであるSublime TextPythonの処理系を持っており、これを用いてマクロを記述することができる。実際、CとのAPIを用いて日本語IMEに対応させるマクロが記述されている[3]

オフィススイートにおけるマクロ

Microsoft Officeのマクロ

Microsoft Officeでは共通のマクロ言語としてVisual Basic for Applications (VBA) が使える。VBAの文法は、Visual Basicとほぼ同じである。コードはアドイン形式でも作成できるが、Office用ファイルの中に埋め込む形で保存することが多い。

マクロウイルス

Microsoft Officeのマクロ機能を悪用したコンピュータウイルスが数多く作られており、セキュリティ上の大きな脅威になっている。

OpenOffice.orgのマクロ

OpenOffice.orgでは、マクロ言語としてOpenOffice.org Basic, JavaScript, Python, BeanShell (Java) が利用できる。OpenOffice.org Basicは、VBAに似たマクロ言語である。

IBMのロータスブランド製品のマクロ

IBM社のSuperOfficeではマクロ言語としてLotus Scriptが使える。同様にロータスブランドのグループウェアであるNotes/DominoでもLotus Scriptを使用出来る。

ジャストシステム社製品のマクロ

ジャストシステム社の一太郎 (ワープロソフト)・花子 (グラフィックソフト)三四郎 (表計算ソフト)ではマクロ言語としてSuperPlayRiteが使える。

Google Workspaceのマクロ

Google Apps ScriptというJavaScriptベースの言語がある。Googleのアプリケーション全体の自動化できる非常に強力なマクロである。マクロウイルスについてはサーバ側でチェックされるため起こらないというメリットも存在する。

ウェブブラウザーにおけるマクロ

一部のウェブブラウザー向けに、作業自動化を実現するための拡張機能「iMacros」が開発されている。

なお、ウェブブラウザー上で動的なHTML文書 (DHTML) を実現するためのプログラミング言語としてJavaScriptW3Cにより標準化[4]されているが、これはマクロではなくスクリプト言語である[5]

その他

Visual Studioのマクロ

バージョン2010までのMicrosoft Visual Studioには、VBAあるいはVB.NETによるマクロ機能が標準で付属していた。バージョン2012で廃止されたが、バージョン2013以降はJavaScriptでマクロを記述することのできる拡張機能(アドイン)が開発されている[6]

Adobe製品のマクロ

Adobe PhotoshopAdobe Illustratorなど、アドビ製品ではExtendScript英語版を使って各ソフトウェア上の作業を自動化することができる。ExtendScriptの文法はJavaScriptに準じている。

TeraTermのマクロ

寺西高およびTeraTerm ProjectによるターミナルエミュレータTeraTermは、マクロ言語としてTera Term Language (TTL) が利用できる。コードは、拡張子として ttl を付与したテキストファイルとして保存する。 メニューからマクロを呼び出して使うほか、起動時にオプションとして指定することもできる。

Mac OSのマクロ

Classic Mac OSmacOSでは、アプリケーションに汎用的なマクロ言語としてAppleScriptが採用されている。OSを開発しているAppleのソフトウェアだけではなく、Microsoft Officeなどのサードパーティー製のソフトウェアも対応しているため、アプリケーション毎に言語の基礎的な部分から学習する必要がない。

シェルのマクロ

多くのシェルは固有のマクロ言語を備えており、コマンド実行の制御を行える。

脚注