[[20050601231847]] 『[談]マクロとVBA』(純丸) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『[談]マクロとVBA』(純丸)

 いつもお世話になっております。
[[20050531154324]] 『マクロ』 
 昨日、上記のスレで鮎さんが紹介されていたサイトに
 「マクロは古い呼び方」とか、「「マクロ」は慣用的な名称で、「VBA」は正式名称」とか、
 「VBAが作れるようになるまでの手順」などの表現があり、かなり違和感を抱いています。
 VBAはあくまで開発言語であり、それを使って記述された(作られた)プログラムが
 マクロであるというのが私の認識です。ですから「VBAが作れる」と言うと
 「開発言語が作れる」と読めてしまうのですが、、、。
 皆様はどうお考えでしょうか?
(純丸)(o^-')b


 VBAとマクロはMicrosoft自身も曖昧に使っているようで、
 VBEの中で見てもらうとわかりますが、
 [実行(R)]メニューの中はあくまで、[マクロの実行]なのです。

 私は全然こだわりなく、
 適当にあるときは[VBA]とあるときは[マクロ]と読んでいます。
 まあ、私がタイトルを変更するとき、わざわざ[VBA:]と直しているのは
 [マクロ]よりバイト数が少なくなるからです。
(割と適当な・kazu)

 Officeと関わりが深くなりすぎると混乱すると思うのですが、
DOSの時代から「マクロ」という言葉はありました。
もともとはユーザーがアプリケーションの操作を記録することを
「マクロ」と呼称していたように思います。
記録するからには何らかの記号(言語)を使用するわけで、
アプリケーションごとに独自の記録用言語を実装していたわけです。
 
Officeでは開発言語「VB」に準拠した「VBA」を記録用言語に採用しました。
Office間でもアプリケーションにより仕様に差があります。
(だから「VBA」は厳密には開発言語とは言わないはずで、
「アプリケーションごとに独自の記録用言語を実装」という状況は変わっていないハズ)
従って、数多のマクロ用言語の中の一カテゴリとしての
「ExcelVBA」であると理解しております。
 
Office花盛り、の時代だから少し誤解もあるのかな、とも思います。
Excelにおいて「VBAを作る」または「マクロを作る」と言う表現は
どちらも間違いはないと思いますが、
「Excel用のマクロ言語であるExcelVBAによりマクロ記述を行う」
というのが正式表現になるとおもいます。
だから、
>「VBA」は正式名称
と言う表現はにわかに賛成しかねます。
「マクロ」=「Excelアプリケーション操作の一手法」
「VBA」=「Excelでマクロを記録しておくための言語の正式名称」です。
「操作そのもの」とその「道具」の混同があるのではないでしょうか。
 
ちなみにかつてのExcel4.0マクロはExcel2003でも実行は可能なはず。
だから、「Excel4.0マクロ関数によりマクロ記述を行う」というケースも
ありうる。(できる人は貴重な存在でしょうけど)
(現在不定期登校みやほりん)


 私の見解ですが
 マクロは、ソフト内の一連の操作を操作記録的に記録し
 繰り返し同じ作業させる場合などの場合に使う言葉と思います。 
  その具体的言語・システムまで言及されていなく、ソフトで
 さまざまな方法があると思います。
   一方 VBAは、立派な一つのプログラム言語のビジュアルベーシック
 のVBから来ています。末尾のAはExcelなどのアップリケーション用に
専用化された部分があるため、通常のVBと区別するためにあります。
 EXCELでマクロ(作業記録)を実行するための手段として、このVBA
を利用しているため、マクロ=VBAと思っているひとも多いのですが
 (私の言っている)マクロとはかけ離れたもっと高度の一般の
プログラム的ソフトを作れるのがVBAです。
 (なお)

 Web辞書?によれば、機能と言語の違い。書くのはVBAで、実行するのはマクロといった感じのようです。
 この区別は分かりやすいと思った次第です。  (Hatch)

 (参考にした文章)
マクロ:ワープロソフトや表計算ソフトなどで、特定の操作手順をプログラムとして記述して自動化する機能。
プログラムの記述に使う言語をマクロ言語という。 
 VBA 【Visual Basic for Applications】 - コンピュータ用語辞典
Microsoft社の製品に独自の機能拡張を施すためのマクロ言語として開発されたプログラミング言語。
同社のプログラミング言語Visual Basicをベースにマクロ言語用に改造されている。


 皆様ありがとうございました。自分の認識はそれほど違ってないと
 確認できました。ただ「マクロに詳しい」「VBAに詳しい」といった文では
 マクロとVBAはほぼ同じ意味として使われていると思われ、なかなか厳密な
 区別はしきれないというのが本当のところかもしれません。
 件のサイトでは「VBA入門」のコーナーで上記の(最初コメントに書いた)表現が
 されており、入門者に対しての表現としては適切ではないような気がしたので
 こちらで質問させていただいた次第です。 m(__)m
(純丸)(o^-')b

 [[プログラムの記述に使う言語をマクロ言語という。]]
この解説からすると、一般のプログラムの開発言語、C言語やVBも全て
 マクロ言語ということになってしまいますので、この辞典は怪しいですね。
 マクロの機能を実行するための使われた言語をマクロ言語と呼ということ
 ですね。従って、C言語でマクロ機能を作れば、マクロ言語としてC言語を
 使ったということになりますね。(なお)

 >この辞典は怪しいですね。
 一部分の引用はまずかったかもしれません。原典を示しておきます。・・・
 元はこちら↓です。
http://computers.yahoo.co.jp/dict/software/architecture/function/1790.html
  (Hatch)

 誤解があったようですが、「辞典に書いてある内容(表現)が
 正しいか疑問が残りますね。」 という意味ですので。
   原文を読むと、この一文の前に「マクロを作るために利用した」が
 不足しており、本来「マクロを作るために利用したプログラム言語を
をマクロ言語という。」  なりますか。(なお)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.