質問: 32813 then resume next end if on error goto 0
回答: すこしだけ判ったっぽいかも。 テスト条件 excel2010 参照設定 visual basic for applications microsoft excel 14.0 object library ole automation microsoft visual basic for applications extensibirity 5.3 microsoft office 14.0 object library (access にはまだ入れていません) excelの設定 ファイル→オプション→セキュリティセンター→マクロの設定から vba プロジェクト オブジェクト モデルへのアクセスを信頼する にチェックを入れて置きます。 sub reflist() '要参照設定 microsoft visual basic for application extensibility x.x dim ref as reference for each ref in application.vbe.activevbproject.references debug.print ref.name debug.print ref.guid debug.print ref.major debug.print ref.minor debug.print "--------------" next set ref = nothing end sub これでイミディエイトウィンドウに設定のリストが出力されます。 microsoft access14.0 object library に参照設定のチェックを入れて 行うと access {4affc9a0-5f99-101b-af4e-00aa003f0f07} 9 0 が得られますので sub refset() dim ref as reference with application.vbe.activevbproject.references set ref = .addfromguid("{4affc9a0-5f99-101b-af4e-00aa003f0f07}", 9, 0) set ref = nothing end with end sub のような事をするとaccessに参照設定できました。 reference オブジェクトは、accessにもありますのでvbe?を指定してあげないと うまく行かないようです。(ちょっと怪しい解説) 少し思うのは、参照設定をvbaで自動的に行うよりも 参照設定を行っておいて開発し、出来上がったら参照設定を外して createobject("access.application") で実行時バインディングにして 細々とした修正を行った方が良いように感じます。