3

Excel Interopさまざまなマクロの実行を自動化するために を実行する Windows サービスがあります。ただし、 Windows 認証を使用してデータベースにアクセスするマクロを実行しようとすると、特有の問題が発生します...

マクロがWindows Service を介して実行される場合、ワークブックが開かれ、マクロの実行が開始されますが、アプリケーションは (おそらくデータ アクセス部分で) ハングします。

ただし、サービスと同じ実装 (同じクラス ライブラリを呼び出す) を使用して、Visual Studio デバッガーでマクロを実行すると、マクロが実行され、ブックが保存され、期待どおりに閉じられます。

これは偽装と関係があると確信していますが、それを理解できないようです。ユーザーの下で Windows サービスを実行しており、コンポーネント サービスの既定の COM プロパティをImpersonate既定の代わりに変更しましたIdentify

コンソール アプリケーションではなく、Windows サービスとして実行することをお勧めします。

4

1 に答える 1

5

たぶん私は少し遅れていますが、とにかく行きます:

同様の問題があり、 と にフォルダーDesktopを作成して解決しました。C:\Windows\SysWOW64\config\systemprofileC:\Windows\System32\config\systemprofile

Windows サービスで Excel を使用すると、特定のユーザーで実行できないようです。そのため、LocalSystem サービス アカウントで実行され、Excel 相互運用機能と対話するにはデスクトップ フォルダーが必要です。

これ以上の説明はありませんが、私にとってはうまくいき、他の既知の問題は発生しませんでした。決定的な答えを求めてかなり多くのことを検索しましたが、見つけたものはすべて、理由を特定せずに解決策を説明していました.

于 2013-10-07T19:16:30.073 に答える