我想使用Python和Excel对象模型库将验证代码添加到Excel工作簿中的单元格。我的代码如下:
valid = config.optionsSheet.Range('A2').Validation
valid.Delete()
valid.Add(XlDVType.xlValidateList, XlDVAlertStyle.xlValidAlertStop, \
XlFormatConditionOperator.xlBetween, "=R20C4:R21C4", None)
上面的最后一行失败,出现以下错误:感谢任何帮助。
EnvironmentError: System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC
Server stack trace:
at Microsoft.Scripting.ComInterop.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)
at CallSite.Target(Closure , CallSite , Object , Object , Object , Object , String , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute6[T0,T1,T2,T3,T4,T5,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
at CallSite.Target(Closure , CallSite , CodeContext , Object , Object , Object , Object , String , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute7[T0,T1,T2,T3,T4,T5,T6,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)
at Microsoft.Scripting.Interpreter.DynamicInstruction`8.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0 arg0, T1 arg1)
答案 0 :(得分:0)
由于错误的公式,你得到了一个例外。
我建议您手动首先创建数据验证并更正它,直到它开始正常工作,我总是那样做。当手动键入错误的公式时(在使用列表方案的数据验证中),Excel中最常见的消息是:
列表源必须是分隔列表或对单个行或列的引用。
看看这些教程,它们可能会帮助您理解使用Excel中的列表进行验证的概念: