1

我实际上正在使用 Microsoft.Office.Interop.Excel 编写一个程序来创建我需要的特定 excel 文件。这工作正常。

我的程序创建,然后保存并关闭新的 excel 文件(工作正常)。

 sheet.SaveCopyAs(path);
 sheet.Saved = true;
 sheet.Close(true, misValue, misValue);
 excel.Quit();

成功创建新的 Excel 文件后,会打开一个 DialogResult 框并询问我是否要打开新的 Excel 文件

DialogResult dr = MessageBox.Show("Open new file?", "text", MessageBoxButtons.YesNo);
          {
             if (DialogResult == DialogResult.Yes)
             {
                  Process.Start(path);
             }
             else if (DialogResult == DialogResult.No)
             {                          
                   this.Close();
             }

但是当我按 YES 时,什么也没有发生,新文件没有打开。

我在表单上使用了一个额外的按钮进行了尝试

 private void button4_Click(object sender, EventArgs e)
        {
            Process.Start(path);
        }

这种方式有效,但为什么 DialogResult Box 没有打开我的新 Excel 文件?

4

1 回答 1

7

您的对话框结果值存储在 中dr,因此您应该比较dr

DialogResult dr = MessageBox.Show("Open new file?", "text",  
                                  MessageBoxButtons.YesNo);
if (dr == DialogResult.Yes)
{
    Process.Start(path);
}
else if (dr == DialogResult.No)
{                          
     this.Close();
}
于 2018-10-17T12:46:40.690 回答