我有以下代码:
Sub CreateRapport()
Dim wdApp As Object
Dim wd As Object
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err.Number <> 0 Then
Set wdApp = CreateObject("Word.Application")
End If
On Error GoTo 0
Set wd = wdApp.Documents.Add
wdApp.Visible = True
Sheets("Rapport").Activate
Set Rng = ThisWorkbook.ActiveSheet.Range("A1:E76")
Rng.Copy
With wd.Range
.Collapse Direction:=0 'Slutet av dokumentet
.InsertParagraphAfter 'Lägg till rad
.Collapse Direction:=0 'Slutet av dokumentet
.PasteSpecial False, False, True 'Pasta som Enhanced Metafile
End With
End Sub
它的作用是使用范围A1:E76
中的数据创建一个word文档我想在这个word文档中插入一个包含图片和名称的标题。此标题中的名称位于同一工作表中的单元格A1中。
如果有人能帮助我,我将非常感激。谢谢。
答案 0 :(得分:0)
如何将单元格A1中的文本添加到文档中:
wdApp.Selection.TypeText ThisWorkbook.ActiveSheet.Range("A1").Text
如何将当前文本转换为标题:
'***** Word VBA constant wdStyleHeading1 = -2
wdApp.Selection.Style = -2
如何添加图片:
wdApp.Selection.InlineShapes.AddPicture Filename:="PATH_TO_IMAGE", LinkToFile:=False, SaveWithDocument:=True
如果你将上面的代码放在一起并直接在行wdApp.Visible = True
之后添加它,你会在最后得到一个带有图像的标题,但我无法从你的问题中确切地知道你希望文档如何看。
修改强>
显示当前标题的代码:
'***** Word VBA constant wdSeekCurrentPageHeader = 9
wdApp.ActiveWindow.ActivePane.View.SeekView = 9
显示普通视图:
'***** Word VBA constant wdSeekMainDocument = 0
wdApp.ActiveWindow.ActivePane.View.SeekView = 0
将所有内容放在一起,将其粘贴到行wdApp.Visible = True
之后,这次不设置样式:
wdApp.ActiveWindow.ActivePane.View.SeekView = 9
wdApp.Selection.TypeText ThisWorkbook.ActiveSheet.Range("A1").Text
wdApp.Selection.InlineShapes.AddPicture Filename:="PATH_TO_IMAGE", LinkToFile:=False, SaveWithDocument:=True
wdApp.ActiveWindow.ActivePane.View.SeekView = 0
编辑2
关于将嵌入图像从Excel传输到Word的建议是使用复制和粘贴:
'***** copy image from cell B1 in Excel
ThisWorkbook.ActiveSheet.Range("B1").Copy
'***** past image at the current position in Word
wdApp.Selection.Paste
代码需要靠近wdApp.Selection.TypeText
命令,取决于您希望图像显示的位置。
编辑3
添加页码字段的代码:
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="PAGE ", PreserveFormatting:=True