Excelvalidation。添加不能从MS Word VBA工作

我有一个MS Word文档生成一个Excel填充Word文档中的表中的数据。 Word表格的Excel版本旨在成为一个清单。 因此,我试图添加function到生成的Excel中,使其更有用。 我尝试添加条件格式(如果行标记为完成,则使行成为绿色)和validation(因此“已完成”列的下拉列表为“是”或“否”)。 我可以让这两个工作在Excel中,但无法从Word中获得VBA添加到生成的Excel的function。

在这两种情况下.Add方法似乎是造成这个问题。 我已经尝试了2种语法来做到这一点:

With objNewExcel.Sheets(1).Range("e5").Validation .Add Type:=xlValidateWholeNumber, _ AlertStyle:= xlValidAlertStop, _ Operator:=xlBetween, _ Formula1:="5", _ Formula2:="10" .InputTitle = "Integers" .ErrorTitle = "Integers" .InputMessage = "Enter an integer from five to ten" .ErrorMessage = "You must enter a number from five to ten" End With 

返回错误“Excel运行时错误”1004“应用程序定义或对象定义的错误”,这是没有用的

 objNewExcel.Sheets(1).Range("e5").Validation.Add(xlValidateWholeNumber, xlValidAlertStop, xlBetween, "5", "10") 

返回错误“Expected:=”。 当我将validation设置为一个var它给我一个types错过匹配错误。 我将var作为对象进行了DIM。

我无法从MS Word VBA中获得工作。 有谁知道如何从Word VBA中引用Excel .Add方法?

在朋友的帮助下,我能够修改第二个语法来工作。

使用:

 objNewExcel.Sheets(1).Range("e5").Validation.Add (xlValidateWholeNumber, xlValidAlertStop, xlBetween, "5", "10") 

Word VBA期望返回值。 如果您将“调用”添加到行的开头或从.Add方法中删除“(”和“)”,VBA知道没有返回并且它工作。

工作语法的:

 objNewExcel.Sheets(1).Range("e5").Validation.Add xlValidateWholeNumber, xlValidAlertStop, xlBetween, "5", "10" 

 Call objNewExcel.Sheets(1).Range("e5").Validation.Add (xlValidateWholeNumber, xlValidAlertStop, xlBetween, "5", "10")