我正在同时使用vbscript和vba创建一个宏,该宏正在被脚本代码调用并且运行良好,但是当我尝试在宏本身之外选择一个值时,我一直在错误地尝试尝试设置值。
我已将dropdownlist命名为“ Result”,并且当我尝试设置它不起作用时,我还尝试使用默认名称“ DropDownList”,但是这些选项似乎都不起作用,也许我缺少对象参考。
我已经声明了所需的对象
Set objWord = CreateObject("Word.Application")
Set activeDoc= objWord.ActiveDocument
activeDoc.FormFields("Result").DropDown.Value = 2
我现在遇到的错误是“不存在所请求的缩色法。”
我能想到的唯一解决方案是在宏中创建下拉菜单时设置值:
ActiveDocument.Tables(1).Cell(Row: = 4, Column: = 4).Select
Set objCC =
Selection.Range.ContentControls.Add(wdContentControlDropDownList)
With objCC
.Title = "Result"
.Tag = "Result"
.DropdownListEntries.Add("Passed", "Passed").Select
End with
答案 0 :(得分:0)
我把所有事情弄糟了,但是最后我意识到了我的错误。我没有使用标签,因此Item松动,我不得不使用正确的内容控件的索引
Set objCc = activeDoc.ContentControls.Item(5)
Set objLe1 = objCc.DropdownListEntries.Item(1)
objLe1.Select
答案 1 :(得分:0)
非常感谢您的代码,我很难找到做到这一点的方法!
我只添加:
With ThisDocument.tables(blabla).Cell(x,y)
Set objCc = .Range.ContentControls.Item(1)
Set objLe1 = objCc.DropdownListEntries.Item(2)
objLe1.Select
End With
它在我的项目中完美运行!再说一次,再见!!