
お世話になります。
PLC/TakebishiDeviceXPlorer/PC(ExcelVBA)で、生産設備のモニタリング&分析を行うべく作業を進めています。
その中で『メインBookから別インスタンスでモニタBookをマクロ有効で開く』に関し、ネットの情報を頼りにvbsで実現する事は出来ましたが、vbsで下記エラーが発生しています。
(呼出側/起動Open側共に、問題なく次の動作に入り正常に動作しています。)
▲発生エラー
:未知の実行時エラーです。/コード:800A9C68/ソース:MicrosoftVBScrip・・・
●メイン側呼出コード
'---引数
Dim arg_str10 As String '---Exle FullPathName
Dim arg_str20 As String '---Exle ModName
Dim arg_str21 As String '---Exle ProcName
temp1 = objMySheet.Range("D9") ’---起動するモニタBook保存先
temp2 = objMySheet.Range("D10") '---起動するBook名
arg_str10 = temp1 & "\" & temp2
arg_str20 = objMySheet.Range("D13")
arg_str21 = objMySheet.Range("D14")
vbsRslt = "開始": objMySheet.Range("D15") = vbsRslt
'---vbs起動
vbsRslt = Shell("WScript.exe """ & vbsFullPathName & """" _
& " " & arg_str10 & " " & arg_str20 & " " & arg_str21)
’---結果(実行OK_64[タスクID]5584)
objMySheet.Range("D15") = "実行OK_" & vbInformation & "[タスクID]" & vbsRslt
※マクロ直接起動です。BookOpenEventは使用していません。
■VBS
Option Explicit
DIM Prms
Set Prms = WScript.Arguments
DIM tgtExcelFullPName,tgtModule,tgtProc,tgtMacro
tgtExcelFullPName= Prms(0)
tgtModule=Prms(1)
tgtProc=Prms(2)
tgtMacro=tgtModule & "." & tgtProc
DIM objExcelApp,objWbk
Set objExcelApp= CreateObject("Excel.Application")
objExcelApp.EnableEvents=False
Set objWbk= objExcelApp.Workbooks.Open(tgtExcelFullPName,False,True)
objExcelApp.Visible = True
objExcelApp.Run"'" & objWbk.Name & "'!" & tgtMacro ←▲エラー発生行
objExcelApp.EnableEvents=false
Set objWbk=Nothing
Set objExcelApp=Nothing
今後も機能を追加し仕組みが大きくなって行く事から、将来的にこのエラーが原因となり
仕組みの再構築等の事態になる事があるのかを確認しておきたいです。
ネットで「800A9C68」を検索してみましたが、英文のみで・・・・
教えてください。
1)エラーの意味合いは?
2)発生の原因と対処法は?
No.2ベストアンサー
- 回答日時:
1) は、月次で、VBSから、VBAが実行できなかったというだけのエラーだと思います。
2)試しにこちら(○)に変えてみてください。
理屈は、マクロのセキュリティを騙すように、自分の配下から呼び出すという方法です。
'objExcelApp.Run"'" & objWbk.Name & "'!" & tgtMacro ←▲エラー発生行
objWbk.Application.Run tgtMacro '←○
他に問題があるのかどうかは、まだ見ていません。
早速の回答ありがとうございました。
2)objWbk.Application.Run tgtMacro '←○
objExcelApp.Run"'" & objWbk.Name & "'!" & tgtMacro ←×
『○』にてエラー無しに起動できました。
理屈に関しては??ですが
⇒もう少し勉強したく、参照先等有りましたら教えてください。
1)月次で、VBSから、VBAが実行できなかったというだけのエラーだと思います。
(1)「月次で、」は何でしょうか?
(2)VBSから別インスタンスのエクセルを開き、そのVBAコードは
実行できています、(但しVBSエラーが出る。)
「VBAが実行できなかった」とはちょっと違うかなと?
(800A9C68は、余計なお世話エラー?)
No.3
- 回答日時:
>(1)「月次で、」は何でしょうか?
要するに、VBA単独でしたら、すぐ分かる、「○○のためにマクロが実行できません」というエラーメッセージ付きのエラーも、VBS を通すと、その内容がなくなって、エラーコードだけになってしまうものではないか、と考えました。
>2)VBSから別インスタンスのエクセルを開き、そのVBAコードは
> 実行できています、(但しVBSエラーが出る。)◆
> 「VBAが実行できなかった」とはちょっと違うかなと?
しかし、これはあくまでも推理だけで、実際は、Excel側からは確認できない、VBS の Unknown Error だから証明のしようがありません。
1)で書いたものは、一例ですが、そのエラー[◆]は、本当は、VBSからのものではなく、Excelのマクロからのでもなく、Excel本体からの何らかのメッセージだと思ったのです。
最近、私の別の質問の回答の中で、私の公開したマクロに、Excelのセキュリティの警告がでると言われて、エラーコードは違いますが、800... と似たコードで、同類のエラーで悩まされました。私の通常のPCでは発生しません。このVBSのコードを試してみた時に、その類の警告がコードとなって現れたのではないか、と思いました。だから「実行できなかった」というように捉えました。実際はそうではなかったようですが。
もし、それが正しければ、objExcelApp.DisplayAlerts = False で抑え込めるはずではあるけれども、そんな無茶なことはできませんね。
それで、経験的なことですが、Excel VBAだけの特徴で、オートメーション・オブジェクトとしてインスタンスが生成された時に、標準モジュールとオブジェクトモジュール(ThisWorkbookモジュールなど)と分離してしまう現象があります。だから、一旦、そのマクロは、分離したものではなく、自分の配下であるとして実行してやらなくてはならない、そういうところにあるのではないか、と考えました。(*)
英語の掲示板をざっと見ましたが、結果的には解決していても、どうも解決の手順や理屈は分かりません。
また、私の記憶にある解決方法は、Run を使わないで、別にあったような気がしてなりません。記憶違いかもしれません。*
結果オーライだから、深くは追求するつもりはありませんが。
ありがとうございました。
自分にとっては、理屈についてはやはり難しですね
VBS/ブック/マクロ指定起動の
「結果オーライツールコード」として捉える事にします。

No.1
- 回答日時:
>メインBookから別インスタンスでモニタBookをマクロ有効で開く
「Excel から 別インスタンスで Excel を開く」ということは普通に出来ますけど、
何か不都合でもありましたか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) エラー処理 3 2022/04/11 14:58
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
このQ&Aを見た人はこんなQ&Aも見ています
-
バッチファイルからVBA実行でエラー
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
VBS Bookを閉じるコード
Visual Basic(VBA)
-
-
4
VBSからエクセルのマクロを起動するがうまく動作しない
Excel(エクセル)
-
5
vbsからのExcelマクロ呼び出しの際に保存ダイアログが表示されてしまう
その他(プログラミング・Web制作)
-
6
VBscriptが起動しない?
Microsoft ASP
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
9
バックグラウンドのプロセスのエクセルを閉じる方法
Visual Basic(VBA)
-
10
VBscriptでEXCELを起動
その他(プログラミング・Web制作)
-
11
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
12
バッチファイルファイル→VBS→エクセル マクロを有効にして起動
Excel(エクセル)
-
13
エクセルでファイルを閉じても空ウィンドウが残ります
Excel(エクセル)
-
14
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
15
VBS実行時エラー オブジェクトがありません 回避方法について
Visual Basic(VBA)
-
16
別インスタンスのエクセルを制御したい
Excel(エクセル)
-
17
《エクセルVBA》「他の人が該当ファイルを使用中の場合」の処理
Excel(エクセル)
-
18
VBSでエクセル内の行数を取得する方法
その他(プログラミング・Web制作)
-
19
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
20
NASに移したBATファイルからセキュリティ警告がでる
セキュリティソフト
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel2019 非表示モジュール内...
-
cygwin の文字コードについて
-
Accessのエラーについての質問です
-
VBA+VBSによる別インスタンスB...
-
エクセルに埋め込んだPDFの実行...
-
アプリケーションエラー
-
iexplore.exeでハンドルされて...
-
アプリケーションでサーバー エ...
-
コンパイルエラー『名前付き引...
-
ワードで実行時エラー 424 オ...
-
遠隔地にあるパソコンのオフィ...
-
Windows2000でアップデート時に...
-
エラー1402キー
-
ステートメントの末尾が不正です
-
LinuxのFedora31のdnfdragoraに...
-
RからX11がうまく呼び出せてい...
-
"echo off"の動きをLinuxのシェ...
-
ワードかエクセルで、KOKU...
-
エクセル宛名ラベルが重複する
-
一点一葉とはどんな意味ですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel2019 非表示モジュール内...
-
VBA+VBSによる別インスタンスB...
-
Apache2.4の起動でエラー
-
"echo off"の動きをLinuxのシェ...
-
エクセルに埋め込んだPDFの実行...
-
ステートメントの末尾が不正です
-
イベントプロパティに指定した...
-
Linux再起動後のエラーメッセー...
-
VBA オートメーションエラー(...
-
「パラメータが無効のため、処...
-
遠隔地にあるパソコンのオフィ...
-
(Windows7)VB6でODBC接続エラー
-
[ マクロ ] エラーになったり...
-
ペイントで取り込んだ画像のサ...
-
OUTLOOKが起動しない
-
実行時エラー429の解決方法につ...
-
UNIXデータ展開時のエラーメッ...
-
UNIX(Solaris)でのtarファイル...
-
コンパイルエラー『名前付き引...
-
ACCESS 「COMDLG32.OCXのエラー」
おすすめ情報