Excel文档是十分常见的办公软件,一旦被黑客盯上,足以让大批量的用户中招。用相同的Excel文档混淆用户视线,表面“波澜不惊”,实则“暗藏危机”。
Office 版本历经十几年的变迁,现已趋于成熟,但仍存在着新老版本交替使用的问题。Office 97-2003 Word 的文件后缀为 doc,新版本的 Office 文件后缀为 docx,包含宏的文档后缀为 docm。微软是不会允许将包含宏的文档命名为 docx,但是可以被命名为老版的 doc。例如一个 docm 文件,文件头的魔数是 504b0304(ZIP 文件的魔数),修改其后缀为 doc 后,文件头的魔数不变,且能够正常执行。而老版的 doc 文件头的魔数是d0cf11e(docfile 的十六进制表示 ^_^),所以我们可以通过文件后缀和魔数是否匹配来判断一个文档是不是恶意的。
身边朋友经常问我,“猴子,我一个月总有几天,用Excel干同一件机械重复的事儿,有没有省时省力的招儿?”
本文将向你展示如何使用Python xlwings库自动化Excel。毋庸置疑,Excel是一款非常棒的软件,具有简单直观的用户界面,而Python是一种强大的编程语言,在数据分析方面非常高效。xlwings就像胶水一样,将两者连接到一起,让我们能够同时拥有两者最好的一面。
大家好,前面介绍了工作簿对象的属性,本节开始介绍工作簿对象的常用方法。这些常用方法可以实现平时用手工的新建、打开、激活、保存excel表等功能。
程序员学习程序开发都喜欢以输出“hello world”为第一个程序,我们也学习一下这种模式,因为Excel VBA主要是操作Excel,所以我们的第一个程序目的:在A1单元格输入“hello Excel VBA”。
网名:liucqa,OFFICE开发领域真大牛,比ExcelHome所有版主和所有出OFFICE开发类书籍的人都要牛的人,出品了它的大作,给大家推荐使用。
本文主要讲Python与Excel的关系以及集成方案,Office家族的其他成员,如Word、PowerPoint与Excel拥有类似的功能,Python同样可以与Word、PowerPoint等Office成员结合,这些内容我以后会写文章讲解。
因插件是使用visualstudio的开发环境开发的,这种Excel插件有别于传统的使用VBA语言开发的Excel插件,需要对用户电脑有一些底层的运行环境的要求。咋看是有些麻烦,但实质是更加安全、友好,用户在环境搭建好的情况下,基本只需双击这样的动作就能打开使用,不需设置宏安全性、宏警告等VBA开发的插件所面对的问题,特别适合企业级别的开发使用。
有时候,我们可能想要从Python运行Excel VBA宏,特别是当想要运行已有的Excel宏时,这很有用——甚至可以在不打开Excel文件的情况下执行这些VBA宏。
在这个示例中,使用ADODB.Connection对象来建立与MySQL数据库的连接。将示例中的服务器地址、数据库名称、用户名和密码替换为自己的MySQL数据库信息。然后,你可以在打开连接之后执行各种数据库操作了。
VBA还会存在多久?VBA会消失吗?我现在学VBA还来不来得及?什么语言会取代VBA?……这些都是老生常谈的话题,多少年前就有不少人在争论。然而,时至今日,VBA不仅没有消失,而且还活得很好。
有小伙伴向我反映到,本系列前面的章节主要还是在讲 pandas ,几乎与 xlwings 没有啥关系。
在Excel VBA对象模型里,我们说到了Excel VBA的专有对象,在前面几乎都是使用Excel VBA的专有对象,主要是因为我们操作处理的是Excel,其实VBA语言还有一些通用的对象(通用指的是比如在word里也有,在其他一些用VBA语言的应用程序都有的对象),这些对象在Excel VBA里用的还是比较多的,比如字符串对象那些功能,在用VBA实现Excel函数03:SUMIF已经使用过了。
这是 酒仙桥六号部队 的第 18 篇文章。全文共计3670个字,预计阅读时长10分钟。前言如果评选世界上最善良的文件,Word文档应该榜上有名。很少有人会把".doc"文件和黑客手中的杀人利器联系起来。然而,事实正好相反。上世纪90年代,就有"宏病毒"出现,病毒制造者利用word的特性,在文档中内嵌破坏性的程序。不过,
这次我们介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理日常工作。
说起Excel,那绝对是数据处理领域王者般的存在,尽管已经诞生三十多年了,现在全球仍有7.5亿忠实用户,而作为网红语言的Python,也仅仅只有700万的开发人员。
⭐Excel VBA宏(Visual Basic for Applications)是一种用于在Microsoft Excel中自动化和扩展功能的编程语言。VBA允许用户编写自定义的脚本或宏,以便通过执行一系列指令来自动完成特定任务。
这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理日常工作。
首先,如果文件格式是(.xslm),需要先打开Excel文件,另存为2003版格式(.xls)。
我们使用Excel VBA绝大多数情况都是在处理Excel的数据,一般都是直接读取Excel,也就是使用Workbooks.Open,随着VBA使用的深入,我们要处理的数据可能不局限在Excel里,有时候也会需要去读取外部的数据。
最后,我们需要启用对 VBA 项目对象模型的信任访问。你可以通过导航到文件选项信任中心设置宏来做到这一点:
直到 90 年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言——–Visual Basic For Application(VBA),可以认为 VBA 是非常流行的应用程序开发语言VASUAL BASIC 的子集.实际上VBA是”寄生于”VB应用程序的版本.VBA和VB的区别包括如下几个方面:
近期,研究人员发现使用恶意 Microsoft Excel 加载项(XLL)文件发起攻击的行动有所增加,这项技术的 MITRE ATT&CK 技术项编号为 T1137.006。
根据安全专家的最新发现,Microsoft Excel的旧用户正成为恶意软件的攻击目标。这种恶意软件攻击活动使用了一种新的恶意软件混淆技术来禁用Microsoft Office的安全防御机制,然后传播和感染Zloader木马病毒。
事件驱动编程,可以让操作变能更丰富,更改事件可能会使事情变得更容易处理。开发者可以靠着各种事件的的触发来设计可以自动执行的 Office 应用,比如可以在工作表中的选择时发生的事件,就是一个常见的应用场景。
Important: This article is for educational purposes. Try this method for opening ONLY your own files, as I did too!
上一讲说了Range对象,这一次我们从总体方面来说一下Excel VBA的对象模型。
来自数据冰山,CDA以获作者授权转载 许多高级程序员瞧不上VBA。因为程序员是有鄙视链的:汇编 >C >C++ >Python >Java及C#及PHP(这三者相互撕) >VB >HTML。在这长长的鄙视链中,甚至都没有VBA的位置。 可是,Excel+VBA是图灵完备的(谢谢 @Octolet 的精辟总结),所以被程序员用来耍酷的各类性感语言能实现的大部分功能,Excel+VBA都能实现,而且往往是以更高效更快捷的方式,在这里不谈效率和优雅。而且考虑到大部分普通群众是没有编程环境的(各种依赖各种包,各种
可能这个名字没有听说过,但是只要使用过Windows电脑的,其实都接触过这种结构的文件,只是没有注意到而已。
在PowerQuery的数据处理中,有相当多的一些功能使用起来非常方便,对应于企业级的SSIS,反而缺少了这些的灵活性,真正要完全使用SSIS来实现,非常繁琐。如PowerQuery里的逆透视功能,行列转置功能,标题行提升功能等。
前言能生成 pandas 代码的数据浏览工具工具安装加载数据直觉理解运行机制进一步完善充分利用 Excel 功能最后
👆点击“博文视点Broadview”,获取更多书讯 面向Excel数据处理自动化的脚本编程,目前主要有VBA和Python两种语言可供选择。 从上世纪90年代到目前,VBA一直是Excel脚本编程的主要工具。VBA语言具有简单易学、功能强大的特点,在长达几十年的时间里为提高Excel工作效率作出了贡献,也积累了海量的代码和学习资料。在这段时间里,Basic语言也一直是国内中学到大学教学首选的计算机语言。 随着网络时代的全面到来,以及大数据、人工智能等的兴起,Python语言在国内异军突起。Python语言
上述发现是通过对2020年11月至2021年3月期间16万份Excel 4.0文件进行分析而来,其中90%以上被归类为恶意或可疑文件。
在每一个带有VBA代码的文件里,都会有一个VBAProject,在VBA编辑器的工程资源窗口可以看到:
面向Excel数据处理自动化的脚本编程,目前主要有VBA和Python两种语言可供选择。
一说到数据库,一般都会想到那些很专业的数据库,其实Excel本身也可以作为数据库来使用。
文章背景:测试仪器的数据有些会以Excel文件的形式保存,有时需要将测试数据转化为pdf格式。上篇文章(见文末的延伸阅读)通过VBA代码,采用ExportAsFixedFormat函数将excel文件转化为pdf文件,对于部分excel文件的转化效果不太好,有些谱图显示不完整,如下图所示。
写在开头的话:本系列从第133篇开始的22篇文章,都是翻译改编自fastexcel.wordpress.com的Making your VBA UDFs Efficient系列,可能有点高深晦涩,但确实都是好的VBA用户自定义函数编程细节技巧和经验。对于大多数人来说,你可以略过这些内容,因为我们只需懂得基础的VBA用户自定义函数知识就足够了。对于想深入研究VBA的人来说,还是值得研究和试验的。我刚开始看到这些文章的时候,一是水平有限,看不大懂,也觉得没有什么必要,所以一直收藏着。然而,随着自已研究VBA的深入,不由得佩服老外对VBA研究的深入,此时刚好Excel VBA解读系列又写到自定义函数这里,正好拿出来,边研究并翻译分享给大家。如果对这些内容没有兴趣的朋友,可以略过,免得浪费时间。
使用Excel的目的是为了处理大量的数据,而学习VBA是为了更方便的处理大量的数据,用的多了就会发现,在使用VBA处理Excel中的数据的时候,总是花很多的精力在处理那些不规则的数据上。
本节为《Chapter 1:Why Python for Excel?》的第一部分,简单地讲解了Excel的历史,Excel编程的最佳实践,以及Excel为适应发展而作出的变化。 当你每天花费很多时间
👆点击“博文视点Broadview”,获取更多书讯 ▊ VBA与Python:当王者荣耀遇到卷王之王 VBA语言是VB的一个子集,具有简单易学、功能强大的特点。 上世纪90年代末至今,VBA语言被大部分主流行业软件用作脚本语言,包括办公软件如Excel、Word、PowerPoint等,GIS软件如ArcGIS、MapInfo、GeoMedia等,CAD软件如AutoCAD、 SolidWorks等,统计软件如SPSS等,甚至连图形软件如PhotoShop、CoralDraw等也使用VBA进行脚本编程。
在工作表自定义函数的开发中,存在两种类似的自定义函数,一种是存储在xlam或xlsm上的,一种存储在xll文件上的。其开启关闭都在Excel普通加载项处,如下图所示。
Power BI本是新生代的四小天王组合,虽然目前只剩下Power Query和Power Pivot,但作为开路先锋,锐不可当。
一般对于问这个问题的人,我的建议是:慎重考虑是否真有必要学VBA——除非您还是一个年轻且有大量精力和时间的在校学生。
原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,尽可能跳转回简书平台上查看。
领取专属 10元无门槛券
手把手带您无忧上云