VSTO-如何在菜单中选择文件夹?

问题描述

我制作VSTO Excel / Word / Powerpoint插件

我想在文件菜单中选择文件夹并将其设置为对话框的InitialFolder。

我必须使用[Office.FileDialog],因为我必须检查保存文档的位置。

我可以自定义Ribbon.xml来解决此问题吗?

  • Windows 10
  • Office 2016
  • C#.Net Framework 4.5.2

铃木A

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)