【发布时间】:2014-02-05 18:53:40
【问题描述】:
我正在使用 Access 打开 Word 文档并使用 Access 中的数据填充 Word 中的一些字段。这是代码(到目前为止一切正常):
Private Sub cmdPopulateWord_Click()
Dim appWord As Word.Application
Dim doc As Word.Document
Dim TestProspCode As String
On Error Resume Next
Err.Clear
Set appWord = GetObject(, "Word.Application")
If Err.Number <> 0 Then
Set appWord = New Word.Application
End If
Set doc = appWord.Documents.Open("H:\Populate Word Document from Access.docx", , True)
With doc
.FormFields("wtxID").Result = Me!ID
.FormFields("wtxFirstName").Result = Me!FirstName
.FormFields("wtxLastName").Result = Me!LastName
.FormFields("wtxDoB").Result = Me!DateOfBirth
.FormFields("wtxProspCode").Result = Forms!tblWordDoc!tblProspCode_sub!ProspectusCode
.FormFields("wtxCourse").Result = Forms!tblWordDoc!tblProspCode_sub!Course
.Visible = True
.Activate
End With
Set doc = Nothing
Set appWord = Nothing
Exit Sub
errHandler:
MsgBox Err.Number & ": " & Err.Description
End Sub
我正在尝试查看如何更改已在上述代码中引用的同一 Word 文档中的形状颜色。
参考一些信息here,我尝试在上面代码中的with 之后直接插入下面的代码。
With doc
.Shapes("Rounded Rectange 1").Fill.BackColor.RGB = RGB(0, 0, 0)
.Visible = msoTrue
End With
没有错误,但形状的颜色没有变为黑色。
【问题讨论】:
-
尝试在 Word 中录制宏,然后添加对 Word 对象的引用。
-
没看到你评论!感谢您的提示。我尝试录制宏(在 Word 中很难,因为宏录制器限制了您可以使用鼠标执行的操作,并且似乎不想录制格式)。无论如何,找到了它需要被引用的方式(见下面我的回答;似乎与微软的帮助页面有点不同)。