首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《Python for Excel》读书笔记连载2:为什么为Excel选择Python?(续)

    例如,为了更容易从Internet上的源获取数据,可以安装Requests包来访问一组功能强大但易于使用的命令。要安装它,可以使用Python的包管理器pip,它可以在命令提示符或终端上运行。...使用pip,你几乎可以为任何东西安装软件包,但是对于Excel用户来说,最有趣的软件包当然是用于科学计算的软件包。 科学计算 Python成功的一个重要原因是它被创建为一种通用编程语言。...:NumPy和pandas在后台使用编译好的Fortran和C代码,这与VBA相比,处理大型矩阵可以提高性能。...然而,这并不意味着VBA不再受支持:Microsoft在每一个新版本的Excel中都会提供更新,以便能够自动化该版本中引入的新Excel功能。...小结 在本章中,我们初步了解了Python和Excel,这两种非常流行的技术已经存在了几十年,与我们今天使用的许多其他技术相比,这两种技术已经存在了很长时间。

    2.6K10

    『新认知』原来python也可以完整地调用VBA的功能驱动OFFICE自动化

    经过学习后,发现其实只要使用win32com这个库,就可以将VBA的代码直接移植到python上使用。...功能上是和当前VBA的宿主相关,例如Excel版本越高,VBA的功能越多,相应的win32com这个库也可以自动增加这些功能,本质上win32com只是一个桥梁,使用python可以驱动COM组件,COM...不过按童大谦老师的【代替VBA!用python轻松实现Excel编程】一书里说的,极个别接口还是有些异常的。 我专门测试了一下,拿Excel比较新的接口如PowerQuery。...而不是使用pythonnet,后者是对.NET的非托管的dll起作用。如果硬着来,效果比较差,例如以下的代码,需要使用反映的方式才能操作COM组件。 那有哪些软件是COM组件暴露,哪些不是?...当然如果要使用C#来实现这些新的接口,如果没有引用Excel16的dll,就没有智能提示,只能用动态类型来处理,也一样可以的。

    30610

    干货 | Office文档钓鱼的实战和免杀技巧

    没做任何处理之前,VT查杀 39/61 从GUI隐藏/取消隐藏宏VT查杀 37/60 在VBA GUI编辑器中隐藏所有宏模块(默认的“ ThisDocument”模块除外)。...,这里我们需要写一个正常 无毒正常的 vba 脚本 注意:VBA重踏不适用于以Excel 97-2003工作簿(.xls)格式保存的文件 Sub Hello()Dim XX=MsgBox("Hello...发送的文档本身不带恶意代码,所以能过很多静态检测。只需要在远程DOTM文档中编写宏病毒或者木马即可。...2.6 构造DDE钓鱼文档 创建一个文档 dde.docx ,之后双击打开 dde.docx,直接Ctrl + f9快捷键便可以快速帮助创建一个域,我们则只需要在花括号中添加如下指令(弹出一个计算器),...可以将IYQ简单的理解成内置在excel中的一种特殊‘web浏览器’(不能加载脚本),通过IQY【即web查询】语句,可以直接将各类web上的列表数据轻松引入到当前的excel中,而正是因为这样,从而给了我们利用

    7.8K21

    攻击者如何使用 XLL 恶意软件感染系统

    此类加载项背后的想法是它们包含高性能函数,并且可以通过应用程序编程接口 (API) 从 Excel 工作表中调用。...与 Visual Basic for Applications (VBA) 等其他脚本接口相比,此功能使用户能够更强大地扩展 Excel 的功能,因为它支持更多功能,例如多线程。...使用 Excel-DNA 项目创建的 XLL 文件也可以使用项目提供的脚本自动解压缩。该脚本将 XLL 文件的路径作为参数,然后提取、解压缩并将资源保存到文件夹中。...图 10 – DLL 模块地址解析函数。 然后,恶意软件使用解析后的 API 函数从 Web 服务器下载有效负载,将其存储在本地,然后执行。...为了创建这些文件,攻击者很可能使用图 1 所示论坛中宣传的构建器。我们发现许多恶意加载项是使用 Excel-DNA 生成的,但是,我们分析的一些 XLL 恶意软件是定制的更多地使用加密来掩饰其功能。

    2.2K10

    VBA专题10-23:使用VBA操控Excel界面之添加动态菜单

    学习Excel技术,关注微信公众号: excelperfect 在本系列后面的示例程序中,你将会看到如何使用项目和带图像的库控件通过getItemLabel和getItemImage回调属性引用的VBA...下面介绍一个简单的使用动态菜单控件示例,在工作簿中为三个工作表(名为Data,Analysis,Reports)的每个显示不同的菜单。 1. 创建一个新的工作簿,将其保存为启用宏的工作簿。 2....这个过程为动态菜单的内容创建XML代码。 注意,上面的VBA代码以类似于CustomUI Editor中的一种方式缩进,通过使用Debug.Print语句发送构建的XML代码到立即窗口。...(对于3个不同的工作表)使用相同的子动态菜单。...如果要在用户关闭并重新打开该文件之后保留该复选框的状态,那么可能要在隐藏的工作表或者在Windows注册表中存储其状态。

    6.2K20

    再见 VBA!神器工具统一 Excel 和 Python

    经常给大家推荐好用的数据分析工具,也收到了铁子们的各种好评。这次也不例外,我要再推荐一个,而且是个爆款神器。...是的,你没听错,使用它我们就可在Excel中运行Jupyter Notebook,调用Python函数,实现数据共享。 一、安装 首先,想要在Excel中运行Python代码,需要安装PyXLL插件。...从Excel调用Python函数 使用Excel离不开函数,而当我们需要一些复杂功能时,自带函数未必能满足我们的需求。...在Excel中运行Jupyter Notebook,一切变得就不一样了! 使用PyXLL的xl_app函数获取Excel.Application对象,该对象等效于VBA中的Application对象。...Excel和Python共享数据 在Excel中使用Python绘图 从Excel调用Python函数 替代VBA脚本 不得不说这个工具是真的香,喜爱Python的同学可以不用学习VBA了,Python

    5.5K11

    常用功能加载宏——调用微信截图

    Excel2010版本以上有一个屏幕截图功能: ? 但这个功能在使用的时候,不是很方便,电脑版微信的截图功能就比较丰富,使用也很方便。...使用VBA来调用微信的dll就可以实现在Excel里使用微信的截图功能了: ?...,所以要使用API,首先定义微信dll的API: Private Declare Function PrScrn Lib "PrScrn.dll" () As Long VBA在加载dll的时候,默认是在系统目录中查找对应的...创建一个空白加载宏,命名vbapKernel32.xlam,目的是把kernel32这个dll的函数声明都放在这里,输入代码: Public Declare Function LoadLibrary Lib...或者微信安装目录没有PrScrn.dll,也可以百度搜索PrScrn.dll,下载存放到电脑上,然后设置程序中的dllpath就可以。

    2.8K20

    用Python玩转Excel | 操作大型Excel文件

    openpyxl唯一的劣势就是对Excel中的VBA(Visual Basic forApplications)支持并不友好,但掌握了Python操作Excel的知识,你将不再需要使用VBA。...为了读取大型Excel文件中的数据或将大量数据写入文件,需要使用openpyxl的read_only模式与write_only模式。...下面通过两段程序,具体说明如何使用openpyxl完成大数据文件的读取与写入: 读取实例程序: import openpyxl import load_workbook # read_only模式下读取大数据文件...'] # 遍历表格中的行数据 fow now in sheet.rows: # 遍历每行中的每一列 for cell in row: print(cell.value) 写入实例程序:...WriteOnlyCell方法,使用该方法创建的单元格依旧可以设置相应的样式。

    2.1K20

    Active APT

    创建恶意电子邮件的 Outlook VBA 脚本 基于此恶意 VBA 代码的“发送至联系人​​列表中的所有人”行为,我们认为该模块可能导致一些组织认为他们已成为 Gamaredon 的目标,而他们只是附带损害...它将生成的可执行文件放在现有目录中,并创建一个计划任务,该任务将每 10 分钟启动一次。从图 6 中可以看出,解码后的源代码中仍然有注释,说明 Gamaredon 的运算符明显草率。...一个很好地说明这种转变的示例是一个内部名称为Harvesterx64.dll的 64 位 DLL ,于 2019 年 6 月编译。...模块的字符串存储在其 .data 部分中,使用简单的 XOR 密钥进行加密。它还能够从其 C&C 服务器下载和执行任意代码。 C# 这是 C/C++ 版本的 C# 重新实现。...C# 后门线程创建例程 批处理文件/VBScript 此版本包含多个脚本,以批处理文件形式和 VBScript 编写。但是,最终目标是相同的:扫描系统以查找敏感文档。

    8K00

    Excel VBA解读(156): 数据结构—ArrayList

    在VBA中,ArrayList与内置的Collection对象类似,但提供了更丰富的功能,包括排序、数组转换、删除所有元素项目等。...然而,ArrayList不是VBA内置的对象,需要我们添加对外部库的引用,才能够使用它。 创建ArrayList 可以使用前期绑定或后期绑定来添加对包含ArrayList的外部库的引用。...前期绑定 在VBE菜单栏中,单击“工具——引用”,在“引用”对话框中,找到并选中“mscorlib.dll”前的复选框,如下图1所示,然后单击“确定”。 ?...图3 遍历ArrayList中的元素 使用For循环来遍历: Sub testReadItem() Dim alCol As Object Dim i As Long Set alCol...图4 可以看出,ArrayList中的下标从0开始,最后一个元素的下标为其元素数量减1。注意,代码中使用Count属性返回ArrayList中元素的个数。

    6.5K10

    攻击者开始使用 XLL 文件进行攻击

    这些加载项都是为了使用户能够利用高性能函数,为 Excel 工作表提供 API 调用接口。与 VBA 等其他接口相比,该方式能够更有效地扩展 Excel 的能力,使其支持更多功能,例如多线程。...在读个地下犯罪论坛中,反复看到来自同一个攻击者的广告,正在销售一个可以创建 XLL Dropper 的构建工具。...△ .NET 文件代码 使用 Excel-DNA 项目创建的 XLL 文件也可以使用项目提供的脚本自动解压缩,该脚本将 XLL 文件的路径作为参数,然后提取、解压缩并将资源保存到文件夹中。...△ 提取 XLL 文件 自定义生成的加载项 其他不使用 Excel-DNA 的 XLL 文件中,一个 Downloader 大小只有 4.5 KB,但吸引了研究人员的注意。...提供了许多合法执行代码的方式,如 Excel 4.0 宏、DDE 和 VBA,这些都已经被攻击者滥用。

    1.5K10

    最完整的VBA字符串知识介绍

    创建过程时,在过程的括号中输入参数及其名称。然后,在过程的主体中,使用合适的参数。调用过程时,可以用双引号传递参数的值。...从函数返回字符或字符串 若要创建返回字符或字符串的函数,使用Function关键字创建过程,并在括号的右侧包含前面带有As关键字的字符串数据类型,或使用$字符。...字符串的左子字符串 如果有一个现有字符串,但希望使用字符串左侧字符中的多个字符创建一个新字符串,则可以使用Microsoft Excel 的LEFT函数或VBA的Left函数。...图5 字符串的右子字符串 要使用现有字符串右侧的一个或多个字符创建新字符串,调用MicrosoftExcel的RIGHT函数或VBA的Right函数。...第一个参数是原始字符串,第二个参数是从字符串右侧开始计算的字符数。 字符串的中间子字符串 可能希望使用一些来自左侧、右侧或现有字符串内部的字符创建字符串。

    2.8K20

    如何在Excel里加载第三方插件,让你的Excel功能更加强大!!!

    虽然我们大部分人对于VBA不甚了解,但是毕竟这个世界上还是有很多大神的,很多VBA爱好者为office系列开发了很多简单易用、免费高效的第三方插件,今天就教大家怎么在Excel里面加载这些插件!...这些加载项分为两类:一类是以Excel加载宏格式(文件后缀名为“.xla”【2007版之前的后缀名】、“.xlam”【2007版本之后的后缀名】)存储的;另一类是以.dll文件封装的com加载宏。...第二种com加载宏加载比较简单,下载软件之后默认安装,系统会自动把.dll文件载入到Excel的相应的com加载宏目录里,打开Excel文件就可以在主界面菜单栏里面看到!...今天要给大家分享两款,Excel中制作高级图表的必备神器,顺便演示一下怎么调用加载宏: 第一个是Ec_Chart_Alignment.xlam ,这款插件的主要功能是,可以将Excel图表的数据标签轻松批量移动到绘图区的上...本插件的优点是移动幅度以1point(s)计算步长的(好像可以修改步长参数),要是想将标签从图表右侧移到左侧最好还是使用上一个Ec_Chart_Alignment工具,使用XYChartLabeler工具移动得花费老半天要累死人的

    8.6K50

    Python替代Excel Vba系列(终):vba中调用Python

    本系列一直强调要善用各种工具,作为本系列的最后一节,那么这次就用一例子说明如何让Python结合Vba,直接在Excel中动态获取各种处理条件,输出结果。...本文要点: 使用 xlwings 注册 Python 方法到 Vba 模块 Vba 调用 Python 方法,输出结果到 Excel 注意:虽然本文是"Python替代Excel Vba"系列,但希望各位读者明白...而上述命令行只是把这个 xlam 文件放入你的 excel 加载项目录中而已。 ---- ---- 然后,在你的任意目录中打开命令行。...他大致原理是读取 py 文件中的方法,然后相应在 vba 中生成名字和参数一样的 vba 方法。 因此,假如你的 py 文件的方法定义改动了,记得要在这里点击一下,重新导入定义。...---- ---- 到此为止,即可编写 vba 代码去调用。如下: 注意红线部分,返回结果的 numpy 数组索引是从0开始计数。因此这里需要在最大索引+1才是行和列的数目。

    5.4K30

    VBA: 隐藏模块中出现编译错误:的解决对策

    通过64位office软件打开早期的excel文件,如果代码中存在早期面向32位office编写的VBA代码,可能会存在上述的编译错误。...(2)如果没有访问文档中 VBA 代码的权限,请与文档作者联系,让作者更新隐藏模块中的代码。...因为 VBA 版本 6 和更早版本没有用于指针或句柄的特定数据类型,所以,它使用 Long 数据类型(一种 32 位 4 字节的数据类型)来引用指针和句柄。...对于要在 64 位版本的 Office 中运行的代码,您需要找到并修改所有现有 Declare 语句以使用 PtrSafe 限定符。...调用DialogBoxParamA显示VB6INTL.dll资源中的第4070号对话框(就是输入密码的窗口) '若DialogBoxParamA返回值非0,则VBE会认为密码正确,所以我们要hook

    14K11

    暂停或延迟Excel VBA运行的3种方法

    4.在批处理操作之间延迟代码运行可以有效地处理大型数据集或对多个对象执行操作,同时控制资源消耗 5.在VBA代码中引入延迟有助于创建一个更可控的操作序列,允许脚本逐步执行或以特定的间隔执行,从而增强整个脚本代码的逻辑和精确度...使用Application.Wait让VBA暂停 假设,当Excel执行一批VBA代码,暂停几分钟并重复时,不需要在Excel中执行任何操作。...例如,任务是自动化从单元格区域A2:A7到C2:C7复制值的过程,并暂停代码脚本10秒。然后,Excel将C2:C7中的值与D2:D7中的数值相乘,并将结果放入单元格区域E2:E7中。...End Sub 使用循环来暂停 如果需要在暂停时间修改工作表或在Excel数据集中输入数据,则上述两种方法不适用。此时,可以使用循环来暂停Excel VBA。...如果在VBA代码脚本暂停时需要在Excel工作表中输入数据,则应尝试基于循环的方法。它可以暂停代码的执行,直到在Excel中重组或输入数据,然后继续完成代码。

    4.2K30
    领券