Я пытаюсь переписать код VBA в Excel VSTO.
Код VBA выглядит следующим образом:
Application.Dialogs(xlDialogSort).Show
Когда я пытаюсь сделать то же самое в VSTO, я обнаружил, что одному и тому же методу нужны 30 аргументов! Подпись - "Показать (объект Arg0, объект Arg1 и т.д.)"
Globals.RiskViewerWorkbook.ThisApplication.Dialogs[XlBuiltInDialog.xlDialogSort].Show(null,null,null,... );
Какие значения мне нужно передать, чтобы сделать тот же вызов, что и код VBA? null не работает.
Я начал писать этот вопрос, а затем обнаружил ответ, чтобы опубликовать его и ответить.
Решение заключалось в том, чтобы передать значение "отсутствует" в качестве каждого из аргументов.
this.Application.Dialogs[Excel.XlBuiltInDialog.xlDialogSort].Show(
missing, missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing);