对不起,我们找不到Test.xlsm。它是否可能被移动,重命名或删除?

时间:2015-03-23 04:51:54

标签: c# macros clickonce xlsm

我正在运行C#应用程序的宏代码。我已经使用Properties:

将Test.xlsm文件放在项目本身中

构建行动:内容
复制到输出目录:始终复制。

但是,当我运行代码时,我得到以下异常。

  

抱歉,我们无法找到Test.xlsm。它是否可能被移动,重命名或删除?

我无法提供硬编码路径,因为我必须创建此项目的clickOnce部署。

                // Define your Excel Objects 
            Excel.Application xlApp = new Excel.Application();

            Excel.Workbook xlWorkBook;

           //Start Excel and open the workbook.
            xlWorkBook = xlApp.Workbooks.Open("Test.xlsm");

            // Run the macros by supplying the necessary arguments
            xlApp.Run("Create", pFilePath1, pPath2);

            // Clean-up: Close the workbook
            xlWorkBook.Close(false);

            // Quit the Excel Application
            xlApp.Quit();

1 个答案:

答案 0 :(得分:2)

我找到了解决方案。我在文件名之前添加了Application.StartupPath:

string workbookPath = Application.StartupPath + @"\Test.xlsm";
//~~> Start Excel and open the workbook.
xlWorkBook = xlApp.Workbooks.Open(workbookPath);