Access (VBA)

Access VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
Accessファイルを開く時の.EnableEvents のようなメソッドは
投稿日時: 20/05/17 12:37:20
投稿者: tarima

Accessファイルを起動時設定無効で開きたいです。
 
Excelファイルと同様に「.EnableEvents = False」と記述した場合、エラーになります。
    オブジェクトでサポートされていないプロパティまたはメソッドです。'EnableEvents'
Accessファイルを開く時の.EnableEvents のようなメソッドを教えて頂けないでしょうか。

回答
投稿日時: 20/05/20 01:31:10
投稿者: exvatpc

MDBを開くときに、[Shift]キーを押しながら起動すると、マクロは動作しないまま起動させることはできますよ。

投稿日時: 20/05/20 10:11:02
投稿者: tarima

質問の言葉が足りず失礼いたしました。手動で開く時の操作は大丈夫です。
vbsファイルで開く時のコードを教えてください。
起動時表示フォームが設定されていたり、AutoexecマクロのあるAccessファイルをそれらの起動時設定を無効で開く方法を知りたいです。Excelでは、.EnableEvents = Falseで、起動時設定無効で開けるので、同様にして試したのですが、エラーです。
 
Set Acc = CreateObject("Access.Application")
With Acc
.Visible = True
.UserControl = True
'.EnableEvents = False ←ここを何と書けばよいのか知りたいです。
.OpenCurrentDatabase "Accessファイルフルパス"
End With

回答
投稿日時: 20/05/20 18:31:05
投稿者: exvatpc

それでは、以下のページにも同様な質問を見つけましたが、この方法はどうでしょう。
 
アクセス イベントの発生を停止させたい
https://qa.itmedia.co.jp/qa8648658.html

回答
投稿日時: 20/05/28 14:14:01
投稿者: hatena
投稿者のウェブサイトに移動

> Accessファイルを起動時設定無効で開きたいです。
 
起動時設定は、イベントプロシージャではないので[Shift]キーを押しながら起動する以外の方法では基本的には無理です。
 
アクセス イベントの発生を停止させたい
https://qa.itmedia.co.jp/qa8648658.html
もイベントを無効にする方法で、起動時設定を無効にする方法ではないです。
 
> Excelでは、.EnableEvents = Falseで、起動時設定無効で開けるので、
 
そもそも、Excelに起動時設定って、ないでよすね。
.EnableEvents = False で Workbooks.Open のイベントはキャンセルできますけど。
 
 
 
 
 

回答
投稿日時: 20/05/31 08:24:43
投稿者: 検非違使

Shihtキーを押しながらOpenCurrentDatabaseすればよいようです。
 
詳細はこちらのURLより
http://blogwizhook.blog.fc2.com/blog-entry-151.html

回答
投稿日時: 20/05/31 09:52:18
投稿者: hatena
投稿者のウェブサイトに移動

NoLookUp さんの引用:
Shihtキーを押しながらOpenCurrentDatabaseすればよいようです。
 
詳細はこちらのURLより
http://blogwizhook.blog.fc2.com/blog-entry-151.html

 
APIを使ってShiftキーを押したことにして起動するということですね。
それも考えたのですが、
VBAなら、Declare でAPIを呼び出せますが、VBSだとそれはできないので、難しいのではと思ってました。
 
ちょっと調べてみたら、Excel経由で呼び出す方法はあるみたいですね。
 
VBScriptでWindowsAPIを使用する方法 | VBA(マクロ)で仕事を楽しく効率化
http://officevba.info/vbscript-windowsapi/

回答
投稿日時: 20/05/31 10:18:52
投稿者: 検非違使

あ、そうですね。
VBSという単語を見逃していました。

回答
投稿日時: 20/05/31 10:50:31
投稿者: 検非違使

そうすると、
元のAccessでAutoexecをいじれることが可能でしたら、
VBSでダミーファイルを作成し
Autoexecでそのファイルの存在を検知したら
以降のAutoexec動作を停止させるというのを考えてみました。
 
当方で考えられるのはそのくらいです。

トピックに返信