我正在尝试在Excel VSTO中重写一些VBA代码。
VBA代码如下:
Application.Dialogs(xlDialogSort).Show
当我尝试在VSTO中做同样的事情时,我发现同样的方法需要30个参数!签名是“显示(对象Arg0,对象Arg1等)”
Globals.RiskViewerWorkbook.ThisApplication.Dialogs[XlBuiltInDialog.xlDialogSort].Show(null,null,null,... );
我需要传递哪些值才能进行与VBA代码相同的调用? null不起作用。
我开始写这个问题,然后发现答案,所以我会发布并回答。
答案 0 :(得分:1)
解决方案是将值“missing”作为每个参数传递。
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);