如何解决VBA Word搜索一行并替换其中的一部分
我必须为我的同事快速编写一些程序,而我在以下内容上已经停留了一段时间。目的是使用来自MS Excel的数据来填写MS Word模板。这是我最近遇到的问题。
MS Word模板如下:
该想法是在左列中搜索(例如,有机体),上一行,然后用MS Excel中的相应值替换右列(单击此处以输入文本)。但是我是VBA的新手,不确定如何正确编程。我目前的代码是这一代码,它找到正确的左字符串,并将其替换为字符串+ MS Excel值,但不替换右列。
Sub SearchAndReplace(inputKey As String,inputvar As String)
With Selection.Find
.Text = inputKey
.Replacement.Text = inputvar
.Execute Replace:=wdReplaceOne,Forward:=True,_
Wrap:=wdFindStop
End With
End Sub
非常感谢您的帮助。如果不清楚,请随时询问。 预先谢谢你。
解决方法
您发布的屏幕快照无法清楚显示项目是否在表格中,但确实显示了内容控件。
如果您已经正确设置了带有标题和/或标签的内容控件,则可以使用以下方式:
Sub AddTextToContentControl(targetDoc As Document,ccTitle As String,textToAdd As String)
Dim ctrl As ContentControl
Set ctrl = targetDoc.SelectContentControlsByTitle(ccTitle).Item(1)
ctrl.Range.Text = textToAdd
End Sub
Sub AddTextToContentControlByTag(targetDoc As Document,ccTag As String,textToAdd As String)
Dim ctrl As ContentControl
Set ctrl = targetDoc.SelectContentControlsByTag(ccTag).Item(1)
ctrl.Range.Text = textToAdd
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。