gpt4 book ai didi

excel - VBA将Excel图表复制到Word作为图片更改图表大小

转载 作者:行者123 更新时间:2023-12-03 02:34:49 25 4
gpt4 key购买 nike

我想创建一个宏,从 Excel 复制图表并将其作为图片粘贴到 Word 中(最好是增强型图元文件)。

我设置了一个带有表格的 Word 模板文档,该表格在应插入图片的特定单元格中包含书签。

但是,使用我当前的代码,插入的图像太大并且弄乱了整个表格。我尝试了不同的图片选项(增强型图元文件、png 等),但它们都有相同的结果。

当我尝试使用表中的 PasteSpecial 手动复制图表时,它会保留原始大小,这正是我想要的。

我必须在代码中更改哪些内容才能实现这一点?

Sub CopyCharts2Word()

Dim wd As Object
Dim ObjDoc As Object
Dim FilePath As String
Dim FileName As String
FilePath = "C:\Users\Name\Desktop"
FileName = "Template.docx"


'check if template document is open in Word, otherwise open it
On Error Resume Next
Set wd = GetObject (, "Word.Application")
If wd Is Nothing Then
Set wd = CreateObject("Word.Application")
Set ObjDoc = wd.Documents.Open(FilePath & "\" & FileName)
Else
On Error GoTo notOpen
Set ObjDoc = wd.Documents(FileName)
GoTo OpenAlready
notOpen:
Set ObjDoc = wd.Documents.Open(FilePath & "\" & FileName)
End If
OpenAlready:
On Error GoTo 0

'find Bookmark in template doc
wd.Visible = True
ObjDoc.Bookmarks("Boomark1").Select

'copy chart from Excel
Sheets("Sheet1").ChartObjects("ChartA").chart.ChartArea.Copy

'insert chart to Bookmark in template doc
wd.Selection.PasteSpecial Link:=False, _
DataType:=wdPasteMetafilePicture, _
Placement:=wdInLine, _
DisplayAsIcon:=False

End Sub

最佳答案

是的,就是这样:

我替换了

'insert chart to Bookmark in template doc
wd.Selection.PasteSpecial Link:=False, _
DataType:=wdPasteMetafilePicture, _
Placement:=wdInLine, _
DisplayAsIcon:=False

wd.Selection.PasteSpecial Link:=False, _
DataType:=wdPasteMetafilePicture, _
Placement:=wdTight, _
DisplayAsIcon:=False

这样,图表的大小就保持与 Excel 工作表中的大小相同!

关于excel - VBA将Excel图表复制到Word作为图片更改图表大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38454582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com