ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 如何提取表格内容

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-27 14:46 | 显示全部楼层 |阅读模式
  1.    Sub 滚动照片()
  2.     Dim rng As Range
  3.     Dim imgChart As Chart
  4.     Dim imgPath As String
  5.    
  6.     ' 设置要导出的表格区域
  7.     Set rng = ThisWorkbook.Sheets("窗体模版").Range("A1:AL431")
  8.    
  9.     ' 创建一个临时图表
  10.     Set imgChart = ThisWorkbook.Charts.Add
  11.    
  12.     ' 将表格区域复制到临时图表中
  13.     rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture
  14.     With imgChart
  15.         .Paste
  16.         ' 修改保存路径为当前工作簿的路径
  17.         imgPath = ThisWorkbook.Path & "\滚动照片\ExportedImag.jpg"
  18.         .Export fileName:=imgPath
  19.         .Delete ' 删除临时图表
  20.     End With
  21.    
  22.     ' 清理剪贴板
  23.     Application.CutCopyMode = False
  24.    
  25.     ' 提示图片已导出
  26.     MsgBox "图片已导出到 " & imgPath
  27. End Sub
复制代码
各位老师,麻烦帮忙看一下,我的本意是通过代码把每次在表格内查询的信息区域形成照片(格式、内容、字体颜色以及背景都不变)并储存在文件夹内。这个代码只能导出来照片但是照片是空白的。能不能指正一下问题点出在哪里。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-5 10:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  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
复制代码



问题已经解决,excel中的内容可以进行复制形成照片并储存在相对应的途径中。

TA的精华主题

TA的得分主题

发表于 2024-9-27 16:04 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-9-28 04:32 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-28 13:48 | 显示全部楼层
z865593849 发表于 2024-9-27 16:04
试试把图片后缀改成.PNG,其次你的保存区域太大了

区域进行了修改,可是导出来的情况要么就是图表的形式要么就是空白的,这是怎么回事?

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-28 13:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. 'Dim rng As Range
  2. 'Dim wsTemp As Worksheet
  3. 'Dim imgPath As String
  4. '
  5. '' 设置要导出的表格区域
  6. 'Set rng = ThisWorkbook.Sheets("窗体模版").Range("A1:AL41")
  7. '
  8. '' 创建一个临时工作表
  9. 'Set wsTemp = ThisWorkbook.Worksheets.Add
  10. '
  11. '' 将表格区域复制到临时工作表中
  12. 'rng.Copy Destination:=wsTemp.Range("A1")
  13. '
  14. '' 修改保存路径为当前工作簿的路径
  15. 'imgPath = ThisWorkbook.Path & "\滚动照片\ExportedImage.jpg"
  16. '
  17. '' 使用工作表的导出功能导出为JPEG图片
  18. 'wsTemp.ExportAsFixedFormat Type:=xlTypeJPEG, fileName:=imgPath, Quality:=xlQualityStandard
  19. '
  20. '' 删除临时工作表
  21. 'Application.DisplayAlerts = False ' 关闭自动弹出的提示信息
  22. 'wsTemp.Delete
  23. 'Application.DisplayAlerts = True ' 恢复自动弹出的提示信息
  24. '
  25. '' 清理剪贴板
  26. 'Application.CutCopyMode = False
  27. '
  28. '' 提示图片已导出
  29. 'MsgBox "图片已导出到 " & imgPath
复制代码



老师,帮忙看一下是哪里有问题。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 05:35 , Processed in 0.036651 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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