Microsoft 製品に組み込まれている Visual Basic の実装。
藤田 香 様
お世話になります。
ご返信ありがとうございます。
>今回のご質問内容であれば、開発者の方々が多く利用されている MSDN フォーラムの VBA のカテゴリに投稿してみるとアドバイスや関連情報が寄せられやすくなると思います。
承知しました、上記フォーラムの方でも
ご質問させて頂きたいと思います。
また、何かありましたら
ご質問させて頂きます。
以上、宜しくお願いいたします。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
【事象】
特定のOS・実行環境において、
C#アプリケーション(デスクトップ)からExcel内部のVBAを実行した際に
エラーとなる場合がある。
<事象1>
上記事象において、VBAを実行時
C#アプリケーション側で以下のエラーが出力される。
エラーコード:0x800706BA
エラーメッセージ:RPC サーバーを利用できませんでした。
→VBA側ではエラー出力がされませんでした
(Err.Number、Err.Description による出力)。
<事象2>
上記事象において、VBAを実行時
VBA側で以下のエラーが出力される。
Err.Number:1004
Err.Description:Window クラスの FreezePanes プロパティを設定できません。
○処理概要
C#からのVBA呼び出しは、以下の関数を使用しています。
https://docs.microsoft.com/ja-jp/dotnet/api/system.type.invokemember?view=netframework-4.7.2
VBA側の処理をデバッグ実行しても、エラーとなる箇所が不定。
デバッグ実行せず、普通に流すとエラーになっても、デバッグで
ステップ実行するとエラーにならず処理が通ってしまうなど。
事象1、事象2とあるように、Excelの状態によって
エラー内容が変化しているのかも掴めておりません。
【システム要件】
各システム要件は以下の通りです。
〇VBA起動側アプリケーション
言語:C#(3.0)
フレームワーク:.Net FrameWork 3.5
開発環境:Visual Studio 2008
ターゲット・プラットフォーム:x86
〇Excel・実行OS環境
Excel保存ファイル形式:xls(Excel97-2003ブック)
・動作OK環境
動作実施Excelバージョン:Excel 2013 MSO(15.0.5111.1000) 32bit
OS:Windows 7 Pro 32bit
OS バージョン:6.1
OS ビルドバージョン:7601
・動作NG環境
動作実施Excelバージョン:Excel 2016 MSO(16.0.9126.2259) 64bit
OS:Windows 10 Pro 64bit
OS バージョン:1709
OS ビルドバージョン:16299.rs3_release.170928-1534
【検証事項】
・"Windowsで通常使うプリンターを管理する"の設定をOFF
https://cross.tokyo/2016/11/11/post-1363/
→ 同類の障害らしきものとみて実施するも、動作検証NG
・EXCEL・VBAソースにログ出力用の処理を記載
EXCEL単独起動・実行、アプリケーションからの起動・実行が確認出来ている
OS・環境下で、エラーとなっているVBAにログ出力を行う処理を追記。
具体的には以下のような記載を挿入して実施。
テキストファイルへのログ出力
------ プログラム記載・例 ------
Public objFso As Object
Public TextFile As Object
Set objFso = CreateObject("Scripting.FileSystemObject")
Set TextFile = objFso.OpenTextFile(ThisWorkbook.Path & "\test.log", 8)
TextFile.WriteLine Now & vbTab & "××処理 開始"
→ 動作検証OK
検証用のログを挿入したのみで、現象が発生しなくなってしまった。
特定のOS環境で発生しており、またエラーに関しても上記の通り、
不定な部分、直接的な影響の無さそうな処理を入れることによって
事象が発生しなくなるなど、不安定なものとなっています。
長文になりましたが、
同類の障害として、思い当たる事象、解決方法などがありましたら
ご教授頂きたいです。
どうぞ、宜しくお願いいたします。
Microsoft 製品に組み込まれている Visual Basic の実装。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
藤田 香 様
お世話になります。
ご返信ありがとうございます。
>今回のご質問内容であれば、開発者の方々が多く利用されている MSDN フォーラムの VBA のカテゴリに投稿してみるとアドバイスや関連情報が寄せられやすくなると思います。
承知しました、上記フォーラムの方でも
ご質問させて頂きたいと思います。
また、何かありましたら
ご質問させて頂きます。
以上、宜しくお願いいたします。
哲史堀内 さん、こんにちは。
マイクロソフト コミュニティをご利用いただき、ありがとうございます。
何か参考になるような情報がないかお調べしたのですが、ご紹介できそうな有力な情報が見つかりませんでした。
VBA が関連するような場合、一般向けのこのマイクロソフト コミュニティでは該当するカテゴリがないため、情報が集まりにくいかもしれません。
今回のご質問内容であれば、開発者の方々が多く利用されている MSDN フォーラムの VBA のカテゴリに投稿してみるとアドバイスや関連情報が寄せられやすくなると思います。
◆MSDNフォーラム - Visual Basic for Application(VBA)
よければそちらを利用してみてくださいね。