[英]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.