自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 VBA,VB 6.0计算数据类型占用内存大小

需求背景 C、C++和.net语言都提供了计算机变量内存大小的函数即SizeOf,该函数能正确返回数据类型占用的内存字节数,但是VBA、VB6.0没有直接提供。特别在调用Windows API的时候,该功能显示得特别重要。实现思路 VBA、VB6.0虽然没有提供指针运算符,但提供了几个获取变量指针(内存地址)的值的函数。public function VarPtr(ptr as Any) as longPtr'获取变量自身的内存地址public function StrPtr(ptr as A

2021-02-04 10:16:16 1342

原创 VBA给Office添加任务窗格

开发背景 查阅微软官网说明,创建任务窗格恰恰VBA不包含在内,有的开发者为了创建该窗体需要转到.net或其它语言,需要学习大量知识。为了能解决该问题我们可以用VB6.0 或 C++中的MFC简单的创建一个ActiveX控件来分别给32-bit和64-bit的Office使用。开发思路 做过任务窗格的开发者都知道,其实任务窗格是实现了微软公开的Office.ICustomTaskPaneConsumer接口公布的一个回调函数,当Office的加载项被加载时,Office会利用该接口的回调函数来创建一个

2021-01-27 19:56:46 1526

原创 VB 6.0 给64位Office写插件

开发背景 http://modthemachine.typepad.com/my_weblog/2009/10/visual-basic-6-add-ins-and-64-bit.html这篇外文介绍了Visual Basic 6给64位的程序开发加载,其思路是:64-bit Windows can run both 32-bit and 64-bit applications (exe’s and dll’s).Visual Basic 6 can only create 32-bit appli

2021-01-22 20:36:36 2658

原创 VBA API详解

Office版本变动 在office2010以前微软只提供了32-bit版本,但在2010以后出现了32-bit和64-bit两个版本的office。后者能处理更大的数据和VBA代码运行速度得到提升。代码的兼容性也变得复杂,特别是API的声明。版本区别...

2020-12-17 22:27:10 6465

原创 VBA中的数据类型转换

VBA中的数据类型转换 在VBE中打开对象浏览器,按照下图操作:找到VBA库并输入Conversion(转换)找到该模块,里面提供了数据转换函数。 VBA提供了两套内置的数据类型转换函数,第一组包含Int、 CVDate和Str,这是早期版本,只是向后兼容而保留。第二组函数都是以字母“C”开头,编程中使用第二组。每个转换函数的语法基本相同,例如:Expression是输入参数,然后转换为相应的数据类型。VBA支持数据类型转换的功能有:VBA.Conversion.CBool(Express

2020-11-24 23:47:38 11537

原创 VBA设计模式

VBA设计模式之工厂方法对象之间有4种关系:聚合关系A has a B,例如飞机场 has a 飞机。组合关系A是由B组成,A包含B,B是A的一部分,则表示为A has B,例如:飞机 has a 发动机。继承关系A派生了B,B是A的一种,A是B的泛化,则表示B is a A。例如: 波音777 is a 飞机。依赖关系A依赖B,A使用B,则表示为A use a B。例如:飞机 use a 飞行员。工厂方法的定义定义一个创建对象的接口,让子类决定实例化哪一个

2020-11-17 15:52:47 1696 5

原创 2020-10-29

第Ⅰ部分 VBA基础知识第1章 VBA简单概述1.1关于Excel VBA据百度百科了解,VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。它也可说是一种应用程式视觉化的 Basic 脚本。依据其定义可知Excel VBA主要功能是来扩展Excel的功能,实现任务自动化处理。1.2初识Excel

2020-10-29 22:41:33 841

原创 Excel插件开发过渡到VB.net中的VSTO

Com DLL基础知识 Com本质就是一个动态链接库,在windows中是靠DLL来实现的。这个DLL实现了IUnknown接口等,同时实现了 DllRegisterServer、 DllRegisterServer、 DllCanUnloadNow 、DllGetClassObject等函数。计算机为每个DLL分配一个GUI识别码,然后利用DllRegisterServer函数将Dll信息写入注册表,利用DllUnregisterServer来卸载DLL。在C、 C++中要实现一个COM组件步骤是非常繁

2020-12-31 15:23:51 2586

原创 VBE开源插件Rubberduck

Rubberduck简介 Rubberduck是一个开源的VBE插件,它与VBE集成,为VBE添加现代的特性,可以在VB6、VBA7.x(x86/x64)和VB6.0中使用。该插件使陈旧的VBE具有现代化的能力和具有真正面向对象编程的管理能力。功能简介 上图是它的功能结构图。Refresh 整个工程的刷新。Unit_Tests 进行单元测试。Indent 代码智能缩进。Refactor 代码重构。Navigate 功能导航。Tools 工具集。Code Inspection

2020-12-03 09:51:54 1983

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除