ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 426|回复: 11

[求助] excel导出的照片大小尺寸怎么修改

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-10-5 16:42 | 显示全部楼层 |阅读模式
  1. Sub 滚动照片()
  2. Dim rng As Range
  3. Dim imgChart As Chart
  4. Dim imgPath As String
  5. Dim wi As Worksheet

  6. ' 设置要导出的表格区域
  7. Set rng = ThisWorkbook.Sheets("窗体模版").Range("A1:AL53")

  8. ' 创建一个临时图表
  9. Set imgChart = ThisWorkbook.Charts.Add

  10. ' 将表格区域复制到临时图表中
  11. rng.CopyPicture Appearance:=xlPrinter, Format:=xlPicture

  12. ' 尝试使用不同的粘贴方法
  13. With imgChart
  14.     ' 尝试直接作为图表的一部分粘贴
  15.     .ChartArea.Select
  16.     ActiveSheet.Paste
  17.    
  18.     ' 检查图表是否已正确粘贴图像
  19.     If .Shapes.Count = 0 Then
  20.         MsgBox "图表没有粘贴任何图像。"
  21.         GoTo NextStep
  22.     End If
  23.    
  24.     ' 修改保存路径为当前工作簿的路径
  25.     imgPath = ThisWorkbook.Path & "\滚动照片\ExportedImag.jpg"
  26.    
  27.     ' 导出图表为图片
  28.     On Error Resume Next ' 忽略错误
  29.     .Export fileName:=imgPath, FilterName:="JPG"
  30.     If Err.Number <> 0 Then
  31.         MsgBox "导出图表时发生错误: " & Err.Description
  32.     End If
  33.     On Error GoTo 0 ' 恢复正常错误处理

  34. NextStep:
  35.     ' 删除临时图表
  36.     .Delete
  37. End With

  38. ' 清理剪贴板
  39. Application.CutCopyMode = False

  40. ' 提示图片已导出(如果实际导出了的话)
  41. If Err.Number = 0 Then
  42.     MsgBox "图片已导出到 " & imgPath
  43. Else
  44.     MsgBox "图片导出失败。"
  45. End If
  46. End Sub
复制代码
我想要在.
ChartArea.Select
ActiveSheet.Paste后面加上尺寸的宽度和高度都不行,

[backcolor=rgba(245, 246, 249, 0.5)]    .ChartArea.Width = 800 ' 设置宽度    .ChartArea.Height = 600 ' 设置高度
[backcolor=rgba(245, 246, 249, 0.5)]总是不行,有没有哪位老师帮忙看一下。有没有什么办法让其导出来的照片是excel中(A1:AL53)范围,大小不发生变化。

TA的精华主题

TA的得分主题

发表于 2024-10-5 17:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
导出动作前,先把图片的大小调整成楼主需要的大小,然后再导出是否可以的?

TA的精华主题

TA的得分主题

发表于 2024-10-5 17:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-10-5 21:01 来自手机 | 显示全部楼层
本帖最后由 lss001 于 2024-10-5 22:28 编辑

Sub 表格导图()
    Dim rng As Range, shp As Shape, w!, h!
   
    Set rng = ActiveSheet.Range("A1:AL53")
    rng.CopyPicture
    ActiveSheet.Pictures.Paste
    w = 200 '指定宽高/单位:磅
    h = 200
    For Each shp In ActiveSheet.Shapes
        If shp.Type = 13 Then
            shp.CopyPicture
            With ActiveSheet.ChartObjects.Add(0, 0, w, h).Chart
                .Parent.Select
                .Paste
                .Export ThisWorkbook.Path & "\截屏.jpg", "jpg"
                .Parent.Delete
            End With
            shp.Delete
        End If
    Next
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-6 08:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
liulang0808 发表于 2024-10-5 17:54
导出动作前,先把图片的大小调整成楼主需要的大小,然后再导出是否可以的?

不行的,这个试过了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-6 08:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
lss001 发表于 2024-10-5 21:01
Sub 表格导图()
    Dim rng As Range, shp As Shape, w!, h!
   

    哇还可以这样嘛。比我的代码简单明了还能满足要求。厉害厉害

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-6 08:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
lss001 发表于 2024-10-5 21:01
Sub 表格导图()
    Dim rng As Range, shp As Shape, w!, h!
   

老师,如果我想把这些代码加入到用户窗体的命令按钮中,  那么这行代码会显示ActiveSheet.Pictures.Paste
  报错“类Pictures的Paste方法无效”   怎么解决。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-6 09:34 | 显示全部楼层
各位老师,我的诉求是通过用户窗体中的命令按钮,把表格2中A1:AL55的范围形成照片并保存文件夹滚动照片中。每点击一次,就会形成一次照片保存下来。怎么去实现。

附件.zip

18.49 KB, 下载次数: 7

TA的精华主题

TA的得分主题

发表于 2024-10-6 10:02 来自手机 | 显示全部楼层
本帖最后由 lss001 于 2024-10-6 10:05 编辑
哈喽哈哈1 发表于 2024-10-6 09:34
各位老师,我的诉求是通过用户窗体中的命令按钮,把表格2中A1:AL55的范围形成照片并保存文件夹滚动照片中。 ...

参考一下附件代码 附件.zip (20.26 KB, 下载次数: 14)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-6 10:53 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-22 14:09 , Processed in 0.042160 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表