【发布时间】:2017-02-12 16:06:40
【问题描述】:
我的 VBA 会根据条件动态写入多个表,并且运行良好。
例如这里是添加一行,格式化它并前进到下一行。
oDoc.Tables(t).Rows.Add 'add a row below control number
oDoc.Tables(t).Rows(i).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
oDoc.Tables(t).Rows(i).Shading.BackgroundPatternColor = oTableHeaderColor
i = i + 1 'advance to row below control number row.
oDoc.Tables(t).Cell(i, 2).Range.Text = "Check Definition"
我这样做是因为我只是不知道任何给定表有多少行 - 所以我根据需要创建行,可能很笨拙但它有效。
我需要做的是在带有这样文本的行中添加一个可勾选的复选框。
计划:☐
我尝试了几种似乎不起作用的方法。据我所知,这是因为我没有创建表格然后选择它。我试过录制一个宏,它只显示了关于选择的部分。
这是我得到的,它会弹出一个错误。
oDoc.Tables(t).Cell(i, 2).Range.Text = "Planned: " & oDoc.Tables(t).Cell(i, 1).Range.ContentControls.Add(wdContentControlCheckBox)
我得到“请求的集合成员不存在。
如果我尝试将它放在两行上,它只会覆盖单元格 1。使用复选框,我似乎无法先将其定位到单元格的末尾。有任何想法吗?我已经尝试过 insertbefore 并且可行,但我必须在同一个单元格中插入几个复选框。
有什么想法吗? 谢谢。
【问题讨论】: