1

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();
    }
}

file menu image

derloopkat
  • 6,232
  • 16
  • 38
  • 45

0 Answers0