为了保护自己辛辛苦苦编写的Excel VBA代码不被盗用,我们需要对Excel VBA代码进行加密。通常的做法是利用给工程设置密码的方法实现加密,对于这类加密方法,由于存在安全度低、易破解等问题,因此往往起不到应有的效果。通过将Excel VBA代码封装成DLL动态链接库,可有效防止代码被非法查看。在百度里搜索“封装EXCEL VBA”关键字,有很多封装VBA的教程,但99%是利用VB6(Micr
转载 2024-05-07 18:53:56
236阅读
# Python调用VBA DLL 在Python中调用VBA DLL可以实现Python与VBA的互操作,进而实现更灵活且功能强大的应用。本文将介绍如何在Python中调用VBA DLL,并提供相应的代码示例。 ## 什么是VBA DLLVBA DLL是使用Microsoft Visual Basic for Applications(VBA)开发的动态链接库(DLL)。VBA是一种宏
原创 2024-02-10 07:00:21
90阅读
xlwings - 让Excel飞起来image说明:我的xlwings版本是0.11.5。老一点的版本可能需要经过额外的设置,其excel插件才能用。xlwings是一个python的库,支持从Excel调用Python,也支持通过Python去操作Excel。官方说明、网上的文章已经有很多了。这里总结如何从Excel通过加一个Macro(宏),点击一个按钮来调用Python,从而实现对Exce
转载 2023-09-11 17:28:53
170阅读
2010-6-15 18:51  这2天学习了VBA的封装,不算完美,但已基本实现预期。人生是否也像这样,努力追逐自己的完满,但涉及到他人时却百啭千回?  在本机测试了N次,没有问题;发给几个朋友测试,却是问题多多。不是提示这里错误,就是提示那里错误。最好的情况就是————手工添加对dll的引用,然后程序方可顺利运行。自动添加引用————这也是百思不得其解的地方。google、百度,中外资料这么一
在项目中遇到客户的一个需求,需要在VBA中引用C#写成的DLL,并调用这个DLL中某个类的方法。将VBA中计算得出的数据通过参数传给DLL。经过调查,结论是: .net做出的dll不同于AxtiveX,是不能直接调用的。但可以转换成COM。关于这个可以参照http://msdn2.microsoft.com/zh-cn/library/zsfww439.aspx最后的实现方法如下: 1.&nbsp
转载 2023-12-29 23:14:50
154阅读
DLL文件制作与在VBA调用初级进阶■ 作者:ldhyob 日期:2004.02本文用一简例来演示如何将一正常在VBA中运行的代码移植到VB制作的DLL中去
转载 2022-01-06 14:11:35
1810阅读
I was updating an application I created in Access VBA and came across a scenario that I needed to encapsulate some of the functionalities in a DLL. I used to use VB (Visual Basic 5 and 6) to create DLLs many years ago. The best way nowadays is to use C# or VB.Net to create the DLL.Creating a DLL in.
转载 2011-11-23 12:52:00
452阅读
2评论
总共就两个部分,第一部分说几个声明API并使用的技巧,第二部分简单讲一下怎么动态调用DLL一、动态声明玩API的人看到前面的描述肯定会心里MMP,废话少说,看内容。1、相对路径声明这个最好理解普通的API声明长这样:Declare Function LZ4_versionNumber Lib "liblz4" Alias "_LZ4_versionNumber@0" () As Long
转载 2024-06-24 17:19:32
44阅读
VBA 类模块学习1  问题背景2  创建自己的对象3  属性过程4  创建集合4.1  `Collection` 对象创建集合4.2   在类模块中创建集合5  封装 本文中,大部分内容源于书籍《Excel 2007 VBA 参考大全》,ISBN:9787115311696。感谢原书第一作者及译者。 工作表模块、图表工作表模块、工作簿模块和用户窗体模块都是类模块。不过,这些模块都是特定类型的类
转载 2024-02-16 20:18:09
155阅读
Sub 宏1() ' ' 宏1 宏 ' ' Range("E3:E33").Select Selection.Copy tyear = 2010 tmonth = 1 For startIndex = 3 To 2701 Step 31 '2436 Range("E" & startIndex).Se...
VBA
转载 2018-03-22 03:26:00
643阅读
2评论
VB控件和对象:ScriptControl 控件3. ScriptControl 控件    Microsoft Script Control 控件可以创建运行任何 ActiveX(R) scripting 引擎,例如 Microsoft(R) Visual Basic (R) Scripting Edition 或Microsoft(R) JScript(TM) 的
转载 2023-08-21 17:25:01
788阅读
 range().resize(x,y) 方法语法Range(i,j).resize(行数,列数)   resize(x,y) 表示的区域,x是行,往下。Y是列,往右。重新定位出来的区域 resize() 得出的是一个区域范围!!!因为X 是表示行数,必须大于0因为Y是表示列数,必须大于0resize(x,y)可以为负数吗?比如 resize(-1
转载 2024-06-09 08:57:37
788阅读
大家好,我是东哥。经常给大家推荐好用的数据分析工具,也收到了铁子们的各种好评。这次也不例外,我要再推荐一个,而且是个爆款神器。Excel和Jupyter Notebok都是我每天必用的工具,而且两个工具经常协同工作,一直以来工作效率也还算不错。但说实在,毕竟是两个工具,使用的时候肯定会有一些切换的成本。最近,在逛GitHub突然发现了一款神器「PyXLL-Jupyter」,它可以完美将Jupyte
1. 在工具栏中将"开发工具"菜单调出来,点击VBA script或者快捷键ALT+F11, 打开编程窗口 1. 下拉列表:选中要处理的单元格 数据 数据验证(数据有效性) 序列 输入示例:1,2,3 1. function和sub最大区别在两点 1.function可以返回值,sub则不可以返回值
转载 2017-05-24 08:47:00
923阅读
2评论
ThisWorkbook 返回一个 Workbook 对象,该对象代表当前宏代码运行的工作簿 Screenupdating Application的一个属性,是Boolean 数据类型,意思是屏幕窗口刷新是否打开,Application.Screenupdating=False,意思是屏幕窗口刷新关闭,可以加快程序运行,加在程序开头;Application.Screenupdating=True,意思是屏幕窗口刷新打开,加在程序结尾。以上两句应在程序调试好之后再添加。 VBA程序一般需要在开头结尾加上Screenupdating控制语句,以加快程序运行 Calculation Applica.
转载 2010-04-09 10:13:00
732阅读
2评论
在编写代码时,常需要依据指定内容在指定区域查找符合条件的单元格,这时就需要用查找的方法。在工作表中,可以执行【编辑】/【查找】命令查找指定的单元格,同样也可以利用在公式中使用Match 等函数对单元格进行查找。工具/原料 Excel 2013一、Find查找 1单元格范围.Fing. (查找内容,查找开始位置,搜‘索范围,单元格区配γ 搜索方式,搜索类别,区分大小写,区分全/半
转载 2024-03-04 17:04:38
666阅读
VBA术语这些术语将在很多的模块中使用,因此理解其中的每一个术语都很重要。模块模块是编写代码的区域。如下图中,这是一个新的工作簿,因此没有任何模块。要插入模块,请导航到插入 -> 模块。当插入模块之后,就会有一个名称为“模块1”的模块被创建了。插入模块完成之后,就可以在模块中编写VBA代码,代码写在一个过程(Sub)中。 一个过程/子过程是一系列的VBA语句,指示要做什么工作。程序/过程程序
转载 2024-04-18 14:21:55
401阅读
目录1. 代码基本结构2. 基础操作:对单元格3.  赋值4. 格式设置5. 逻辑6. 说明1. 代码基本结构Sub name() '定义一个函数' '代码主体' End Sub2. 基础操作:对单元格'选择单元格' Sub CellSelect() '选中单个单元格'的三种等价表示 'Example 1' Cells(3,1).Select '选
转载 2023-06-30 11:31:46
745阅读
Sub 产品图片导出重新对应命名() Dim Ad$, FileName$, sfolder$, Shp As Shape, FSO Application.ScreenUpdating = False On Error Resume Next Set FSO = CreateObject("Scripting.FileSystemObject")
转载 2023-06-27 21:59:20
206阅读
因为数组也是变量,所以,你必须用声明其它变量的类似方法声明数组——使用Dim语句。当你声明一个数组时,你便设定了该数组储存数据所需要的内存空间。数组声明的例子:Dim cities(6) As String Dim daysOfWeek(7) As String Dim lotto(6) As Integer Dim exchange(5, 3) As Varian注意,变量名称后面带有括号以及括
转载 2024-03-21 10:22:09
378阅读
  • 1
  • 2
  • 3
  • 4
  • 5