セキュリティレベルが「中」の場合
エクセルなら「マクロを無効にする」「マクロを有効にする」
という選択がありますが
アクセスの場合
「キャンセル」と「開く」しかない為
マクロ実行せずにファイルを開けないです。

もし起動時に実行するとまずいコードを作ってしまった場合
アクセスならファイルを起動すれば
強制的にマクロを実行することになるのでしょうか?

アクセスで
ファイルを起動時にフォームを起動しそれと同時にデータ削除のマクロを組んでしまった場合
ファイルを開くけどマクロ実行しない方法はありますか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

『起動時の設定』(メニューで「ツール(T)→起動時の設定(U)」)や、


『Autoexec』マクロ(この名前で保存したマクロは、通常起動時に
自動的に実行される)を中止させたい、という意味でよろしければ、
Shiftキーを押しながら起動すればOkです。
(「キャンセル」と「開く」で、Shiftキーを予め押した状態にして、
 そのまま「開く」をクリック(またはEnter)を押す:Shiftと同時押し)

なお、こうして起動した場合も、Excelとは違って、Autoexecマクロや
各フォームのVBA/マクロは、それらを開くと起動してしまいますので
ご注意下さい。
(Accessでは、マクロを完全に無効にした状態で開くことはできず、
 あくまで『起動時の設定』と『Autoexec』マクロを無視するだけです)
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/22 20:14

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBA(マクロ)を勉強したい

VBAを勉強したいのですが、オススメの本等教えて下さい。
今FOM出版のマクロ入門を買って勉強しています。大体の基本操作は分かった気がします。

Aベストアンサー

こんにちは。

ここら辺が参考になると思います。

日本VBA協会の参考書籍
の準拠本
http://www.vbaa.jp/training/books.htm

アマゾンのExcelVBA
http://www.amazon.co.jp/exec/obidos/ASIN/4774119660/vbaajpn-22/249-7235447-7367506

Qコピーしたファイルのマクロを実行すると前のファイルが開く

よろしくお願いします。

 エクセルで2005年度の売上集計ファイルを作りました。一定の条件で並び替えをしたかったので、マクロの自動記録でその[並び替え]を記録しました。それをユーザー設定ボタンとしてツールバーに表示させました(ニコちゃんマーク)。

 そして年度が変わったため、そのファイルをコピーし名前を変えて2006年度として記録を始めたのですが、このマクロを使うと動作は2006年度のファイルに対して動くのですが、なぜか前の2005年度の売上集計ファイルが開きます。
(最初に「マクロを有効にしますか?」と聞いてきます)

 前のファイルが開かないようにして、2006年度のファイルだけでこの並べ替えができるようにするにはどうしたら良いでしょうか?

 よろしくお願いします。

ThinkPad X40
OS: WinXP SP2
Excel: 2003 SP2

Aベストアンサー

こんばんは。

>ユーザー設定ボタンとしてツールバーに表示させました(ニコちゃんマーク)

一般的に、このようにした時は、そのマクロは、個人用マクロブック(PERSONAL.XLS)の標準モジュールに書き込み、それを、[ユーザー設定]-[コマンド(タブ)]-[選択したボタンの編集]-[マクロの登録]で、設定をしなおします。

ボタンなどのグローバルな場所(ツールバーなど)に設定されたマクロは、一般のブックに登録すると、常に、そのブックが呼び出されることになります。

QマクロとVBAの違いは?

最近officeのVBAを勉強してるのですが「マクロ」と「VBA」って何が違うのでしょうか?

アクセスはマクロとVBA(VBE)が別れてるけど、
エクセルは「マクロの記録」でVBAコードが取得できますよね。

マクロとVBAは同じ意味なのか、違う意味なのか教えていただけますか?

Aベストアンサー

こんにちは。

#2さんの引用先と同じ内容ですが、日本語として出ていたはずです。

マクロとVBAを、一応、定義として把握していないと、きちんと人には教えられないと思いますね。アクセスには、一般的に、VBA側で作られたものは、マクロとは呼べません。

理由は、「マクロ」というのは、その取り扱い言語は別として、ひとつの作業(タスク)の自動実行を目的とする機能のことです。逆にいうと、ひとつの作業を実行できないものは、マクロとは呼びません。例えば、引数を必要とするユーザー定義関数は、マクロの範疇から外れます。

マイクロソフトでは、こう定義しています。

以下は、内容的に、あくまでも、VBAの範疇に対して書かれています。

マクロは、より意味の限定された用語で、引数を持たないパブリックなSub プロシージャのことだけを指します。すべてのマクロはプロシージャですが、すべてのプロシージャがマクロであるとは限りません。マクロの記録機能を使って生成されるプロシージャとOffice アプリケーションの[マクロ]ダイアログボックスから実行できるプロシージャは、すべてマクロです。

それに反して、VBAというのは、アプリケーション用のVisual Basic プログラミング言語です。

「VBA」で書かれたものを総称して、プロシージャと呼び、マクロとは厳密には意味が異なります。また、Ver.4 の「マクロ関数」で書かれたものも、プロシージャで自動実行で作業をするものも、総称してマクロと呼びます。また、ひとつのブックにあるモジュール(=プロシージャを呼び出すためのオブジェクト)群をプロジェクトと呼び、「モジュール」を組み合わせ一貫した仕事をするようにしたものを「システム」と呼んだりします。

これで、違いが分かっていただけたかと思います。

こんにちは。

#2さんの引用先と同じ内容ですが、日本語として出ていたはずです。

マクロとVBAを、一応、定義として把握していないと、きちんと人には教えられないと思いますね。アクセスには、一般的に、VBA側で作られたものは、マクロとは呼べません。

理由は、「マクロ」というのは、その取り扱い言語は別として、ひとつの作業(タスク)の自動実行を目的とする機能のことです。逆にいうと、ひとつの作業を実行できないものは、マクロとは呼びません。例えば、引数を必要とするユーザー定義関数は、マクロの...続きを読む

Q既にファイルが開いているのなら開かない(二重起動防

アクセス 既にファイルが開いているのなら開かない(二重起動防止)とするには?

自分なりにコードを考えてみたのですが

Sub Sample()
Dim acApp As Access.Application

Set acApp = CreateObject("Access.Application")
acApp.OpenCurrentDatabase "C:\test.accdb"

'該当のファイルが開いてないのなら、
If acApp.ReadOnly = False Then
acApp.Visible = True
acApp.UserControl = True
End If

End Sub


これだと、.ReadOnlyがコンパイルエラーになります。
どうやらReadOnlyはアクセスには用意されてない用語のようです。

このような場合どうすればいいでしょう?

Aベストアンサー

Accessファイルがローカルにあるのなら
ファイルを開けば拡張子が
accdb → laccdb
mdb → ldb
のファイルが作成されますので、Dir 関数で調べるのが一番簡単です。
ただし、排他モードで開いた場合は上記ロック情報のファイルは作成されません。
また、Accessが異常終了した場合には上記ファイルは残ったままになることも有り。

別案としては
Dim Ac as object
set ac=getobject("C:\test.accdb").application
・・・以下省略
などもありますが、Accessを前面に持ってくる必要があったりします。

QVBAとマクロ

お世話になります。田吾作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]の意味が無いような気がする今日この頃・・・

お世話になります。田吾作7です。

ふと思ったのですが。。。

VBAとマクロの違いって何でしょう?
「マクロの記録」ボタンを押したのがマクロですか?
VBAは、MS-Officeのモジュールにユーザ自身が書き込んだら、それはVBAですか?
もしそうなら、[マクロの記録]ボタンはなぜ[VisualBasicツールバー]にボタンがあるのでしょうか。マクロを編集しやすくするためでしょうか?

記録で
Range("A1").select
それを編集で
Range("A2").select
としたらVBA?

さらに最初っから
...続きを読む

Aベストアンサー

マクロという言語があるわけではないので
決まった処理を登録しておいて後で実行できる機能を
マクロと呼んでいるんじゃないですか?

そのマクロの情報をスクリプトとして保存しておきますので
そのスクリプトがVBAという事だと思いますが。

Qアクセスのクエリを開く前にマクロを実行できますか?

フォームやレポートを開く前にマクロを実行できますが、同様のことをクエリを開く前にもする方法はないでしょうか?
具体的には、いくつかのテーブル作成クエリと追加クエリをまとめて行うマクロを実行してから、選択クエリを開きたいのです。
「SQLビューで1行加えるだけ」みたいなのができると助かります。
よろしくお願いします。

Aベストアンサー

クエリのイベントは拾えないので
クエリのプロパティを隠しオブジェクトにしておけば
うっかり実行は避けられると思います。
実行の際は、No1さんの流れで

QVBAとマクロの違い

こんばんは。エクセル初心者です。
VBAとマクロの違いについて教えてください。
VBAというのは、プログラミング言語のことで
よろしいのでしょうか?
そのVBAで記述されたものをマクロとよぶ
といったイメージでよろしいのでしょうか?

たとえば、あるエクセルにはいってるマクロを
実行する、ということを作業マニュアルに記述
する場合
「○○マクロを実行する」というのが
正しいのでしょうか?それとも
「VBAを実行する」というのが正しいのでしょうか?

まったく見当違いのご質問だったら申し訳ありません。
教えてください。

Aベストアンサー

「○○マクロを実行する」というほうが正しいです。

VBAは言語のことです。
マクロとは特定の操作手順をプログラムとして記述して自動化することです。

今回の場合、特定の処理なので「マクロ」という表現を使いましょう。

Qアクセス~エクセルファイルを開く~アクセス終了

アクセスVBAで、クエリ実行→エクセルシートへエクスポートしているのですが、その後、あるエクセルファイル
を開いて、アクセスを終了させたいのですが、どのようなコードになりますでしょうか?
※エクセルファイルは、開いた後作業します。

Aベストアンサー

こんにちは。
Application.FollowHyperlink "C:\Sample\ABC.xls"
Application.Quit

QVBAとマクロの違い

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

Aベストアンサー

こんにちは。maruru01です。

Excel(2000)については、No.1の方の説明通り、
「マクロ = VBAというプログラミング言語で記述された一塊の動作」
です。
したがって、miyacさんの、
「VBAのプログラミング=マクロを組む」
で、おおよそあっています。
また、自分で書いたコードをマクロとして登録することも出来ます。
しかし、Access(2000)での"マクロ"は少しニュアンスが異なります。
Accessの場合は、マクロはいくつかの動作・操作は順に登録しておき、それを自動実行させる、という使い方です。自分で書いたコードをマクロとして登録するというやり方ではありません。(本当はそういうやり方も出来ますが。)
したがって、VBAとマクロは何となく別物のような印象を受けます。
それにAccessでは、「マクロを組む」という表現は通常使いません。
ただし、マクロをVBAに変換することが出来ますし、マクロに登録する各動作・操作も、VBAで自分で書くことが出来ます。
ですから、結局同じことなんですけどね。
まとめると、「マクロは自動実行処理を登録すること」で、「VBAはそのアプリケーションのあらゆる操作を記述すること」ですかね。
では。

こんにちは。maruru01です。

Excel(2000)については、No.1の方の説明通り、
「マクロ = VBAというプログラミング言語で記述された一塊の動作」
です。
したがって、miyacさんの、
「VBAのプログラミング=マクロを組む」
で、おおよそあっています。
また、自分で書いたコードをマクロとして登録することも出来ます。
しかし、Access(2000)での"マクロ"は少しニュアンスが異なります。
Accessの場合は、マクロはいくつかの動作・操作は順に登録しておき、それを自動実行させる、という使い方です。...続きを読む

Qアクセスアプリケーション実行マクロ

アクセスで「アプリケーション実行」マクロを組むとエラーがでて困ってます。
エラー内容は下記の通りです。
【アプリケーションのパスが正しく表示されていないか、アプリケーションのコンポーネント不足しています。】
パスはショートカットのプロパティを開いてリンク先をコピーして貼付してるので合ってると思います。
コンポーネント不足とは何でしょう?

Aベストアンサー

> やはりマクロではできないのでしょうか?
> VBはよくわからないのですが、やってみます。

VBAでなくても、コマンドボタンを押したときに、ワードファイルを表示する
だけなら、プロパティで対応できますよ。

そのかわり、特定のファイルになってしまいますけど。

コマンドボタンのプロパティに、ハイパーリンクアドレスというのが
あると思います。
そこに、ワードファイルのフルパスを入れておけば、そのコマンドボタンを
クリックしたときにファイルが開くはずです。

一度、お試しください。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報