【问题标题】:Showing xlworkbook saving dialog while closing suggesting name在关闭建议名称时显示 xlworkbook 保存对话框
【发布时间】:2018-01-10 09:45:41
【问题描述】:

我有一个项目,在我的程序中打开一个名为 Template.xlsx 的 excel 文件并在其中进行一些更新,然后当我运行这行代码时

xlWorkBook.Close(true, Type.Missing, Type.Missing);

我得到了另存为对话框,这很好,但问题出在名称字段中,我得到“Template.xlsx 的副本”。我不想要那个。我想用例如“Order25.xlsx”填充该字段。是否可以?

【问题讨论】:

  • ...您是在问如何使用 VBA 以新名称保存工作簿,对吗?
  • 好吧,它在 c# 中我的应用程序会打开一个作为用户模板的 excel 文件。并填写信息,然后在完成后使用该行代码关闭工作簿。我想在关闭之前显示保存对话框并为保存文件填写自定义名称。
  • 你可以试试xlWorkBook.SaveAs(*path*),虽然它需要你知道你保存的路径,例如xlWorkBook.SaveAs(@"C:\temp\Order25.xlsx")
  • @SaeedAsgari,您可以手动制作,但如果您认为应该根据数据库中的最后一本书名制作,您应该使用姓氏并解析它的名称并增加该数字。

标签: c# excel filenames excel-interop save-as


【解决方案1】:

根据 cmets 中的建议,这是使用SaveFileDialog 的可能解决方案(您需要using System.Windows.Forms):

SaveFileDialog saveFileDialog1 = new SaveFileDialog();  
saveFileDialog1.Filter = "Excel|*.xls|Excel 2010|*.xlsx";;  
saveFileDialog1.Title = "Save the Excel File";
saveFileDialog1.FileName = "Order25.xlsx";

if(saveFileDialog1.ShowDialog() == DialogResult.OK)
{
    xlWorkBook.SaveAs(saveFileDialog1.FileName);
} 

因为我不在电脑附近,所以我还没有测试过,所以如果它不起作用,请告诉我。

【讨论】:

  • 是的,我就是这么做的。回来把它作为答案,但你已经做出了答案。所以我将其标记为已解决。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-02
  • 1970-01-01
相关资源
最近更新 更多