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

2023-12-31

我想创建一个宏,从 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

with

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VBA将Excel图表复制到Word作为图片更改图表大小 的相关文章

  • 根据单元格值向用户窗体添加复选框

    我对 VBA 很陌生 只有 3 天 但我发现它非常有用且易于使用 但现在我面临一个问题 我需要制作一个具有不同复选框的用户窗体 但我需要根据工作表某一列中使用的信息自动添加它们 我相信我可以使用 For Each Next 但我真的不知道如
  • 将ADODB二进制流转换为字符串vba

    我有以下问题 我有一个存储在服务器上的 CSV 文件 但它有 3 个字符作为分隔符 我想从 URL 加载数据并使用 作为分隔符将数据填充到 Excel 页面的列中 到目前为止 我找到了使用 ADODB 记录集从网站加载文件的代码 但我无法进
  • 在 Google 表格中创建每周/每月/每年折线图,以汇总同一周/月/年范围内的金额

    我想创建一个代表两列数据的折线图 F 输入日期 和 H 美元金额 X 轴应为日期 Y 轴应为美元金额 问题是我希望折线图上的日期代表给定周 月或年输入的所有金额的总和 这张照片是 YouTube 分析的 它创建了一个与我想在工作表中创建的类
  • Excels COUNTIFS 函数中的数组作为条件,混合 AND 和 OR [重复]

    这个问题在这里已经有答案了 我已经在谷歌上搜索了一段时间 但似乎无法让它发挥作用 我使用 Excel 2010 希望混合使用 AND 和 OR 运算符来计算行数 我想做的是这样的 COUNTIFS A A string1 B B strin
  • jQuery - 系列之外的 HighCharts 标签(条形图)

    function container highcharts chart type bar backgroundColor null width 360 title text null style display none subtitle
  • 当使用公式生成超链接时,VBA 打开 Excel 超链接不起作用

    使用公式生成的 Excel 超链接似乎存在错误 我使用的是 Excel 2010 我有一个电子表格 其中的单元格包含 URL 我的目标是执行以下两件事 将这些单元格变成超链接 创建一个键盘快捷键来打开这些超链接 这样我就不必使用鼠标了 为了
  • 将html表格保存到excel中[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我必须编写一个程序 定期读取网页并将
  • VBA中的字符串是可以迭代的数组吗?

    VBA中字符串是数组吗 例如 我可以像在 C C 中那样迭代它吗 做这样的事情 char myArray 10 for int i 0 i lt length i cout lt lt myArray i VBA 中的等价物是什么 它的行为
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1
  • Excel VBA - 添加自定义数字格式

    我有一个在 Excel 外部生成的文件 其中包含许多百分比 所有这些百分比都有一位小数 当导入到 Excel 中时 Excel 会在百分比中添加第二位小数 这似乎是 Excel 中百分比的某种默认格式 它只是添加了一个 0 我想将所有两位小
  • 如果总和为 0,则查找并删除带标题的最后一列

    我想创建一个宏 查找带有标题的最后一列 并仅当该列的总和等于零时才将其删除 到目前为止 这是我尝试过的 Dim LastCol As Long Dim i As Long With ThisWorkbook Sheets Sheet1 Fo
  • Excel 工作表名称的有效字符

    在 Java 中 我们使用以下包以编程方式创建 Excel 文档 org apache poi hssf 如果您尝试设置工作表的名称 不是文件 而是内部 Excel 工作表 在以下情况下您将收到错误消息 名称超过 31 个字符 该名称包含以
  • 启动时的 Excel 加载项

    我正在使用 Visual C 创建 Microsoft Excel 的加载项 当我第一次创建解决方案时 它包含一个名为 ThisAddIn Startup 的函数 我在这个函数中添加了以下代码 private void ThisAddIn
  • 从 MS Access 调用存储过程会导致错误 3146

    当我使用下面所示的代码从 MS Access 前端调用 SQL Server 存储过程时 它停止运行并抛出运行时错误 3146 这个存储过程在 SQL Server 中工作正常 但是当我从 MS Access 运行时 它首先工作 但突然停止
  • 使用宏打开受信任文档或启用宏时 Excel 崩溃

    正如标题所示 我无法使用宏打开受信任的文档 Excel 立即崩溃 制作文档的副本允许其打开 因为该副本不受信任 并且我可以检查 VB 编辑器中的宏 但启用宏会导致另一次崩溃 为什么会发生这种情况以及我可以采取什么措施来解决它 我今天遇到了类
  • 使用 VBA 通过 Access 导航网页/操作 IE

    你好 StackOverflow 社区 我有一个关于使用 Access VBA 操作 IE 的问题 本质上 我正在尝试编写代码 使用 IE 打开特定网页 在该页面中搜索特定链接 目标链接的名称将取决于用户的情况 通过以编程方式单击该链接导航
  • 使用 VBA 将 Excel 电子表格中嵌入的 Word 文档保存到磁盘

    我们有一个 Excel 电子表格 当前使用存储在公司 LAN 上的 Word 模板生成报告 这对于内部用户来说效果很好 但对于没有连接到 LAN 的任何人来说就不行了 例如 笔记本电脑用户 管理层不希望将模板作为单独的文件分发给外部用户 而
  • VBA 架构技巧 - 宏封装

    我拼凑了 Excel 的概念证明 以从数据库获取数据 并需要将其打包 以便可以将其分发给我们的客户 我的第一次尝试只是将所有代码放入代码模块中 但随后在 Excel 中我可以看到宏列表中的所有模块 而我实际上只想要列表中的主要模块 我猜想我
  • Excel - 在一列中查找重复项,然后将数量求和到另一列中?

    查找一列中的重复项 然后将数量求和到另一列中 https i stack imgur com AADjd png DATA RESULT A 1 A 11 A 1 B 7 A 9 C 5 B 2 D 4 B 2 E 8 B 3 C 5 D
  • 替换字符串变量中的多个字符 (VBA)

    如何替换字符串变量中的多个内容 这是我在 VBA 中的示例函数 Private Function ExampleFunc ByVal unitNr As String If InStr unitNr OE gt 0 Then unitNr

随机推荐

  • 与正常模式下正确设置的回车符相比,为什么 fprintf 在文本模式下的行为不同?

    下面的问题与其说是一个问题 不如说是一个好奇心 我绊倒了这个问题 https stackoverflow com q 6536599 2605073 提供了两个似乎相同的不同答案 但他们不是 这让我思考 想象一个system调用会回显两行
  • 在 Windows 机器上运行 python 与在 Linux 上运行 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对学习 python 很感兴趣 但我的 Linux 技能很糟糕 我想使用 python 和 django 开发一个中型到大型 Web
  • 获取 R 中向量每 10 步的平均值[重复]

    这个问题在这里已经有答案了 我有一个值向量 1 0 0 4 1 0 0 1 1 1 0 1 0 0 2 0 0 17 1 2 0 2 0 1 1 1 0 1 1 0 0 0 0 0 33 0 2 0 4 2 0 0 1 1 0 0 0 1
  • Graphite只会显示过去24小时的数据

    以下是过去 24 小时的统计数据显示 在 Graphite Composer 中 以下是 过去 14 天 的统计数据显示 那里没有太大区别 我无法说服 Graphite 显示过去 24 小时内任何时间段的任何数据 以下是来自的相关条目sto
  • Google API Gateway:在标头中提供 API 密钥

    我正在尝试设置 Google API Gateway 以使用调用者在标头中发送的 API 密钥 我的 api 配置 yaml 如下所示 securityDefinitions api key header type apiKey name
  • PyLint 无法识别 cv2 成员

    我正在 opencv 项目上运行 pylint 并且在 VS 代码中收到许多有关成员不存在的 pylint 错误 示例代码 import cv2 cv2 imshow 得到的错误 不过 代码运行正确 没有任何错误 版本 pylint 1 8
  • GIT Xcode - 更改原点

    如何更改 GIT 存储库中的原始 url 我不想添加新的存储库 我想换旧的 请帮帮我 我找到了添加新选项但不更改现有选项的选项 Thanks 我认为你不能从 XCode4 中做到这一点 就像许多其他事情一样 Do git remote se
  • 使用下拉菜单创建虚线图

    您好 我有一个 excel 文件 如下所示 其中有三个不同的服务器 A B C 我正在尝试构建一个带有下拉菜单的仪表板应用程序 可以选择所需的服务器并显示每个服务器的 CPU 使用情况和内存使用情况的图表 我尝试从 Dash 官方网站修改以
  • 使用按钮清除多选(角primeng涡轮表)

    是否可以通过按钮远程清除多选 或多个多选 我正在使用 primeng multiselect 和 Turbo table 我已经多次看到这个问题 但没有选择答案 以下是我的多选 span span
  • 如何在yii2中进行ajax调用?

    在 yii 1 14 版本中我们使用 CHtml ajax链接 对于 ajax 调用 在 yii2 中怎么样 你可以像这样创建一个ajax链接 Html a Your Link name controller action title gt
  • 缺少带有 .otf 的内容类型标头字体

    我使用 Laravel 框架 但是在 chrome 控制台中发生了这个错误并且font family不工作 无法加载资源 服务器响应状态为 500 缺少 Content Type 标头 In css font face font famil
  • 使用 PyDrive 上传 XLSX 并将其转换为 Google Sheets

    我正在尝试将 xlsx 文件上传到 Google 云端硬盘 我可以上传它 但是 当我们尝试在云端硬盘中打开同一文件时 必须使用 Google 表格打开它 因此 它会创建一个同名的新文件并消耗驱动器空间 我想我需要在上传时更改 MimeTyp
  • 不同IPC机制的使用

    我是一名 C 程序员 我想知道一个实时场景 我们可以使用不同的 IPC 机制 例如 PIPE 命名 共享内存 我大致知道在哪里可以使用套接字和消息队列 但对于 PIPE Named PIPE 和共享内存我没有任何想法 这只是为了了解不同的
  • 如何将elasticquery转换为kibana URL

    我正在使用 kibana 6 仪表板来显示可视化 我有一个如下所示的弹性查询 它需要传入 kibana 仪表板 URL query bool minimum should match 1 should match phrase jt tax
  • 带 VCL 样式的 Inno Setup 语言选择器

    有没有办法将语言选择器 Inno Setup 与VCL样式一起使用 如何 出现 选择安装语言 对话框之前叫做 因此您无法加载对话框的皮肤 作为解决方法 您可以实现自己的 语言 对话框 并从InitializeSetup 这样自定义对话框就会
  • 使用带条件的内连接的 Doctrine 查询生成器

    我想使用 Doctrine 的查询构建器构建以下 SQL select c from customer c join phone p on p customer id c id and p phone phone where c usern
  • SQL 查询用于在 SQL Server 中生成类似输出查询相关表的矩阵

    我有三张桌子 Product ProductID ProductName 1 Cycle 2 Scooter 3 Car Customer CustomerID CustomerName 101 Ronald 102 Michelle 10
  • MySql - 更新字符串部分的方法?

    我正在寻找一种通过 MySQL 查询仅更新字符串的一部分的方法 例如 如果我有 10 条记录 全部包含string作为字段值的一部分 有没有办法改变string to anothervalue通过一个查询对每一行进行查询 IE 对于以下情况
  • 尝试创建 Android 应用程序时出现“无可用目标”该怎么办?

    我正在尝试使用 Eclipse 创建 Android 项目 但 新建 Android 项目 窗口中的 下一步 按钮呈灰色 构建目标部分显示消息 无目标可用 我已经填写了其他所有内容 我还需要准备其他东西才能使其发挥作用吗 您是否确保将and
  • VBA将Excel图表复制到Word作为图片更改图表大小

    我想创建一个宏 从 Excel 复制图表并将其作为图片 最好是增强型图元文件 粘贴到 Word 中 我设置了一个带有表格的 Word 模板文档 该表格在应插入图片的特定单元格中包含书签 然而 使用我当前的代码 插入的图像太大并且弄乱了整个表