• ベストアンサー

エクセルとVBAの関係記述言語

エクセルとVBAの関係について教えて下さい。マクロを組むとその行程がVBAで記述されるということは知っています。ですがマクロ=VBAなのでしょうか?そもそもこれはマイクロソフトの企業秘密かもしれませんが、エクセルを作成した記述言語は何なのでしょう?VBAでない事は確からしいので、VBAはエクセル本体とマクロというプログラミングの仲立ちの様なものでしょうか。

noname#54768
noname#54768

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 なぜ、お聞きになるのかな? カスタマイズ?それは、やめたほうがよいですね。それは、ハッキングで、かなり難しいと思います。それ以外は、アドインを勉強するのがよいのですが、なかなか本格的には難しいです。 >マクロ=VBAなのでしょうか? それは、Microsoft 社の選択肢の一つだったに過ぎないのですが、半面、どうも、Office にVBAを搭載させてしまったことが、後々後悔しているのかもしれません。その証拠に、あまり意味のないセキュリティが後から後から上乗せしてくるというのは、どうにもいただけません。根本的な、VBA拒否というオプションを、はっきりとつければよかったと思います。もちろん、セキュリティ・ポリシーというオプションはありますが、あまりユーザー側には知られていません。 また、VBAは、VB6 のOffice 用に装備したものです。Microsoft社内でも、賛否両論があったともウワサされました。今後、これが、VB.Net や C# になるというそうですが、今までのユーザーは、おそらく足きりさせられるということになると思います。かなりややこしいくなってしまいます。もう、VB6は、過去の言語になってしまったわけですし、やむをえないのだと思います。 >VBAはエクセル本体とマクロというプログラミングの仲立ちの様なものでしょうか。 マクロという意味はご存知だとは思いますが、その取り扱い言語とは関係ありません。ひとつの作業(タスク)の自動実行を目的とする機能のことです。逆にいうと、ひとつの作業を実行できないものは、マクロとは呼びません。それが、Ver.4マクロの関数型言語であっても、VBAであっても、タスクをするものは、すべてマクロと呼ぶというのが、Microsoft 側の定義です。 そして、Application 側とVBAとの間には、インターフェイスがあって、仲立ちをしていますが、完全に一致しているわけではありません。ですから、Excelの場合は、Applicationに依存した、Ver.4マクロ言語は、それをなくせというユーザー側のリクエストに答えるだけの、VBAは機能が今も完全ではありません。 また、VBAは、「基本的にはインタプリタ型の言語であるため、コンパイル(ビルド)の作業はない。」というのは、みなさんの誤解で、実行前にコンパイルして中間言語として存在しています。 >エクセルを作成した記述言語は何なのでしょう? それは、ワークシートを使っていれば、気がつくはずですが、C言語です。つまり、Excelの上級レベルでは、C++の知識が必須になります。もちろん、Excelが、C言語で作られていなければ、とても使えたものではありませんが。ただし、コントロールのActive X コントロールは、これとは違う範疇です。

noname#54768
質問者

お礼

ご丁寧に有難う御座います。もっともMS製品には独自に開発された色々な仕様があるのでしょうし、素直にマニュアルとかを参照しながらやってみようと思います。

その他の回答 (3)

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.4

マクロとVBAは、基本違うもので最初は導入されましたが・・・今は、ほぼ同意です マクロは、元々Excelの前身である Microsoft Multiplan - Wikipedia http://ja.wikipedia.org/wiki/Microsoft_Multiplan と、互換を取るためのシート上に構成されるVBAと別物の手続き命令だったんですよ Accessの場合、この名残が残って、マクロとモジュールと言う呼び名で、別物と化してますけどね もう、15年以上前の仕様ですので、型遅れは仕方ないでしょうね

noname#79209
noname#79209
回答No.2

「エクセル自体が何で書かれているのか」 というご質問なら、私は知りません。 また、知りたいとも思いませんし、知る必要もないと思っています。

noname#79209
noname#79209
回答No.1

昔のエクセルは、マクロというと自動実行手順を記録しておくスクリプトでした。 しかし、現在のエクセルでは「マクロ=VBA」です。 マクロという呼び名はふさわしくないとは思いますが、しかたないです。 AccessではマクロとVBAは別物となっています。

noname#54768
質問者

お礼

有難う御座います。VBAで記述されていると考えてよろしいのでしょうか?ヘタにカスタマイズする気もないのですが、出来ると仕事の幅が広がる気がします。

関連するQ&A

  • Excelの開発言語ってなんですか?

    この間、Excelのマクロについて、質問したときに、VBAのコードをわざわざ作って記述してくださった方がいて、VBAで検索いろいろしていったら、そこで改めて疑問をもったのですが、Excelの開発言語ってなんですか?VBAなんですか? 関連しそうなサイトを一通り見てみたんですが、検索の仕方が悪いのか、意味がよくわからなかったので教えてください。 もともと、VBAを、Excelの開発言語で使ってたんだけど、便利がいいので、マクロに代用するようにした、というような形に書いてあるみたいに読めるんですが、読解力なさすぎでしょうか? 私のイメージだと、VBAは、マクロを記述しておくための言語なんですよね(-_-;) 調べ始めたばかりなので、ぜったいどっかに大幅な勘違いがあるとおもうんですが、わかる方にはあたりまえの質問なのかもしれませんが、VBAのコードを書いていただいたことで、Excelなどのアプリケーションソフト自体がどのように開発されているのか、大変興味を持ちました。 不正コピー防止などの理由で、開発言語は公表されていない、などもありましたら、そういうのも、ぜひ、教えてください。 よろしくお願いいたします。

  • VBAとマクロの違い

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

  • エクセルについて

    パソコンの本で無料で使えるオープンオフィスの表計算ソフトの内容をみましたが、マイクロソフトのエクセルとちがうのは、少し操作方法がちがうのとグラフの関係がちがうとかいてありました。関数は同じようにつかえるとかいてありましたが、関数が同じようにつかえるなら、VBAのマクロ言語を利用してなんらかのプログラム(プログラミング)もマイクロソフトのエクセルと同じようにできるということになりますか?

  • エクセルのVBA記述のことについて

    エクセルでVBAを記述するのにはいちいちコマンド等を打つ必要があるのでしょうか。既にコマンド、関数等が入っているもの(ライブラリというのですか?)はあるのでしょうか。あとC言語等についてもプログラムの記述にはコマンド等を簡単に呼び出せる方法があると聞きましたが、どの様に入手するのでしょうか。それらはライブラリと呼ぶのですか。

  • エクセルについて

    エクセルでプログラムを組むのにVBAというマクロ言語が必要みたいですが、このVBAというのは、無料でつかえるエクセルソフトにもはいっているのですか?(スタースイートとかIBMシンフォニーとかオープンオフィスとかありますが自分がしッているのはこの3つですが3つの中でVBAのマクロ言語をつかってプログラムを組めるエクセルシートはありますか?それともマイクロソフトでないと駄目ですか?

  • EXCEL VBA の記述したモジュールの文字を大きくしたい

    EXCEL VBAでマクロを記述した文字が小さくて困っています。 大きくして表示することはできますか?  

  • エクセルについて

    エクセルでVBAというマクロを使用してのプログラミングがつかえるとおもいますが、ほかのプログラミング言語でエキーラというのがあるみたいですが、VBAとどうちがうのですか?そのえきーらはえくせるでつかえるのですか?

  • EXCEL VBAからの転向

    EXCEL VBA初心者ですが、 仕事で必要だったので、EXCELマクロからはじめ、 ある程度の条件分岐やループなどのコーディングを 独学で勉強しました。 参考書を読みながら、やっているうちに プログラミングの面白さにはまっています。 まだまだ初心者なんですが、 今後VBAから、もっと実用的で、主流な言語に転向してみようかと 考えています。 VBAからの転向は、やっぱりVBへ進んだほうが 入り易いのでしょうか? 他に入門しやすい言語があれば、教えてください

  • エクセルVBAの記述について教えて下さい。

    エクセルVBAの記述について教えて下さい。 セルA1,B1,C1,D1,E1すべてにデータが入力されているかどうかを調べる記述を教えて下さい。 ちなみに・・・ 入力が不足しているときはmsgで『入力が不足しています』のダイアログ。 すべて入力されているときはmsgで『入力OK』のあとにCallで別のマクロを呼び込む ような記述が知りたいです。 どなたかご教授お願い致します。 【環境】 OS:Windows7 Excel:2003

  • excelのvbaって?

    エクセルのvbaって何をするためにあるのですか? 昔あったプログラミング言語のbasicと何が違うのでしょう? どなたか簡単なコメントを下さい。 どうぞよろしくお願いいたします。

専門家に質問してみよう