[英]Save Excel Workbook in VSTO Addin C#
我编写了一个Excel插件,当按下按钮时,它会更改某些单元格的内容。 现在,我想添加一些功能,以便在进行这些替换后将工作簿保存到新文件中。
这是我的努力,这在某种程度上并不像我想象的那样有效。
这是将文件保存在我的ThisAddIn.cs中的代码:
public static void saveasnewfile()
{
Globals.ThisAddIn.Application.ActiveWorkbook.SaveCopyAs(@"C:\XXXX.XLS");
}
这就是我调用此函数的方式(例如,按下按钮时):
//...
ThisAddIn.saveasnewfile();
//...
现在,当我按下所说的按钮时,我收到此错误消息:
Microsoft Excel无法访问文件'C:\\ XXXX.XLS'。 有几种可能的原因:
•文件名或路径不存在。 •该文件正在被另一个程序使用。 •您要保存的工作簿与当前打开的工作簿具有相同的名称。
这对我来说有点奇怪。 当然文件不存在,因为我要创建它...
那我在这里想念什么?
我想添加功能,以便稍后提示用户输入带有savefiledialog的路径。 所以那里的一些技巧也会有所帮助:)
解:
对于可能偶然发现同一件事的任何人,这是我使用SaveFileDialog
实现它的方式:
var saveDialog = new SaveFileDialog() //create new instance of savefiledialog
{
Title = "Save As", //sets title of dialog box
Filter = "Excel Worbook (*.xlsx)|*.xlsx", //filter for .xlsx files
AddExtension = true, //automatically adds the .xlsx extension
CheckPathExists = true //checks if the given path really exists
}
if (saveDialog.ShowDialog() == DialogResult.OK)
{
Globals.ThisAddIn.Application.ActiveWorkbook.SaveCopyAs(saveDialog.FileName);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.