【发布时间】:2014-07-28 03:08:05
【问题描述】:
这行代码有什么问题?
WordDoc.CheckBoxNum.Value = CheckBoxVal
明确地说,我正在使用 ActiveX 控件“复选框”。我将值(真/假)和复选框名称保存在 Excel 文件中。代码打开我的word文档并自动循环检查复选框,设置它们的值。我从 Excel 控制字的事实可能会改变我的对象?
如果它们是表单域...这行得通--
CheckBoxNum = "Check1"
CheckBoxVal = "True"
WordDoc.FormFields(CheckBoxNum).CheckBox.Value = CheckBoxVal
这是我的全部代码
Sub Doit()
Dim WordApp As Object
Dim WordDoc As Object
Dim filepath As String
Dim CheckBoxNum As String
Dim CheckBoxVal As String
Dim i As Integer, k As Integer
'Open Word
filepath = "C:\test.docx"
Set WordApp = CreateObject("word.application")
WordApp.Visible = True
Set WordDoc = WordApp.Documents.Open(filepath)
'Editing
Range("a1").Select 'first value
i = 0
For i = 0 To 6 ' number of rows in table
'get from excel
CheckBoxNum = ActiveCell.Offset(i, k + 1).Value
CheckBoxVal = ActiveCell.Offset(i, k).Value
'put to word
WordDoc.CheckBoxNum.Value = CheckBoxVal '<-- HELP!
Next i
'// CLEAN UP //
WordDoc.Application.ActiveDocument.Save
WordDoc.Close
WordApp.Quit
Set WordDoc = Nothing
Set WordApp = Nothing
End Sub
【问题讨论】:
标签: excel vba checkbox ms-word