• ベストアンサー

なぜ「マクロの記録」はaccessにはないのでしょうか?

私はオフィス2003を使用していますが エクセル、ワード、パワーポイントには「マクロの記録」と言う機能があるのに accessにはないのでしょうか? この機能のおかげでものすごくVBAの学習ができてると思うのです。 もし理由を知っているからがいらっしゃったら教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

アクセスは未経験ですけど、ようは”自動記録をするような作業がない”からでは? 実際に”マクロ化されているもの”を組み立てるか、或いは”VBA化”するかでしょうし、 その作業を”記録”する事と”構築”する事は同じ意味を持ってしまうからではないかと。 素人考えなので違っている場合はスル~して下さい。

lkhjlkhjlk
質問者

お礼

なるほど。 ご回答ありがとうございます。

その他の回答 (5)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.6

面白い質問なので、私も一言(全て勝手な解釈です) MSは、ACCESSを難しいVBAを勉強しなくても、簡単にシステムが作成できるシステム開発支援ツール集として完成させたい。 VBAでシステム開発する人は、VBでもSQLserverなどほかを使えばよい。・・という発想? エクセルのシートに似ているといえば、テーブルとクエリで直接入力するとき位ですが、ここにマクロボタン配置して使用する事はないですし ACCESSには、フォーム、レポート、マクロというカテゴリーで充実を図ってあるので、フォーム上にボタンを作成するとウィザードに従っていけば一般的な機能を設定できます。 エクセルでは、VBエディターでフォームは作成できますが、フォーム上では、マクロの記録は出来ないです。 ACCESSではVBAとマクロを分けてあり、マクロにてシステムを完成できる程です。 マクロで出来ないことにLoopがありますが、クエリを応用すればLoopを必要とする事もなくなります。(エクセルではLoopは頻繁に使用しますが) ACCESSのVBAは他のデータベースやApplicationと連携するために必要と考えたので、VBA(ADO)を理解した人が使用する事を前提とした。 安価なACCESSを利用してVBA(ADO)が習得されると、エクセルなどを利用してデータベースを利用する人が増える。 一旦、ACCESSを使ってシステムを開発すると、ネットワークでテーブルを共有する場合にACCESSを更に購入することになる。 だからマクロの記録の機能はついていない。 以上、私の勝手な憶測です。

lkhjlkhjlk
質問者

お礼

なるほど! ご回答ありがとうございます。

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.5

>エクセル、ワード、パワーポイント とAccessの違いは前者は文房具、Accessはシステム構築ツールだという点でしょう 文房具の方は繰り返し行う操作を記録して自動化すると言うことに意味がありますが システム作成においては繰り返し行う操作ということ自体ありません 作品としてのデータベースでの繰り返し操作を自動化する場合でも 実際にその操作を行い記録してコードを書くというようなことをしようとは思わないですね 自動記録でできあがった無駄の多いコードを手直しするより 最初から自分で書く方を選びます

lkhjlkhjlk
質問者

お礼

アクセスに関しては他と用途が違うのですね。 ご回答ありがとうございます。

  • noah7150
  • ベストアンサー率46% (116/251)
回答No.4

私もなぜ付けてくれないのか知りたい人の一人です。 でも・・・(これも憶測です) WORDやEXCELってドキュメント作成ツールですよね なのでデザインなど同じ事を繰り返す事が良くあるのでマクロ記録は有効ですが ACCESSはデータ作成ツールです VBAは実行時にイベントから起動されます。 実行時は基本的に画面デザインは終了してますよね それじゃぁ記録開始をどのタイミングで何のイベントに対応するかの判断をどうします?。 これが最大の自動記録が無い理由じゃないでしょうか? VBA学習の手助けなら、ANO.3で書かれているように マクロで色々書いて 保存しファイル(F) -> 名前を付けて保存(A) 若しくは該当メンバーを右クリックして 貼り付ける形式をモジュールを選択すればVBAに変換してくれます。 でも、モジュールではなくてマクロを上手に使えばAccessってコントロールのイベントにマクロを割り当てるとVBA記述しなくてもかなりの事が出来るように考えられてます。 参考書等はマクロ記述だけで実行させる例が多くあります でも、私の場合はマクロを殆ど使いません やっぱりVBAを使うとどうしてもマクロより一覧性のあるVBAの方が見やすいし デバッグ実行で問題点を探す時に楽なもので 私はVBAモジュールを作成しツールバーに新規ボタンを取りデザイン時、プロパティー変更のサブを作って実行させてますので、デザイン時のマクロ自動記録が欲しい一人なのですが。

lkhjlkhjlk
質問者

お礼

私もマクロではなくvbaを使います。 細かい作業が好きなので。 ご回答ありがとうございます。

  • gadd3
  • ベストアンサー率46% (211/451)
回答No.3

私も知りたいです(^^) 以下、推測ばかりになってしまいますが、マイクロソフトに聞いてみないと本当のところはわからないと思いますが、「ツール→マクロ→マクロをVisualBasicに変換」、という機能があるから、自動記録は要らないと考えたのかもしれませんね。 また、Accessはクエリ、モジュール、フォーム、レポート、その他を「作る」作業が多いですが、それらは「設計」してから「作る」ことがほとんどなので、「マクロの自動記録」では「設計」まではできません。 そのほか、ADO、DAO、SQLの操作もマクロの自動記録ではなんともできないです。 また、Excelのようにセル番地が無いので、そして、特に行の特定が難しいというか面倒ですから、自動記録には向かないのかもしれません。 例えば、WordやPowerpointなどだと「○行目」ということをVBAに書けますけど、Accessだと、○行目がいつも同じデータとは限らないです(主キーはユーザーが決めるわけだから)。 厳密には番地のようなものもあるのですが、そこにいつも同じデータがくるとは限らない(次回にファイルを開いただけでレコードの位置が変わるときもある)ので、そういうことも自動記録には向かないと考えられているのかもしれません。 また、マクロの自動記録でなんとかなる部分といえば、検索、抽出、置換、並べ替え、フォームからフォーム・レポート・その他の呼び出し、最大化、最小化、などくらいで、Accessの機能から言えばほんの少しなので、そういった部分的なことだけを自動記録できるようにしても、あまり意味が無いと考えられたのかもしれません。(私はそうは思わないのですが) あと、下手にマクロの自動記録機能を付けると、エンドユーザーが好き勝手にデータベースをいじる可能性があって危険だから、あえて、自動記録機能をつけていない、という意味もあるのかもしれません。 データベースですから簡単に作れ過ぎると業務を停止させかねないのでそういった配慮もあるのかもしれません。 すべて想像ですみませんが、このようなことがあるのかもしれません。 Accessにも「マクロ」がありますので、「アクション」の各ドロップダウンの中から自動記録できそうなメニューがいくつあるかをチェックしてみてはどうでしょうか? 「アクション」の「コマンドの実行」の中にも色々とメニューがありますのでそちらもご覧になってみては?

lkhjlkhjlk
質問者

お礼

>「ツール→マクロ→マクロをVisualBasicに変換 この機能については知りませんでした。 早速試してみたいと思います。 ご回答ありがとうございます。

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

こんにちは。 Access は、Excelから比較しても、VBA自体が後付けの存在だったということで、「記録マクロ」というものの必要性が、Access にはなかったということだと思います。もちろん、元の製作者側(非MS)側が、「記録マクロ機能」を付けなかったというのが、最終的な結論であるのは、他社製のもので、「記録マクロ機能」を持っているものもあるからです。ただし、その記録が、プログラミングのVB系ということではありません。 >この機能のおかげでものすごくVBAの学習ができてると思うのです。 私が使った範囲では、Access は、VBAというより、VBAを含めた周辺知識は常識的に知って使うことが前提とされているのではないでしょうか。その中で、Access VBAは、ほんの一部にしか過ぎませんし、それを知っていて使えるというものでもありません。 実務上のAccess VBAは、かなりレベルが高く、VB6の知識を要求されることがあります。私自身は、Access VBAから、逆に、Excel VBAの利用法を覚えた部分が少なからずあります。最終的には、VB6 に移行しないと、まとまった知識は得られませんでしたが。 ですから、VBAの初心者・入門者が、Access を利用するのは、少し敷居の高いものになってしまいます。 なお、Excelの「記録マクロ」機能は、あくまでも、特殊なコードや単発のワークシートのメソッドが披露されるだけで、それ自体で、VBAのプログラミングを覚えるということはないと思います。Wordに至っては、記録マクロがうまく再現されない、ということもあります。単に、ワークシートの操作をコード化しただけであり、それを以て、学習するというのは、入門レベルまでぐらいしかありません。

lkhjlkhjlk
質問者

お礼

大変参考になりました。ご回答ありがとうございます。

関連するQ&A

  • ECXCELのマクロが記録できない

    WINDOWS 2000 SP4 , OFFICE XP Porffesionalで、 EXCELのマクロを記録しようとすると、『記録できません。』と表示される様になってしまいました。記録先やセキュリティレベルを変えても同じです。 ちなみに、ワードでは問題なく記録も実行も可能です。 別のVBAを使用するアプリ(MS以外)をインストールした影響かと思い、このアプリを削除しましたが、同じです。 officeをアンインストールして、再インストールしても現象は同じです。WORKはOKで、EXCELがNGです。 原因と対策を御教授いただければ幸いです。

  • Accessにはマクロ記録って無いんでしょうか?

    エクセル使う時はマクロの記録と言うのがあって 便利に使わせて頂いていたのですが・・・ アクセスにはないみたいなんですが? やっぱりないんですかね・・・? ちなみに僕のは、アクセス2000です。

  • マクロとVBAの違いは?

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

  • AccessのマクロってVBAのウィザートみたいなものですか?

    エクセルにはマクロの記録があるのにAccessにはありませんよね。 そのかわりにAccessには「マクロ」と言う機能があるのでしょうか? VBへ変換もできるし。 要は エクセルのマクロの記録は Accessのマクロを作る→VBへ変換 とは同じ意味ですか? よろしくお願いします。

  • ACCESSからEXCELのマクロを実行

    ACCESSのデータをEXCELに落として、その後、EXCEL上でマクロを実行させたいのですが、可能でしょうか。 ACCESSのVBAでEXCELを操作することができるのは知っているのですが、EXCELの機能のマクロ(罫線を引いたり、始点―終点間に矢印を引いたり)などをしたいのです。 よろしくお願いします。

  • 朝礼の記録をエクセル(マクロ)で作るには?

    朝礼が毎朝あり、それをワードを使って記録しています。 文章の長さは、12ポイントでA4両面1枚。1日は一応決まった書式があります。 (上司が10分位話します。) 時々、話したことの中でキーワードに基づいてピックアップしてほしいと言われます。その時は、手作業で過去の印字した記録を目で読みながら探して集めます。 エクセルを使って1年分を記録すれば、キーワードにひっかかるものをすぐに出すことができると思いますので、ワードからエクセルに切り替えうと思いますが、1日分を印字する時に難しいと思います。エクセルのマクロ機能を使って朝礼記録をとりつつ、1日分だけ会社の書式に印字することはできるでしょうか?

  • エクセル マクロの記録有効について

    エクセルでマクロを記録させようと思ったのですが マクロの記録ボタンが灰色で実行できない状態になってます。 ワードのほうはちゃんとなっているみたいです。 マクロの記録を有効にする方法を教えてください。

  • マクロの記録で何も記録できない理由は?

    「ブックを開く」という動作が知りたかったので、 現在開いているブック1から、マクロの記録ボタンを押し、 デスクトップにあるブック2をダブルクリックして開きました。 しかし記録終了ボタンを押した後、 ブック1の標準モジュールを確認しても Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2009/10/16 ユーザー名 : ' End Sub と何も記録できていません。 何故でしょう? ちなみにブックを開く方法は http://officetanaka.net/excel/vba/file/file01.htm で確認できました。 なのでマクロの記録で記載されない理由を教えてください。 エクセル2003です。

  • アクセスのマクロ

    アプリケーションを作りたいと思います。 エクセルのマクロ(VBA)はエラーが出るとコードが見えてしまいますが、 アクセスはどうなのでしょうか。うわさによれば見えないとのことですが・・・ その分、下手にエクセルで作るより、アクセスで作ったほうがいいのかと。 また、エクセルの場合は、マクロを含んでいると、起動した時、マクロを有効にするかというメッセージが表示されますが、アクセスはどうなのでしょうか。 アプリケーションを作るときそのようなメッセージは邪魔ですよね。

  • マクロの記録で記録されない作業は?

    「マクロの記録」を使って、色々な作業をトレースして、VBAの プログラミングをするときの役に立てているのですが、トレース されないものがあります。 「カメラ」という機能です。この「カメラ」もその存在をつい最近 知ったのですが、マクロの記録中にこの機能を使っても、記録され ないのです。 「カメラ」はツール→ユーザ設定→コマンドタグ中のツール内 にカメラのアイコンであります。これを予めメニューバーの下に追加 しておいて使っています。 よろしくお願いいたします。

専門家に質問してみよう