excel网页数据抓取vba(-教育不是,而是点燃火焰,学习编程成就更好的自己)
优采云 发布时间: 2022-04-16 10:38excel网页数据抓取vba(-教育不是,而是点燃火焰,学习编程成就更好的自己)
--教育不是灌输,而是点燃火焰,学习编程以实现更好的自我--
微软的Office软件在商业办公领域一直占据着主流和主导地位,其中Excel在数据处理和分析领域的影响力很强。大多数人经过几年的工作经验,都能熟练使用 Excel 函数和数据透视表函数。,基本上可以轻松完成大部分任务和任务。但其实Office的强大和独特之处在于VBA,因为VBA可以胜任很多个性化的二次开发,减少重复的机械劳动,实现办公自动化,开发效率高,开发周期短,尤其适合Excel重度用户。知道VBA就像一只长了翅膀的老虎!!!(我是外语专业毕业的,一次偶然的机会爱上了编程。自学之路是曲折的,
在使用Excel的过程中,有时需要将处理后的数据结果保存为PDF文件,然后发送给相关客户或同事,有时需要将多个Sheet数据转换成PDF格式文件。如何通过VBA实现指定数据批量转换为PDF文件并保存?接下来展示一个实际案例:
截图一:
截图二:
截图 3:
其他截图省略
如上图:
如果一个EXCEL文件中有多个sheet数据,需要查找所有sheet名称前三个字符为“PDF”后跟一个数字字符的sheet(即:PDF1、PDF2、PDF3和PDF4) ,把数据内容转换成PDF格式文件保存,对应的文件名就是标题名,比如“西北地区-产品销售”。
如何解决这个问题呢?先看看VBA如何将Excel数据保存为PDF文件:
运行代码后的效果如下:
核心代码是:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Sheets("PDF").Range("B3") & ".pdf" '核心代码
用核心代码解决问题,好办。接下来可以考虑将这段代码封装成一个自定义函数,方便在循环中遍历所有sheet时进行判断和调用,如下:
Function SaveAsPDF(X) '把Excel的Sheet数据另存为PDF格式文件,写成自定义函数方便后续调用
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Sheets(X).Range("B3") & ".pdf"
Application.ScreenUpdating = True
End Function
我们直接解决这个问题,如下:
运行后的结果如下:
这个怎么样!VBA不是很强大吗!!!
代码总结如下:
Sub SaveExcelAsPDF() '把Excel的Sheet数据另存为PDF格式文件
Application.ScreenUpdating = False
Sheets("PDF").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Sheets("PDF").Range("B3") & ".pdf" '核心代码
Application.ScreenUpdating = True
End Sub
Function SaveAsPDF(X) '把Excel的Sheet数据另存为PDF格式文件,写成自定义函数方便后续调用
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Sheets(X).Range("B3") & ".pdf"
Application.ScreenUpdating = True
End Function
Sub Get_PDF_FM_Excel() '通过循环判断批量生成对应的PDF格式文件
Application.ScreenUpdating = False
For Each sht In Worksheets '遍历循环每个Sheets
If VBA.Left(sht.Name(), 3) = "PDF" And Len(sht.Name()) = 4 Then '通过判断Sheet名字前三字符为PDF且字符长度为4来选择指定的Sheet
Debug.Print sht.Name()
SaveAsPDF (sht.Name()) '通过SaveAsPDF自定义函数来实现批量生成PDF格式文件
End If
Next
Application.ScreenUpdating = True
End Sub
通过今天的案例讲解,学完之后,完全可以根据自己的实际需求进行调整,从而打造出各种高效的办公自动化神器,比如批量生成*敏*感*词*、单据等小工具,感觉飞得对离开!!告别低效的加班和重复性工作!!
结尾
我为大家,大家为我!!欢迎大家关注、点赞、转发!!!
~~人生不是游戏,梦想不能退缩~~继续努力学习,蜕变为更好的自己,在学习的路上不断分享收获和感悟,帮助他人成就自我!!!