Archive for '代码'

VBA中检查枚举值Enum是否为有效值

VBA中使用枚举类型Enum时,由于可以把任意的长整形Long数值赋予Enum类型变量,即使这一长整形数值不在相应的Enum类型范围之内,要保证是有效的枚举值,这里水文工具集介绍一个检查枚举值Enum是否为有效值的方法,具体源代码如下:


阅读全文 >

Excel工作表如何使用VBA添加数据有效性

使用Excel过程中,经常通过人工设置数据有效性来限制目标单元格只能接受某种条件的参数。如何使用VBA来给工作表添加数据有效性呢,这里水文工具集从网上摘录一篇通过VBA给任意工作表设置数据有效性的文章(Add Data Validation to any worksheet using VBA)。

首先定义VBA函数AddValidation,具体源代码如下:
阅读全文 >

使用XLW生成XLL文件来简化开发Excel扩展功能

在使用Excel时,特别是需要使用分析工具时,我们就会使用到加载宏,这里面的宏好多就是扩展Excel功能的XLL文件,这个XLL文件其实是满足一定接口规范的DLL链接库文件,而且经常是使用C++开发的,如果直接使用Excel SDK进行XLL开发是比较麻烦的,针对这一问题,XLW出现了。
阅读全文 >

采用C++ TR1中的随机数发生器生成Gamma分布随机数

随机水文学中常会用到符合Gamma分布随机数,用于模拟一些随机的水文过程,这里水文工具集介绍一种使用C++语言的TR1新特征中的随机数发生器来产生Gamma分布随机数,当然TR1的随机数库里面还有许多生成其它分布的类(如:柏努利分布,二项分布,指数分布,几何分布,正态分布和泊松分布等),这里仅就Gamma分布进行简单介绍,其它的也很容易的,如果什么时候需要的话,也可以写成DLL或者COM以供其它语言调用的。具体产生Gamma分布随机数的源代码如下:
阅读全文 >

VBA处理JSON文件的类模块

JSON格式目前越来越流行,具体JSON格式的描述可以在JSON网站[www.json.org]了解,这里水文工具集给出一个VBA处理JSON文件的类模块,以方便调用。
阅读全文 >

使用Pyinex在Excel中内嵌Python解释器来执行Python脚本

要在Excel中执行Python脚本的一种常规方法是通过Python创建COM服务器,然后Excel通过创建COM对象来完成。这里介绍的是另外一种方式,那就是采用内嵌Python解释器的方式来完成。
阅读全文 >

一个Python实现的精简版遗传算法

本文使用Python实现的精简版遗传算法,算法中仅采用变异算子而没有使用交叉算子,但是进化依然很有效,具体源代码如下:
阅读全文 >