Excel VSTO排序对话框C#

时间:2009-06-26 14:13:43

标签: vsto c# .net excel excel-vba vba

我正在尝试在Excel VSTO中重写一些VBA代码。

VBA代码如下:

Application.Dialogs(xlDialogSort).Show

当我尝试在VSTO中做同样的事情时,我发现同样的方法需要30个参数!签名是“显示(对象Arg0,对象Arg1等)”

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

我需要传递哪些值才能进行与VBA代码相同的调用? null不起作用。

我开始写这个问题,然后发现答案,所以我会发布并回答。

1 个答案:

答案 0 :(得分:1)

解决方案是将值“missing”作为每个参数传递。

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