1

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;
            }
        }

前もって感謝します..

4

0 に答える 0