私は Windows hpcに取り組んでおり、グリッド上でExcelのマクロを実行する小さなプログラムを作成しようとしています。Com Interop API を使用して
います。私のコンピューターでは正常に動作し、さまざまな VBA マクロを実行しますが、グリッドで使用すると動作しなくなります。Open メソッドが正しく機能しません。
workBook = excelApp.Workbooks.Open(path, Type.Missing,false, Type.Missing, Type.Missing, Type.Missing, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
フランス語から翻訳された例外は次のとおりです。
見つかった例外: タイプ: System.Runtime.InteropServices.COMException メッセージ: Microsoft Office Excel はファイルにアクセスできません
\サーバー\パス\test.xls. 複数の可能性があります:
- ファイルの名前またはパスが存在しません
- ファイルは現在、別のプログラムによって使用されています
- 使用しようとしているブックには、既に開いている別のブックと同じ名前があります
出典: マイクロソフト オフィス エクセル
スタックトレース: Microsoft.Office.Interop.Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter で、Object AddToMru、Object Local、Object CorruptLoad) at namespace.ExcelFile.readExcel(Application excelApp) in E:\path\ExcelFile.cs:line 37
アプリケーションで使用されているものと同じアカウントで計算ノードからファイルにアクセスしようとしましたが、正常に動作します。私はそれにアクセスできます。それを使用している他のプログラムはないようで、Excel は開いていません。
編集: Microsoft API (ヘッド ノード) を使用せずに、コンピューティング ノードで小さなアプリケーションを実行することもできます
。