Excel·VBA工作表导出为图片

news/2024/7/21 5:29:45 标签: excel, vba, Excel转图片

Excel转图片别再截图啦!用这4个方法,高清且无损!》,excel转为图片一般方法较为简单,那么能否使用vbaexcel转为图片

选中区域导出为图片

zoom设置为2,导出图片较为清晰

Sub 选中区域导出为图片()
    Dim zoom#, rng As Range, save_name$
    zoom = 2: Set rng = Selection  '图片缩放倍数;设置截图范围为选中区域
    rng.CopyPicture xlPrinter, xlPicture  '截图范围复制为图片
    With ActiveSheet.ChartObjects.Add(0, 0, rng.Width * zoom, rng.Height * zoom).Chart  '新建一个临时图表区,用来储存图片
        .Parent.Select  '选中新建的绘图框,office2016版本新增要求,缺少会导致导出的图片是一片空白
        .Paste          '粘贴复制后的图片
        '显示标准的“另存为”对话框,获取用户文件名,InitialFilename可指定文件名,FileFilter筛选条件
        save_name = Application.GetSaveAsFilename(InitialFileName:="导出图片" & Format(Date, "yyyymmdd"), filefilter:="图片文件(*.png),*.png")
        If save_name <> "False" Then .Export save_name, "PNG"  '文件名不为空则导出png图片至指定位置,取消即为False
        .Parent.Delete  '删除该临时绘图框
    End With
End Sub

举例

选中单元格区域,运行代码导出为图片,以《Excel·VBA制作工资条》为例
在这里插入图片描述
选择导出图片的保存位置、文件名
在这里插入图片描述
保存成功的图片
在这里插入图片描述

工作簿导出为图片

Sub 工作簿导出为图片()
    '工作簿所有工作表导出为图片,工作表命名,导出到固定路径
    Dim zoom#, rng As Range, save_path$, sht As Worksheet, fso As Object
    zoom = 2    '图片缩放倍数
    Set fso = CreateObject("Scripting.FileSystemObject")
    With ActiveWorkbook
        save_path = .path + "\导出图片\"
        If Not fso.FolderExists(save_path) Then fso.CreateFolder (save_path)
        For Each sht In .Worksheets
            Set rng = sht.UsedRange
            rng.CopyPicture xlPrinter, xlPicture
            With sht.ChartObjects.Add(0, 0, rng.Width * zoom, rng.Height * zoom).Chart
                .Parent.Select
                .Paste
                .Export save_path & sht.Name & ".png", "png"  '导出到固定路径
                .Parent.Delete
            End With
        Next
    End With
End Sub

举例

以《Excel·VBA制作工资条》和《Excel·VBA单元格区域数据对比差异标记颜色》共4个工作表同在1个工作簿为例,导出结果
在这里插入图片描述


http://www.niftyadmin.cn/n/5155465.html

相关文章

GPT-4V:AI在教育领域的应用

OpenAI于9月25日发布了最新的GPT-4V模型&#xff0c;为ChatGPT引入了语音和图像功能&#xff0c;为用户提供更多元化的使用方式。这次更新将为用户带来更便捷、直观的交互体验&#xff0c;用户可以直接拍照上传并针对照片内容提出问题。OpenAI的最终目标是构建安全、有益的人工…

Python Tkinter快速入门

一、背景 接了一个小活&#xff0c;需要做一个比特币走势分析小工具&#xff0c;客户希望能安装在Mac上&#xff0c;考虑后决定采用Python的Tkintermatplotlib来做&#xff0c;今天我们就来了快速了解一下Tkinter。 二、Tkinter介绍 Tkinter是Tk的Python版本&#xff0c;而T…

宏转录组分析揭示不同土壤生境中氮循环基因的表达

发表期刊&#xff1a;msystems 发表时间&#xff1a;2023 影响因子&#xff1a;6.4 DOI: 10.1128/msystems.00315-23 01、研究背景 与空白土壤相比&#xff0c;植物根系和根际细菌之间的相互作用调节了氮&#xff08;N&#xff09;的循环过程&#xff0c;并创造了富含低分…

UNI-APP_获取手机品牌

在uni-app中&#xff0c;使用uni.getSystemInfoSync().brand可以获取设备的品牌信息。根据不同设备的品牌&#xff0c;uni.getSystemInfoSync().brand可能返回以下一些常见值 “Apple” - 苹果 “Samsung” - 三星 “Huawei” - 华为 “Xiaomi” - 小米 “OPPO” - OPPO “Vivo…

flutter显示出底部控件的引导页

需求&#xff1a;同一个页面的两个不同的入口&#xff0c;同一个控件的位置有变化&#xff0c;显示引导页时对应这个控件的引导内容的位置也需要改变&#xff1b;同时半透明底部显示出真实的页面内容。 这样的需要如果切图然后再往页面上贴位置无法精确的对准。 思路&#xff1…

微服务架构深入理解 | 技术栈

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 微服务架构深入理解 | 技术栈 服务网关 服务网关是在微服务架构中扮演重要角色的组件&#xff0c;它是系统对外的入口&#xff0c;负责接收和处理客户端的请求&#x…

TreeBERT:基于树的编程语言预训练模型。

TreeBERT https://arxiv.org/abs/2105.12485 Comments: Accepted by UAI2021 Subjects: Machine Learning (cs.LG); Programming Languages (cs.PL) Cite as: arXiv:2105.12485 [cs.LG] 1 Introduction 现有挑战&#xff1a; 设计适当的机制来学习程序的语法结构 代码是强结…

信号上的串联电阻是如何改善信号质量的

一般我们在进行PCB设计时可能会留意到有些信号会串联一个电阻&#xff0c;那么大家是否有想过所串联的电阻是有什么作用呢&#xff1f; 大家可以看一下下面图示的案例&#xff0c;信号是从CPU处出来再接到DDR颗粒的&#xff0c;每一个DDR数据线都有串联一个电阻&#xff0c;其…