为什么这个命令不能把Excel内某一列单元格输出成有内容的图片

Cheung Ching 2019-05-19 09:46:29
Sub exportPic()
For K = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Sheets(1).Cells(K, 1).CopyPicture
Set CHT = ActiveSheet.ChartObjects.Add(0, 0, Cells(K, 1).Width, Cells(K, 1).Height).Chart
With CHT
.Paste
.Export "d:\" & Cells(K, 1) & ".JPG"
.Parent.Delete
End With
Next K
set CHT=NOTHING
End Sub


用这个代码输出的图片是空白的,没有单元格内的文字
...全文
60 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
milaoshu1020 2019-05-20
  • 打赏
  • 举报
回复
paste之后加一句DoEvents:

Sub exportPic()
Dim K As Long
For K = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Sheets(1).Cells(K, 1).CopyPicture
Dim CHT As Chart
Set CHT = ActiveSheet.ChartObjects.Add(0, 0, Cells(K, 1).Width, Cells(K, 1).Height).Chart
With CHT
.Paste
DoEvents
.Export "d:\" & Cells(K, 1) & ".JPG"
.Parent.Delete
End With
Next K
Set CHT = Nothing
End Sub

运行示例:
脆皮大雪糕 2019-05-20
  • 打赏
  • 举报
回复
一到毕业季,这种毫无实际用途的功能需求问题就冒出来了。 觉得吧,中学老师无所谓,大学工科老师应该至少要有三年的企业工作经验才能执教。
脆皮大雪糕 2019-05-20
  • 打赏
  • 举报
回复
图片是图片,文字是文字。excel里面看上去图片上有字也是文字叠加在图片上显示的结果。你的命令仅仅是保存了图片。 如果你要把文字输出到图片上,你必须使用Picture对象来处理这张图片,打印上文字以后再保存。
无·法 2019-05-20
  • 打赏
  • 举报
回复
引用 4 楼 milaoshu1020 的回复:
paste之后加一句DoEvents:

Sub exportPic()
Dim K As Long
For K = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Sheets(1).Cells(K, 1).CopyPicture
Dim CHT As Chart
Set CHT = ActiveSheet.ChartObjects.Add(0, 0, Cells(K, 1).Width, Cells(K, 1).Height).Chart
With CHT
.Paste
DoEvents
.Export "d:\" & Cells(K, 1) & ".JPG"
.Parent.Delete
End With
Next K
Set CHT = Nothing
End Sub

运行示例:
学到新知识了。尽管目前没啥用处,但是厚积在平时薄发在关键。
笨狗先飞 2019-05-20
  • 打赏
  • 举报
回复
Excel不存在这样的功能啊,不是想另存成什么就都能存的

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧