2009-06-26 4 views
2

Я пытаюсь переписать код VBA в Excel VSTO.Окно сортировки Excel VSTO C#

УВА код выглядит следующим образом:

Application.Dialogs(xlDialogSort).Show 

Когда я пытаюсь сделать то же самое в VSTO Я считаю, что тот же самый метод требует 30 аргументов! Подпись «Show (объект arg0, объект arg1, и т.д.)»

Globals.RiskViewerWorkbook.ThisApplication.Dialogs[XlBuiltInDialog.xlDialogSort].Show(null,null,null,...); 

Какие ценности мне нужно пройти, чтобы сделать тот же вызов, как код VBA использует? null не работает.

Я начал писать этот вопрос, а затем обнаружил ответ, чтобы опубликовать его и ответить.

ответ

1

Решение должно было передать значение «отсутствует» в качестве каждого из аргументов.

http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.displaydrawingobjects(VS.80).aspx

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); 
+0

Если собирается использовать такие методы, как этого много, некоторые варианты включают рефакторинг вызова на другой метод, который принимает только те параметры, необходимые, или используя библиотеку расширений (не полезна для всех таких методов). –

Смежные вопросы