我想将下拉列表添加到使用c#的范围。C#excel数据验证下拉列表throwserror
这是我迄今为止所做的。
Worksheet ws = PPTAddIn.thisAddin2Obj.Application.ActiveWorkbook.ActiveSheet;
ws.get_Range("a1").Validation.Delete();
ws.get_Range("a1").Validation.InCellDropdown = true;
ws.get_Range("a1").Validation.IgnoreBlank = true;
ws.get_Range("a1").Validation.Add(XlDVType.xlValidateList, XlDVAlertStyle.xlValidAlertWarning, "opt1,opt2,opt3", Missing.Value);
在它下面抛出异常
从HRESULT异常代码第三行:0x800A03EC
这是堆栈跟踪
在System.RuntimeType.ForwardCallToInvokeMember(字符串成员名称,的BindingFlags标记,对象目标,Int32 [] aWrapperTypes,MessageData & msgData) at Microsoft.Office.Interop.Excel.Validation.set_InCellDropdown(Boolean) at MS.ProductionPlanningTool.Excel.Ribbon_PPT.ribbon_signin_Click(Object sender,RibbonControlEventArgs e)in D:\ MidasCloud \ CloudTFS \ ProductionPlanning \ MSP2 \ MS.ProductionPlanningTool.Excel \ UI \ Ribbon_PPT.cs:line 1328 at Microsoft.Office。 Tools.Ribbon.RibbonPropertyStorage.ControlActionRaise(IRibbonControl control) at Microsoft.Office.Tools.Ribbon.RibbonPropertyStorage.ButtonClickCallback(RibbonComponentImpl component,Object [] args) at Microsoft.Office.Tools.Ribbon.RibbonManagerImpl.Invoke(RibbonComponentCallback callback,对象[] args) at Microsoft.Office.Tools.Ribbon.RibbonMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object [] parameters,CultureInfo culture) at Microsoft.Office.Tools.Ribbon.RibbonManagerImpl.System。 Reflection.IReflect.InvokeMember(String name,BindingFlags invokeAtt r,Binder binder,Object target,Object [] args,ParameterModifier []修饰符,CultureInfo culture,String [] namedParameters)
我不能现在检查,如果这是正确的,但对如何获得VBA代码作为指导建议+1。 OP,许多VBA开发人员为我们已经忘记的对象模型的一部分做了这些工作。这是一个体面的起点修正... – MacroMarc
我试过......但它仍然是相同的...... –
@CharithLankathilake,看到我编辑的信息。 – TnTinMn