• 締切済み

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

nda23の回答

  • 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プログラムのことを マクロと呼んでいます。

関連する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本体には、パスワード設定しています。 どのようにすれば良いか?記述を教えてください!