OLE オブジェクト (Excel ワークシートに埋め込まれている) であるレポートにアクセスしようとしています。
Microsoft.Interop.Excel API を使用して C# コンソール アプリケーションからこれを実行しようとしています。
ワークシートに存在する OLE オブジェクトを正常に反復処理できます。ただし、 OLEObject インスタンスのObjectプロパティにアクセスしようとすると、COM 例外が発生します。
成功する前にこれを試した人はいますか?サンプルコードで私を助けてください。
次のようにPOCのために試したコード
static void Main(string[] args)
{
string fileName = string.Empty // some excel file path
Application _excelApp = new Application();
_excelApp.AutomationSecurity = MsoAutomationSecurity.msoAutomationSecurityForceDisable;
Workbook workBook = _excelApp.Workbooks.Open(fileName,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
for (int i = 1; i <= workBook.Sheets.Count; i++)
{
var sheet = workBook.Sheets[i] as Worksheet;
try
{
OLEObject obj = sheet.OLEObjects("BReport") as OLEObject;
Console.WriteLine(obj.Name);
Console.WriteLine(obj.Object.ToString());
}
catch
{
continue;
}
}
前もって感謝します..