首页
学习
活动
专区
圈层
工具
发布

『WPS二次开发最新成果』使用外部程序VSTO插件执行JSA宏

在WPS的个人版上,默认只有JSA宏,没有VBA宏,虽说在VSTO/ExcelDNA项目里或者外部程序如C#/python等可以使用COM通信来调用WPS的COM开放的接口。...但事实是,在JSA宏里有的一些接口,WPS没有开放同步到VBA接口上。...【支持R脚本】FreeScript给数据分析工作者带来无限惊喜,在Excel/WPS环境上做专业数据分析不是梦 有了这个口子后,接下来,就是想办法把自己要实现的jsa宏放到一个xlsm文件里,然后使用外部程序打开这个...xlsm文件,就可以使用Application.Run方法来调用了。...有什么样的菜做什么样的饭,既然没有了,保能自己想办法创造,利用现有的可行的方案,自己再慢慢堆积了,例如笔者给WPS扩展了调用主流开发语言的FreeScript插件,和本篇的可以调用JSA宏,有了这两样的加持

2.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    『JSA神助攻之二』使用外部程序VSTO插件执行JSA宏

    以下是历史内容: 在WPS的个人版上,默认只有JSA宏,没有VBA宏,虽说在VSTO/ExcelDNA项目里或者外部程序如C#/python等可以使用COM通信来调用WPS的COM开放的接口。...但事实是,在JSA宏里有的一些接口,WPS没有开放同步到VBA接口上。...【支持R脚本】FreeScript给数据分析工作者带来无限惊喜,在Excel/WPS环境上做专业数据分析不是梦 有了这个口子后,接下来,就是想办法把自己要实现的jsa宏放到一个xlsm文件里,然后使用外部程序打开这个...xlsm文件,就可以使用Application.Run方法来调用了。...有什么样的菜做什么样的饭,既然没有了,保能自己想办法创造,利用现有的可行的方案,自己再慢慢堆积了,例如笔者给WPS扩展了调用主流开发语言的FreeScript插件,和本篇的可以调用JSA宏,有了这两样的加持

    1.3K10

    『JSA宏神助攻之二』使用外部程序VSTO插件执行JSA宏

    以下是历史内容: 在WPS的个人版上,默认只有JSA宏,没有VBA宏,虽说在VSTO/ExcelDNA项目里或者外部程序如C#/python等可以使用COM通信来调用WPS的COM开放的接口。...但事实是,在JSA宏里有的一些接口,WPS没有开放同步到VBA接口上。...【支持R脚本】FreeScript给数据分析工作者带来无限惊喜,在Excel/WPS环境上做专业数据分析不是梦 有了这个口子后,接下来,就是想办法把自己要实现的jsa宏放到一个xlsm文件里,然后使用外部程序打开这个...xlsm文件,就可以使用Application.Run方法来调用了。...有什么样的菜做什么样的饭,既然没有了,保能自己想办法创造,利用现有的可行的方案,自己再慢慢堆积了,例如笔者给WPS扩展了调用主流开发语言的FreeScript插件,和本篇的可以调用JSA宏,有了这两样的加持

    1.2K10

    全新python高性能excel解析库

    同事有一段 python 脚本,里面用 pandas 读取一个几十万行的 excel 文件,但是速度实在太慢了。问我有没有什么好办法提升运行速度。如果在几个月以前,就实在没有什么好办法了。...毕竟在 python 生态中,读写 excel 最后的倔强就是 openpyxl 了。你就别指望它能提速了。 现在可不一样了。...pandas 版本,因为在 pandas 2.2 版本,开始引入一个全新的 excel 解析引擎库,它不仅仅性能吊打 openpyxl ,并且同时支持一众 excel 格式( xls , xlsx , xlsm...好消息是,python 也有对应的接口库: 更好的消息是,pandas 在 2.2 版本开始,悄悄支持了 calamine 。为什么说"悄悄"?...现在看看使用 calamine 引擎,加载到 dataframe 要多久: 9.4 秒,还是比 feather 文件的 2.5 秒慢多了。

    2K20

    VSTO开发Excel插件自动更新实现效果演示

    一般情况下,我想都是需要重新开发一个新的xlsm或xlam文件,然后重新发给用户,这当中如果频率太频繁,用户手里积累了好多个xlsm或xlam,也很难分清具体哪个是最新的(就算文件名上可以标识,但很难保证每个用户都每个用户都记得去下载最新版的...最终的局面估计是双方都怨声累累,用户报怨开发者太屎了,老是功能出错,开发者也报怨用户使用千奇百怪,哪能想得完全所有的意外情况,程序有bug也是再正常不过的事情。 ?...例如传统VBA是以文档的形式和用户做传输,用户对文件的来源和文件内的代码的安全性很难把控,就算相信某个开发者,但也很难保障到最终拿到手里的文件是出自此开发者的,传输过程中没有被恶意修改过的等等。 ?...现VSTO的程序为何能做到不需用户干预,直接就自动更新了呢,如果出现像传统VBA开发那样,更新的代码被篡改了,然后用户不知情下代码已经植入了用户的机器,这样的情况岂不是很可怕。...2、用户机器需要信任开发者给程序存放自动更新的路径(网站或共享UNC路径),就如我们xlsm文件我们存放在本机时,只对某个文件夹路径的xlsm可以开绿灯放行,如果不在这文件夹内的xlsm文件,默认是不能打开宏代码

    2.9K20

    打破Excel与Python的隔阂,xlwings最佳实践

    "myproject" 是你的项目名字, 你可以修改为任何合法的名字, 此时你会发现项目文件夹中生成了一个名为 "myproject" 的文件夹,其中有文件: myproject.xlsm,这是带 vba...打开 Excel 文件 myproject.xlsm(注意要启动宏): 在 xlwings 页中,点击 import Functions 的大按钮,意思是"导入 Python 文件中的函数" 此时我们输入函数公式时...从步骤上来说: 定义 Python 自定义函数(在文件 myproject.py 中) 点击"导入函数"的按钮(在 Excel 文件 myproject.xlsm 中) 那么为什么需要点击 "导入函数"...中的代码: 我们希望返回结果的前10行 修改后,保存一下此 Python 文件,在 Excel 上无须点击"导入函数"按钮,只要公式有刷新(比如修改公式引用到的单元格的值),就能看到最新结果: 只有...: 其中来源选择 Sheet2 的A列 现在可以下拉选择文件: 目前这个功能无法随时监控文件夹的文件变化,后面我们再想办法解决 ---- 最后 今天内容已经比较多了,以后我们将继续完善和添加其他功能到此工具上

    7K50

    Excel文件常见格式及其作用

    xls xlsx xlsb xlsm xltx xlam 1,2,3,4,5,6 一共6个格式 这就是我们今天要说的六个Excel格式 xls 这是我刚学习Office时候的格式 那时候还是Excel...那么有可能就是格式不对了 xlsx 在Office 2007发布之后 开始用xlsx格式 这个格式对比xls 1 多了个x 2 行列更多 3 文件体积更小 关于第3点 由于xlsx可能保存了xls所没有的功能...所以xlsx有时候会更大 xlsm 关于这个格式 我们只需要知道 它可以保存Excel文件中的代码就行了 xlsb 关于这个格式 我们同样只需要知道 它可以保存Excel文件中的代码 但是文件体积比xlsm...更小 至于功能上有没有其他影响我还没有发现 如果你发现了 不妨和我分享一下 扩展一下 xltx 这个格式叫'模板'格式 双击这个格式的文件 会自动新建一份该文件的副本 并在保存的时候另存为新的文件...xlam文件 加载到自己电脑上的Excel里 以后每次打开就有你独特的功能了 总结一下 来个明细对比表 - xls xlsx xlsm xlsb 最大行 65536 1048576 1048576

    3.1K20

    用Python处理Excel的资源

    用Python处理Excel的资源 python-excel[1] 读写Excel文件 openpyxl openpyx文档l[2] • 读写Excel2010文件(即xlsx) openpyxl示例:...pyxlsb 以 xlsb 格式读取 Excel 文件。 pylightxl 读取 xlsx 和 xlsm 文件,写入 xlsx 文件。...xlwt 向较旧版本的 Excel 文件(即:.xls)写入数据和格式化信息 xlutils 包含xlrd 和 xlwt 的实用工具,包括复制、修改或筛选现有的 Excel 文件的功能。...编写Excel插件(VBA替代) xlwings xlwings[4] 是一个开源库,用 Python 自动化 Excel,并在 Windows 和 macOS 上运行:您可以从 Excel 调用 Python...PyXLL PyXLL[5] 是一款商业产品(29刀/月),可以用Python编写 Excel 插件,无需 VBA。Python 函数可以公开为工作表函数(UDFs)、宏、菜单和功能区工具栏。

    77110

    Excel+Python,简直法力无边

    ,随用随取,可以节省大量代码时间; 对于Python爱好者来说,pandas、numpy等数据科学库用起来可能已经非常熟悉,如果能将它们用于Excel数据分析中,那将是如虎添翼。...xlwings会帮助你创建.xlsm和.py两个文件,在.py文件里写python代码,在.xlsm文件里点击执行,就完成了excel与python的交互。 怎么创建这两个文件呢?...如果你想把文件创建到指定文件夹里,需要提前将命令行导航到指定目录。 创建好后,在指定文件夹里会出现两个文件,就是之前说的.xlsm和.py文件。...我们打开.xlsm文件,这是一个excel宏文件,xlwings已经提前帮你写好了调用Python的VBA代码。 按快捷键Alt + F11,就能调出VBA编辑器。...if __name__ == "__main__": xw.Book("PythonExcelTest.xlsm").set_mock_caller() main() 然后在.xlsm文件

    5.7K50

    Workbook工作簿对象方法(二)

    (注意文件名的扩展名的与原文件一致) 在使用saveas方法将工作簿另存为新文件后,将自动关闭原文件,打开新文件,如希望继续保留原文件不打开新文件,可以用savecopyas方法。...示例1 保存所有工作簿 代码中定义wb变量为工作簿对象,通过for each循环语句,在所有的工作簿中循环,保存所有工作簿。...如果修改了工作簿,则使用此参数指定是否保存修改;如果参数值设置为True,则关闭时将保存修改,此时如果工作簿还没有被命名,则使用参数Filename指定的名称,若没有指定Filename参数,则要求用户输入文件名...3、参数Filename指定保存修改的工作簿名称。 示例保存关闭工作簿 下面以保存并关闭vba.xlsm文件为例。...Workbooks("vba.xlsm").Close savechanges:=True通过简单的代码,可以实现直接保存之后关闭excel文件。

    6K20

    在Excel中调用Python脚本,实现数据自动化处理

    中有众多优秀的第三方库,随用随取,可以节省大量代码时间; 对于Python爱好者来说,pandas、numpy等数据科学库用起来可能已经非常熟悉,如果能将它们用于Excel数据分析中,那将是如虎添翼...xlwings会帮助你创建.xlsm和.py两个文件,在.py文件里写python代码,在.xlsm文件里点击执行,就完成了excel与python的交互。 怎么创建这两个文件呢?...如果你想把文件创建到指定文件夹里,需要提前将命令行导航到指定目录。 创建好后,在指定文件夹里会出现两个文件,就是之前说的.xlsm和.py文件。...我们打开.xlsm文件,这是一个excel宏文件,xlwings已经提前帮你写好了调用Python的VBA代码。 按快捷键Alt + F11,就能调出VBA编辑器。...if __name__ == "__main__":     xw.Book("PythonExcelTest.xlsm").set_mock_caller()     main() 然后在.xlsm文件

    5.7K20

    如何在Excel中调用Python脚本,实现数据自动化处理

    中有众多优秀的第三方库,随用随取,可以节省大量代码时间; 对于Python爱好者来说,pandas、numpy等数据科学库用起来可能已经非常熟悉,如果能将它们用于Excel数据分析中,那将是如虎添翼。...xlwings会帮助你创建.xlsm和.py两个文件,在.py文件里写python代码,在.xlsm文件里点击执行,就完成了excel与python的交互。 怎么创建这两个文件呢?...如果你想把文件创建到指定文件夹里,需要提前将命令行导航到指定目录。 创建好后,在指定文件夹里会出现两个文件,就是之前说的.xlsm和.py文件。...我们打开.xlsm文件,这是一个excel宏文件,xlwings已经提前帮你写好了调用Python的VBA代码。 按快捷键Alt + F11,就能调出VBA编辑器。...if __name__ == "__main__": xw.Book("PythonExcelTest.xlsm").set_mock_caller() main() 然后在.xlsm

    5.7K30

    100天精通Python丨办公效率篇 —— 07、Python自动化操作 Excel(读写、增删改查、分组统计)

    Python 是一种功能强大的编程语言,可以用于许多任务,包括处理 Excel 文件。操作 Excel 文件可以帮助您在办公室中自动化许多任务,从而提高生产力。...使用第三方库 openpyxl openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。...使用第三方库 xlrd 和 xlwt xlrd 和 xlwt 分别用于读取和写入 Excel 文件,支持多个工作表,但不支持 Excel 2010 xlsx/xlsm/xltx/xltm 格式。...使用 pandas 库 pandas 是一个用于数据分析的 Python 库,也可以用于读写 Excel 文件,支持多个工作表,但不支持 Excel 2010 xlsx/xlsm/xltx/xltm 格式...修改单元格值 使用 pandas 库中的 at()函数或.iat()函数可以修改单元格的值。

    2.5K61

    再次挑战使用xlsm宏文件的方式安装插件,突破IT权限封锁,可EasyShu保底成功安装版本

    今天在群里找到几位在公司电脑受强监管,不能轻易安装软件的群友来作测试,尝试使用一个xlsm文件的方式,使用VBA的方式实现将嵌入在xlsm文件里的安装包(已经打包成一个zip文件),释放出来后,再进行解压至指定位置的方式完成安装操作...,突破了双击exe文件安装失败的情形。...下载地址如下: 【金山文档】 测试VBA安装软件V4 https://kdocs.cn/l/ciD7q2XQauMr 这个方法,本来想应用于EasyShu的安装的,因为EasyShu最新版4.0已经集成了python...和R两个环境,也集成了全套世界和中国轮廓地图,最终的文件夹大小太大了,压缩包都有200M+以上,用这个方法,最终是跑通了,但体验有些差,等待时间比较长,最终可能要再改善下。...不能直接嵌入的方式,用一个压缩包,让用户主动去解压,然后再运行xlsm文件,可能更合理些,若EasyShu因为公司管控不能安装的朋友们,如果急切需要的话,可以留言让笔者知道急迫性,会再增加一些开发探索的时间来攻克它

    44710
    领券