excel - 如何将文本从一个 word 文档拉到另一个?
问题描述
我正在尝试将 excel 电子表格和 word 模板中的内容提取到另一个模板中。我在电子表格中的命名范围与单词模板标签中的各自主页匹配,以及与目标标签匹配的源文档标签。excel 文档中的所有内容都已成功传输,但我无法将 word 文档文本传输过来。标签的开头说明信息是位于 excel doc 中还是 word doc 中。
PC_ 用于 excel(一切正常) PCM_ 用于 Word。pc.word 文档是所有内容都应传输到的模板。显示“Yay”的消息框确实会弹出,所以我知道内容控件选择了正确的类型,但没有任何文本传输过来。关于这里的代码有什么问题的任何想法?
Sub PCExample()
Dim CS As Workbook
Dim wrd As Word.Application
Dim wrdm As Word.Application
Dim pc As Word.Document
Dim pcm As Word.Document
Dim CC As ContentControl
Dim CCTag As String
Dim CStxt As String
Dim PCMtxt As String
Set CS = ThisWorkbook
Set wrdm = CreateObject("Word.Application")
wrdm.DisplayAlerts = 0
wrdm.Visible = True
Set pcm = wrdm.Documents.Open("FilePath", ReadOnly:=True)
Set wrd = CreateObject("Word.Application")
wrd.DisplayAlerts = 0
wrd.Visible = True
Set pc = wrd.Documents.Open("FilePath", ReadOnly:=True)
For Each CC In pc.ContentControls
On Error Resume Next
CCTag = CC.Tag
If CCTag <> "" And Left(CCTag, 3) = "PC_" Then
CStxt = Range(CCTag)
If CC.Type = wdContentControlRichText Or CC.Type = wdContentControlText Then
CC.Range.Text = CStxt
ElseIf CC.Type = wdContentControlComboBox Or CC.Type = wdContentControlDropdownList Then
CC.DropdownListEntries.Item(CStxt).Select
ElseIf CC.Type = wdContentControlCheckBox Then
CC.Checked = False
If CStxt = "True" Then
CC.Checked = True
ElseIf CStxt = "False" Then
CC.Checked = False
Else
CC.Checked = False
End If
End If
ElseIf CCTag <> "" And Left(CCTag, 4) = "PCM_" Then
PCMtxt = pcm.ContentControls(CCTag).Range.Text
If CC.Type = wdContentControlRichText Or CC.Type = wdContentControlText Then
MsgBox "Yay"
CC.Range.Text = PCMtxt
End If
End If
Next CC
End Sub
解决方案
推荐阅读
- python-3.x - 如何在 python3 中通过 for_loop 创建许多不同的 lambda 函数?
- c++ - 在 nullptr 上调用无状态类的非静态成员函数是否合法?
- android - 我们如何在firebase电话身份验证方法中获取回调绑定(在片段中)的活动
- swift - 在 Xcode 中导入 Swift 框架 - 在哪里放置“导入”指令?
- javascript - 默认参数和对象的问题
- java - 使用 API KEY 自定义使用 Google App 引擎标准 Endpoint Security 时的错误
- python - 网络连接驱动器列表及其连接路径
- sql - BigQuery SQL:在 GROUP BY 子句中使用时,SELECT 别名是否优先于 FROM 子句列名?
- javascript - 如何使用折线图在 AmCharts 4 中绘制几分之一秒?
- javascript - KnockoutJS:使用下拉列表验证多行的问题