excel - 将 Excel 图表粘贴到 Word 的宏可以工作,但在作为加载项运行时会出错
问题描述
我拼凑了一些代码,以将一些表格和图表从 Excel 复制并粘贴到书签位置的现有 Word 文档中。当我从电子表格模块中运行宏时,一切正常,所有数据都被复制到正确的位置。当我将宏作为加载项安装到 Excel 并运行它时,在将图表粘贴到 Word 时出现错误 5342。
该图表已被复制到剪贴板,因为我可以手动粘贴它,并且我尝试在图表的复制和粘贴之间添加一个 DoEvents,但得到了同样的错误。同样,当作为电子表格中的模块运行时,它工作正常,所以我不确定出了什么问题 - 任何帮助将不胜感激。
For y = LBound(tableArray) To UBound(tableArray)
Application.CutCopyMode = False
Set rng = Workbooks(getWBook).Names(tableArray(y)).RefersToRange
rng.Copy
If wrdDoc.bookmarks.exists(tableArray(y)) Then
With wrdDoc.bookmarks(tableArray(y)).Range
.PasteExcelTable False, False, False
End With
End If
Application.CutCopyMode = False
Next y
With wrdDoc.bookmarks("RQTable").Range.Tables(1)
.autofitbehavior 2
.Rows(1).HeadingFormat = True
End With
For Each wrdTbl In wrdDoc.Tables
With wrdTbl
.Rows(1).Range.Font.Size = 12
End With
Next wrdTbl
For x = LBound(chartArray) To UBound(chartArray)
Application.CutCopyMode = False
wb.Charts(chartArray(x)).CopyPicture _
Appearance:=xlScreen, Size:=xlScreen, Format:=xlBitmap
With wrdDoc
If .bookmarks.exists(bookmarkArray(x)) Then
Set wrdRng = .bookmarks(bookmarkArray(x)).Range
wrdRng.PasteSpecial _
Link:=False, _
DataType:=wdPasteEnhancedMetafile, _
Placement:=wdInLine, _
DisplayAsIcon:=False
.bookmarks.Add bookmarkArray(x), wrdRng
End If
End With
Application.CutCopyMode = False
Next x
解决方案
推荐阅读
- odata - 使用 OData 查询时,有没有办法使用嵌套数组项的计数进行过滤?
- database - 如何从数据库获取信息到 React 站点
- python - 使用 tkinter 按钮更改变量
- docker - 无法在本地找到图像 'acbuild:latest'
- c - 如何有效地解决 C 中的一个错误?
- node.js - 将图像文件上传到 s3 存储桶效果不佳。怎么修?
- javascript - CRA window.location.reload(true) 不更新 PWA
- django - 访问 ImageField url 时如何避免提供服务器地址
- java - 我可以使用 React Native 的异步存储从本地存储中获取值吗?
- docker - 无法启动 Hyper-V 容器