因此,对于背景,我从另一个部门获得了一个excel工作簿,其中包含特定帐户的信息,然后我将使用某些部分来创建图表。有没有办法我可以创建一个从Ex获取数据的宏。 C22:H34,将它放入模板word文档中,并可能自动填充图形?我想让它成为一个我可以交给其他人做的过程,所以执行起来越简单越好。
这就是我所拥有的
Sub AutoNew()
'
' AutoNew Macro
'
'
Dim xlapp As Object
Dim xlbook As Object
Dim xlsheet As Object
Dim bstartApp As Boolean
Dim i As Long
On Error Resume Next
Set xlapp = GetObject(, "Excel.Application")
If Err Then
bstartApp = True
Set xlapp = CreateObject("Excel.Application")
End If
On Error GoTo 0
Set xlbook = xlapp.Workbooks.Open("C:\Users\MattsonC\Documents\work\Copy of
3202_2018_Renewal Rate Workbook v2 EDIT.xlsx")
Set xlsheet = xlbook.Sheets(1)
With xlsheet.Range("A1")
For i = 1 To .CurrentRegion.Rows.Count - 1
ActiveDocument.Variables(.Offset(i, 0)).Value = .Offset(i, 2)
Next i
End With
xlbook.Close
If bstartApp = True Then
xlapp.Quit
End If
Set xlapp = Nothing
Set xlbook = Nothing
Set xlsheet = Nothing
ActiveDocument.Range.Fields.Update
End Sub
在我想要数据进入模板的所有地方,我有像{DOCVARIABLE LLY}这样的变量,并使用相同的变量名重命名excel中的单元格。
我无法在Word文档中获得任何输出,有什么建议吗?
谢谢!
答案 0 :(得分:0)
回到开头
使用以下顺序(单词2016)
在新的word文档中插入文档变量insert tab … text … quick parts … field … categories: document automation … field names: docVariable … put in variable name xxxx
然后运行此代码
Sub aaa()
'ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes ' toggle field code view
Stop
ActiveWindow.View.ShowFieldCodes = True
Stop
ActiveWindow.View.ShowFieldCodes = False
ActiveDocument.Variables("xxxx").Value = "abc123"
ActiveDocument.Range.Fields.Update
Stop
ActiveDocument.Variables("xxxx") = "xyz987"
ActiveDocument.Fields.Update
End Sub
如果有效,那么将代码与您遇到问题的文档一起使用,并确定您的字段名称是否与您认为的相同