• 締切済み

VBAとマクロについての質問です。

VBAとマクロについての質問です。 VBAで記述された事によって生まれた,ある機能の事を「マクロ」と言う。 で合っていますか?

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.4

マクロとは「ソースプログラムを生成する言語系」のことで、 本来のプログラムを指す言葉ではありません。 従って、VBAのプログラムを「マクロ」と呼ぶことに抵抗が あります。 マクロアセンブラでは以下のような使い方をします。 【マクロ定義】 @SAVE MACRO ARG ←マクロの定義の開始    PUSH ARG    ENDM     ←マクロの定義の終了 【ソース】    MOV  EAX,870    @SAVE ECX  ←マクロ文    @SAVE EAX  ←マクロ文 【マクロ展開後】    MOV  EAX,870    PUSH  ECX  ←マクロにより展開されたソース    PUSH  EAX  ←マクロにより展開されたソース ※"@"は英数字と共に識別名として使用できる文字であって、  「マクロだから”@”で始める」という規約ではありません。 C言語では以下のように使います。 #define MC 4 + 5  ←マクロの定義 【ソース】    if ( code == MC ) ←マクロの使用 "MC"は単に"4 + 5"という文字列に置き換えられるだけです。 MC=9ではありません。従って、x = MC * 3; と記述すると、 xには19が代入されます。9 * 3 ではなく 4 + 5 * 3 だからです。 つまり、書式が合っていれば、単に置き換えるだけで、 プログラムの文法に適うかどうかはマクロの関与する ところではありません。 先のマクロアセンブラで、以下のように間違えたとします。 @SAVE MACRO ARG    SUSH  ARG    ENDM SUSHという命令はありませんが、定義自体は正しく、 マクロは正常に展開されます。その後のアセンブルで エラーになります。 要約するとマクロ≠プログラムです。 個人としてはVBAプログラムをマクロとは呼びたく ないのですが、世間一般ではVBAプログラムのことを マクロと呼んでいます。

全文を見る
すると、全ての回答が全文表示されます。
  • heyboy
  • ベストアンサー率21% (1852/8729)
回答No.3

間違っていますが、 一応、合ってもいます。 マクロとは例えば 「AUTO.EXE」などの 実行する順番などを 書いたプログラムと 思って良いです。 VBAでなくても 開発タブを表示させて マクロを登録させれますよ。

全文を見る
すると、全ての回答が全文表示されます。
  • f272
  • ベストアンサー率46% (8050/17205)
回答No.2

マクロとはアプリケーションソフトの操作を記録して自動実行させるための機能のことです。エクセルとかのMS社のソフトの場合にはVBAという言語でマクロを書くことになっていますが、他のソフトではまた別の言語を使います。 エクセルの場合もVBAという言語ができる前は、別の言語でマクロが書かれていました。

全文を見る
すると、全ての回答が全文表示されます。
  • FattyBear
  • ベストアンサー率32% (1247/3818)
回答No.1

合っていると思います。下記記述がありました。 VBAはプログラミング言語であるのに対して、マクロは機能です。 マクロを作成するためには、アプリケーションごとに異なるプログラミング言語を用います。 そしてOfficeアプリケーションであるExcelのマクロ機能を使うために、必要になるプログラミング言語というのがVBAなのです。 あと、マクロについては下記説明がありました。 プログラミングの分野では、ソースコード中に繰り返し登場する特定の記述を、別の(短い)記述に置き換えることができる機能をマクロという。 複数の命令をまとめて一つの命令のように記述したり、複数の箇所で参照される定数の値を後からまとめて変更できるようシンボル名で記述するのに使われる。 -------------------------------------------------------------------------------- いわゆるサブルーチン的な小さなプログラムだと私は認識しています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAとマクロの違い

    こんばんは。エクセル初心者です。 VBAとマクロの違いについて教えてください。 VBAというのは、プログラミング言語のことで よろしいのでしょうか? そのVBAで記述されたものをマクロとよぶ といったイメージでよろしいのでしょうか? たとえば、あるエクセルにはいってるマクロを 実行する、ということを作業マニュアルに記述 する場合 「○○マクロを実行する」というのが 正しいのでしょうか?それとも 「VBAを実行する」というのが正しいのでしょうか? まったく見当違いのご質問だったら申し訳ありません。 教えてください。

  • エクセルのマクロとVBAについて

    まだあまり多用していないのですが、エクセルでは使っていくアイコンを指定することで(それを利用することで)、マクロを組みそれがエクセルのVBAで記述されるということですが、その逆エクセルのVBAで記述したプログラムを動作に対応したアイコン等の流れで示すことは出来るのでしょうか?もしあったらどのような方法でしょう?

  • マクロとVBA

    エクセル2000を勉強していると、マクロとかVBAという言葉が出てきます。マクロは分かってきたんですが、VBAとはなんですか? また簡単なマクロを組んだり、VBAを勉強したいので参考になるHPなどがあれば教えてください。

  • VBAのやり方とマクロ

    ExcelでVBA(ビジュアルベーシック)出来るんですか Office2007なんですが、どうやってやるんですか、 教えて下さい、お願いします マクロの事もお願いします

  • VBAとマクロの違い

    VBA初心者です。 会社の人からVBAとマクロの違いについて質問され、ちゃんと説明できませんでした。 なにがちがうんでしょうか? 私は「VBAのプログラミング=マクロを組む」と思ってました。 よろしくお願いします。

  • VBAとマクロ

    お世話になります。田吾作7です。 ふと思ったのですが。。。 VBAとマクロの違いって何でしょう? 「マクロの記録」ボタンを押したのがマクロですか? VBAは、MS-Officeのモジュールにユーザ自身が書き込んだら、それはVBAですか? もしそうなら、[マクロの記録]ボタンはなぜ[VisualBasicツールバー]にボタンがあるのでしょうか。マクロを編集しやすくするためでしょうか? 記録で Range("A1").select それを編集で Range("A2").select としたらVBA? さらに最初っから Range("A2").select と記録したマクロは、やっぱりマクロ? VBAとマクロって違いあるのでしょうか? いつも疑問に感じて、モヤモヤしてます。 だれか、このモヤモヤ感を解消してください。 よろしくお願いします。 余談ですが・・・ VBAは[VB for Application]ですよね? Office関連のためのVBってことですよね。 でもAPIを使ってWINDOWSを制御することもできるから[for App]の意味が無いような気がする今日この頃・・・

  • 他者の作ったVBAマクロを改変したい

    一般に公開されているフリーのVBAマクロについてなんですが、そういうマクロを改変(機能追加)することはできないのでしょうか。 よくできているマクロでもどうしても機能が不足していたりした場合、自分で機能追加をしたいのですが、やろうと思ってもマクロ編集画面が出ません。 コードを非公開にする方法などがあるのでしょうか?

  • EXCELのマクロとVBAの連続実行について

    EXCELを鋭意勉強中です。 それぞれ独立したマクロとVBAのコードがあるとして これらを組み合わせ自在に連続して実行することは可能でしょうか? マクロの連続実行は Call マクロ() で出来ることは判ったのですが ここにVBAが組み合わさると、どう記述してよいのかさっぱり判りません。 わかる方、よろしくご指導をお願い致します。

  • マクロとVBAの違いは?

    最近officeのVBAを勉強してるのですが「マクロ」と「VBA」って何が違うのでしょうか? アクセスはマクロとVBA(VBE)が別れてるけど、 エクセルは「マクロの記録」でVBAコードが取得できますよね。 マクロとVBAは同じ意味なのか、違う意味なのか教えていただけますか?

  • VBA マクロ保護

    VBA マクロ保護 VBAProject 保護はツールにて保護パスワード設定しています! 私が作ったもので、コマンドボタンをクリックしたら指定された フォルダにコピー(例;Sheet1のみコピー)できるようにしています! そこのコピーのフォルダを開き、ブックを開いてみると シート保護はされていますが コードの表示にパスワード設定がなく、そのまま見えてしまいます。 そこで質問なのですが コードの表示を見れなくさせるために VBA記述でコピーするときにVBAProjectにパスワード設定させたいです。 ちなみにVBAProject本体には、パスワード設定しています。 どのようにすれば良いか?記述を教えてください!