システムwiki

アクセスVBAへCreateObject関数

johnsha 受付中 最終更新日:2021-06-14 06:20

私のワークグループが毎日使用するアクセスApplicationがあります.コードに埋め込まれた関数の1つは、VBAコードを含むExcelワークブックを開きます.機能はCreateObject( "Application.excel")です.失敗しました.エラーメッセージは読み込まれます.run-time error
'-2147024156(800702E4)':オートメーションエラー要求された操作には標高が必要です

返信リスト(回答:1)

1 #
DanielP

標高は権限と関係があります.これは1人のユーザーまたはすべてのユーザーに対して起こりますか? 1機またはすべてのマシン?ユーザーは手動でExcelを起動できますか? ExcelファイルをダブルクリックしてExcelを開くことができますか?

Outlookの問題に対処するために作成したのと同じ手法を試してみることができます. https://www.devhut.net/2014/10/31/createObjectoutlook-application-does-not-work-now-what/

私は迅速なテストを実行しました、あなたはまだリンクから2つの他の関数を必要としていますが、Excelの作品を起動するためのこの修正されたversionはそれを試してみて、それはあなたの現在の頭痛を解決するでしょう.

'


'手続き:StartExcel
'著者:ダニエルピンアート、カルディアコンサルタント株式会社
'ウェブサイト: リンク:M.
'目的:それがまだ起動されていない場合、Excelが起動できる方法のデモンストレーション
'そしてそれを使って自動化を実行するためにインスタンスにバインドする
'著作権:次のことは帰属としてのリリース-ShareAlike 4.0国際
'(CC BY-SA 4.0)- リンク:4
'Refs:None None Reque、Req getShortPathName宣言

'使用法:
'~~~~~~


'改訂履歴:
'Rev Date(YYYY/MM/DD)説明
'1 2018-05-21フォーラム質問に役立つ初期リリース
'
関数startexcel()
Error goto error_handler
薄暗いoExcel
String

としてのDIM SAPPPATH

isapeplning( "Excel.Application")= trueの場合、 'Outlookは既に実行されていました. oexcel= getObject(、excel.application ") 'を設定するOutlookの既存のインスタンスへのバインド
それ以外の場合はOutlookのインスタンスを取得できませんでしたので、新しいものを作成する
sapppath= getAppexepath( "Excel.exe") 'Outlookのインストールパスを決定する
シェル(sapppath) 'Outlookを起動する
isapeplanningではない間はしばらくしてください( "Excel.Application")
行動
ループ
oexcel= getObject(、excel.application ") 'を設定するOutlookの既存のインスタンスへのバインド

の場合は終わります

oexcel.visible= true

error_handler_exit:
次の
set oexcel= nothing
出口関数

error_handler:
msgbox "次のエラーが発生しました"&vbcrlf&vbcrlf&_
"エラー番号:"&err.number&vbcrlf&_
"エラー出典:startexcel"&vbcrlf&_
"エラー説明:"&err.description _
、vbokonly + vbcritical、 "エラーが発生しました!"
RESUME ERROR_HANDLER_EXIT
終了関数