Excel 2010 VBA 入门 105 将工作表数据批量导出为图片
目录
示例
代码
Copy. Cut和Paste方法
图表对象(Chart)的Export方法
利用PPT导出图片
示例
为防止数据的更改或者盗用,将所选的数据区域导出为图片进行展示。
代码
在Excel中,仅为图表(Chart)提供了一个导出图片的方法,因而使用该方法可以将指定的图片导出。创建一个空白的图表容器对象( ChartObject),将所需要导出的对象使用CopyPicture方法复制,依次执行图表对象子对象Chart的Paste(粘贴)和Export(导出为图片)方法,最后删除该图表对象即可。
Option ExplicitSub 导出图片()Dim objCht As ChartObject'操作选中的区域With Selection'复制为图片.CopyPicture创建一个尺寸和区域大小相同的图表对象Set objCht = ActiveSheet.ChartObjects.Add(0, 0, .Width, .Height)End With'操作图表With objCht.Chart.Paste.Export ThisWorkbook.Path & "\图片.jpg".Parent.DeleteEnd With
End Sub
Copy. Cut和Paste方法
在Excel中,几乎所有的对象都具有Copy(复制)、Cut(剪切)和Paste(粘贴)方法。执行Copy或者Cut方法后,可以将该对象复制或剪切到Office剪贴板,然后使用Paste方法可以将Office剪贴板中的内容粘贴至指定位置。
对于图像的复制,也可以使用CopyPicture方法,其语法为
Object.CopyPicture(Appearance,Format)
其中,Object为一个对象,可以为单元格区域、Shape、Chart等。
参数Appearance为图表复制的方式,可以为xIPrinter(按打印效果复制)或者xIScreen(按当前显示的效果复制)。
参数Format为图片的格式,可以为xIBitmap(位图,如BMP、JPG等)或者xIPicture(图元,如png、vrmf等)。
本例中,由于需要对单元格进行图片的导出,若直接使用Copy方法,然后在图表中使用Paste,则Excel会将该区域作为数据源添加入图表中。为避免该错误,首先对需要进行图片导出的单元格执行CopyPicture方法强制复制成图片到剪贴板,然后执行图表对象的Paste方法,即可实现将图片复制到图表中,从而进行下一步操作。
图表对象(Chart)的Export方法
使用Chart对象的Export方法可以将图表导出为图片,并保存至指定的目录中,其语法
Chart.Export(Filename[,FilterName]
其中,Chart表示一个图表( Chart)对象。
参数Filename为文件的完整路径,包括路径、文件名及扩展名。
参数FilterName表示文件的类型,一般和扩展名相同。若不设置该参数,则文件保存类型以Filename中所设置的扩展名为准。当指定目录下已经存在同名文件时,使用该方法导出图片会覆盖原文件。
利用PPT导出图片
在PPT中,可以直接使用Export方法将图形导出为图片并存在指定的路径下,其语法为
Shape.Export PathName,Filter,ScaleWidth,ScaleHeight,ExportMode
其中,Shape为PPT中的一个图形对象。
- 参数PathName表示输出文件的完整路径及名称。
- 参数Filter为文件的类型,可以为0至5的整数,分别代表GIF、JPG、PNG、BMP、WMF和EMF格式的文件。
- 参数ScaleWidth、ScaleHeight可省略,其为长整型表达式,表示图形的缩放。
- 参数ExportMode为输出的模式。
当使用该方法导出图片时,必须首先创建一个PPT程序对象,然后创建一个PPT文件并添加一张幻灯片。复制的图片需要粘贴在该幻灯片中,然后使用Export方法导出。其参考代码
如下:
Option ExplicitPublic Sub 使用PPT导出图片()Dim pptApp As ObjectDim pptObj As ObjectDim pptSlide As ObjectDim pptShape As ObjectSelection.CopyPictureSet pptApp = CreateObject("PowerPoint.Application")Set pptObj = pptApp.presentations.AddSet pptSlide = pptObj.slides.Add(1, 12)Set pptShape = pptSlide.Shapes.PastepptShape.Export ThisWorkbook.Path & "\图片.jpg", 1pptObj.Saved = TruepptObj.ClosepptApp.QuitEnd Sub
Excel 2010 VBA 入门 105 将工作表数据批量导出为图片相关推荐
- Excel 2010 VBA 入门 139 创建工作簿级的自定义选项卡
目录 题 码 Excel工作簿的实质 XML简介 customUI.xml 常用的功能区控件及通用属性 tabs控件和tab控件 group控件 命令控件 内置控件的ID customUI.xml中控 ...
- Excel 2010 VBA 入门 039 按条件隐藏数据行
目录 示例: 实现代码1 行和列的隐藏 实例代码2 单元格对象的AutoFilter(自动筛选)方法 实现代码3 单元格对象的AdvancedFilter(高级筛选)方法 示例: 在E ...
- Excel 2010 VBA 入门 037 获取最后一行数据的行数
目录 示例: 实现代码1 使用Find方法查找最后的单元格 Find方法按行查找和按列查找的区别 实现代码2 获取工作表总行数 实现代码3 单元格对象的End属性 End属性的局限性 其他获取最后数据 ...
- Excel 2010 VBA 入门 034 创建图片批注
目录 批注(Comment)对象 批注的添加与删除 FiIIFormat对象 OnError语句 示例: 批注(Comment)对象 Comment对象是单元格的一个属性,表示单元格的批注.Comme ...
- Excel对隐藏的多个工作表一键批量命名的操作
今天小编要分享的是,Excel对隐藏的多个工作表一键批量命名的操作 (方方格子插件) 1.先看动图演示吧 2.我们的目的是将隐藏的阿拉伯数字的班级表名替换为汉字的表格,如图选中的数据 3.那我 ...
- Excel 2010 VBA 入门 006 设置宏安全性
目录 操作方法 步骤1单击"开发工具"选项卡中的"宏安全性"按钮,如图所示. 步骤2在"信任中心"的"宏设置"选项中 ...
- Excel 2010 VBA 入门 087 数据处理之按单列汇总多个工作表
示例 如图所示,该工作簿中包含若干个工作表,工作表中为各个学校书籍销售明细.如 何使用VBA按其工作表中的图书名称汇总各种图书的数量? 示例数据表 序号 图书名称 版 别 年版 定价 适读范围 订 ...
- Excel 2010 VBA 入门 129 利用窗体向工作表中录入数据
目录 题 码 窗体控件与工作表的交互 窗体的事件 窗体中ControIs集合访问控件 控件的排列 使用控件数组进行赋值 题 如图所示,该表为某公司订单记录表,其中所有的列都是必填的,订单编号为自动生成 ...
- Excel 2010 VBA 入门 067 导入多个工作簿中的工作表
目录 示例 实现代码 导入多个工作簿中的工作表 Application. ScreenUpdating属性 示例 如图所示,在同一个目录下有多个工作表名称相同的工资汇总月报.现希望通过VBA建立该多个 ...
最新文章
- 异常处理——上传文件到HDFS,put: `.': No such file or directory
- PowerDesigner生成数据库时的列中文注释乱码问题[mysql]
- pycharm 自动补全括号 引号
- Android年月日选择,Android日期选择器实现年月日三级联动
- 漫步数学分析二十六——积分方程与不动点
- JVM 内存监控 (1.8)
- VMware Q1交出满意答卷,全年收入看涨
- sqlserver缓存程序-只能使用一次清除缓存计划
- PAT 1003 Emergency 递归记录访问路径
- 【Oracle】查看用户的信息(状态、默认表空间等)
- 代码规范化的七大原则
- 20180511-面试感悟-要知其然还要知其所以然
- 如何将成绩用C语言分,如何利用C语言实现简单的分数化简
- 微分中的dx和delta x
- 企业发文的红头文件_公司红头文件格式范文6篇
- Python员工信息作业
- 游戏社区App (三):客户端与服务端的加密处理 和 登录
- 数据挖掘之人工神经网络
- 苏州大学2021年全日制博士学位研究生招生简章
- 抖音SEO优化源码,企业号搜索排名系统,矩阵同步分发。