I make VSTO Excel/Word/Powerpoint AddIn.
I want to get selected folder in file menu and set to dialog's InitialFolder.
I have to use [Office.FileDialog] because I have to check where to save documents.
Can I customize Ribbon.xml to solve this problem?
- Windows 10
- Office 2016
- C# .Net Framework 4.5.2
A.Suzuki
void Application_WorkbookBeforeSave(Microsoft.Office.Interop.Excel.Workbook Wb, bool SaveAsUI, ref bool Cancel)
{
Office.FileDialog _dialog = Application.FileDialog[Office.MsoFileDialogType.msoFileDialogSaveAs];
// I want to set selected folder
_dialog.InitialFileName = System.IO.Path.Combine(Directory.GetCurrentDirectory() , Wb.Name);
if (_dialog.Show() != 0)
{
// Todo Some extensions have to change save method
int _index = _dialog.FilterIndex;
// filter can get extension and description
Office.FileDialogFilter _filter = _dialog.Filters.Item(1);
Wb.SaveAs(_dialog.InitialFileName, Excel.XlFileFormat.xlAddIn8);
Wb.SaveAs(_dialog.InitialFileName, Excel.XlFileFormat.xlOpenXMLAddIn);
Wb.SaveAs(_dialog.InitialFileName, Excel.XlFileFormat.xlOpenXMLTemplate);
Wb.SaveAs(_dialog.InitialFileName, Excel.XlFileFormat.xlXMLSpreadsheet);
// usual do execute
_dialog.Execute();
}
}