首页 > 解决方案 > CS0117 Form1 不包含应用程序的定义。(Windows 工作室 2019)

问题描述

我正在尝试关闭 Excel 工作簿,但我得到 CS0117 错误“类型”不包含“应用程序”上的“标识符”的定义我使用的代码在“btnExcelClose_Click”中如下所示

    private void btnExcelClose_Click(object sender, EventArgs e)
    {
        //Set the file name
        object fileName = "FoodPantry.xlsx";
        //Get the file
        Excel.Workbook workbook = Form1.Application.Workbooks.get_Item(fileName);
        //Close the workbook
        workbook.Close(false);
    }

   private void btExcelOpen_Click(object sender, EventArgs e)
    {

        // Get fully qualified path for xlsx file
        string excelWB = (@"C:\Users\User-123\Documents\Food Pantry\Working Backups\FoodPantry.xlsx");

        var exApp = new Microsoft.Office.Interop.Excel.Application();
        var exWbk = exApp.Workbooks.Open(excelWB);
        exApp.Visible = true;

    }

标签: c#.net

解决方案


试试这个:将 exApp 声明为 Form 的全局变量。

Microsoft.Office.Interop.Excel.Application exApp;

private void btExcelOpen_Click(object sender, EventArgs e)
        {
            // Get fully qualified path for xlsx file
            string excelWB = (@"D:\sts_device.xlsx");

            exApp = new Microsoft.Office.Interop.Excel.Application(); 
            var exWbk = exApp.Workbooks.Open(excelWB);
            exApp.Visible = true;
        }
private void  btnExcelClose_Click(object sender, EventArgs e)
        {   
            exApp.Workbooks.Close();
        }

推荐阅读