ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] Excel vba截图不行,帮忙看下

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-8-11 03:15 | 显示全部楼层 |阅读模式
首先说明,代码是在Excel  home上面找的不是原创,但是想在变成出了点问题,有大牛帮忙看下哪里出了问题,谢谢公司电脑没有办法发代码只能发图片了,软件的目的就是保存当前工作表的区域另存为图片,图片格式为当前日期

TA的精华主题

TA的得分主题

发表于 2018-8-11 08:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
看见你凌晨3点多还在学习,值得佩服!不过再好的技术也需要健康的身体才能发挥,建议注意休息!
下面是将  已用区域  保存为图片:

  1. Private Declare Function OpenClipboard Lib "User32" (ByVal hWnd As Long) As Long
  2. Private Declare Function CloseClipboard Lib "User32" () As Long
  3. Private Declare Function GetClipboardData Lib "User32" (ByVal uFormat As Long) As Long
  4. Private Declare Function CopyEnhMetaFileA Lib "Gdi32" (ByVal hemfSrc As Long, ByVal lpszFile As String) As Long
  5. Private Declare Function DeleteEnhMetaFile Lib "Gdi32" (ByVal hdc As Long) As Long
  6. Sub lujkhua()
  7.     Dim picnm As String
  8.     picnm = Application.GetSaveAsFilename("try1.jpg", "图片, *.jpg", , "请选择保存路径并键入文件名")
  9.     ActiveSheet.UsedRange.CopyPicture
  10.     OpenClipboard 0
  11.     DeleteEnhMetaFile CopyEnhMetaFileA(GetClipboardData(14), picnm)
  12.     CloseClipboard
  13. End Sub
复制代码



TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-11 17:34 | 显示全部楼层
学习是不分时间段的呀,想要研究个东西不懂,所以需要不停的去学习。
老是我需要以下的功能:
将指定区域(如B2:M15),以图片形式(JPG),保存到指定目录(如D:\123),以日期+时分秒命名(20180626222519.jpg)
下列的代码只能保存为表格里面设置好的时间,不能同步系统时间,而且保存的图片不是很清晰,麻烦老师帮忙修改下,谢谢,本人小白。
Range("B1:m15").Select
    Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
ActiveSheet.Paste
     Set Newshape = ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
     With ActiveSheet.ChartObjects.Add(1, 1, 1, 1)
         .Width = Newshape.Width
         .Height = Newshape.Height
          Newshape.Copy
         .Chart.Paste
         .Chart.Export ActiveWorkbook.Path & "\" & Cells(3, 17) & ".jpg"
         .Delete
     End With
     Newshape.Delete
End Sub

TA的精华主题

TA的得分主题

发表于 2018-8-12 06:57 | 显示全部楼层
请参考
Sub bctp()
    Range("B1:m15").Select
    Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
    ActiveSheet.Paste
    Set Newshape = ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
    With ActiveSheet.ChartObjects.Add(1, 1, 1, 1)
        .Width = Newshape.Width
        .Height = Newshape.Height
         Newshape.Copy
        .Chart.Paste
'         .Chart.Export ActiveWorkbook.Path & "\" & Format(Now, "yymmddhhmmss") & ".jpg"
        .Chart.Export ActiveWorkbook.Path & "\" & Format(Now, "yyyymmddhhmmss") & ".bmp"
        .Delete
    End With
    Newshape.Delete
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-11 22:51 , Processed in 0.018839 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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