ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何修改批量生成工资条并批量截图保存为图片文件

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-3-16 14:17 | 显示全部楼层 |阅读模式
本帖最后由 feiyang007 于 2024-3-16 14:34 编辑

需要对工资条进行批量生成,然后批量截图在文件夹中,按照一定的名字进行命名。目前只收集到一行表头,一行数据的这种两列形式的。这个不能满足我的需要。因为工资构成的原因,我需要3行的表头,这样要如何进行修改呢?求教大神们,谢谢。
工资条的构成如下:

工资条1.rar

9.3 KB, 下载次数: 10

代码.rar

860 Bytes, 下载次数: 8

TA的精华主题

TA的得分主题

发表于 2024-3-16 14:21 | 显示全部楼层
楼主的附件中没有代码的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-16 14:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub GeneratePaySlip()
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Dim Fs, ReadSheet As Worksheet, Rng As Range, DateS As String, SavePath As String, FileS As String, RowsCount As Long, ColumnsCount As Long, K As Long, JD_All As Long, JD_Now As Long
    Set Fs = CreateObject("Scripting.FileSystemObject")
    If Fs.FolderExists(ThisWorkbook.Path & "\工资条") = False Then Fs.CreateFolder (ThisWorkbook.Path & "\工资条")
    DateS = ActiveSheet.Name
    ActiveSheet.Copy , Sheets(Sheets.Count)
    Set ReadSheet = Sheets(Sheets.Count)
    RowsCount = ReadSheet.UsedRange.Rows.Count
    If RowsCount > 1 Then
        ColumnsCount = ReadSheet.UsedRange.Columns.Count
        ReadSheet.Rows("1:" & RowsCount).RowHeight = 20
        ReadSheet.Rows("1:" & RowsCount).Font.Bold = True
        For K = RowsCount To 3 Step -1 '对第K行插入一行。
            ReadSheet.Cells(K, 1).Resize(1, 1).EntireRow.Insert
        Next
        RowsCount = ReadSheet.UsedRange.Rows.Count
        ReadSheet.Rows("1:1").Copy
        Set Rng = ReadSheet.Rows(3)
        For K = 3 To RowsCount Step 2
            Set Rng = Union(Rng, ReadSheet.Rows(K))
        Next
        Rng.Select
        ReadSheet.Paste
        SavePath = ThisWorkbook.Path & "\工资条\"
        JD_All = Int(RowsCount / 2)
        On Error GoTo ExitLine
        For K = 2 To RowsCount Step 2
            FileS = ReadSheet.Cells(K, 2) & "(" & DateS & ")工资条"
            ReadSheet.Range(ReadSheet.Cells(K - 1, 1), ReadSheet.Cells(K, ColumnsCount)).Copy
            ReadSheet.Pictures.Paste.Select
            With Selection
                .Copy
                    With ReadSheet.ChartObjects.Add(0, 0, .Width, .Height).Chart
                        .Paste
                        .Export FileName:=SavePath & FileS & ".jpg", FilterName:="jpg"
    '                    .Export FileName:=SavePath & FileS & ".png", FilterName:="png"
    '                    .Export FileName:=SavePath & FileS & ".bmp", FilterName:="bmp"
                        .Parent.Delete
                    End With
                .Delete
            End With

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-16 14:30 | 显示全部楼层
本帖最后由 feiyang007 于 2024-3-16 14:35 编辑

在帖子上附带了一段代码,如何修改呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-16 16:17 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-3-16 19:58 | 显示全部楼层
核心代码是如何导出剪切板图片保存到本地,论坛应该有现成的源码

TA的精华主题

TA的得分主题

发表于 2024-3-16 20:01 | 显示全部楼层
至于表头啥的,可以考虑筛选进行操作

TA的精华主题

TA的得分主题

发表于 2024-3-17 11:11 | 显示全部楼层
找个AI提问即可生成,如豆包,文心上言
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 03:29 , Processed in 0.039448 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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