你只是创建了一个workbook的实例化对象,并没有指明此变量的值,怎么会显示cName呢?
你可能又有疑问为什么别的对象可以用NEW实例化之后就可以引用了,其实是因为WorkBook是针对非excel VBA内置对象的,workbook本身就是vba的对象,也就无所谓实例化一说了,还是需要用set语句赋值
Set c = ThisWorkbook
New的写法,一般是在要引用其他程序的Object时用(比如,引用数据库时经常用到的New ADODBRecordset;引用Word时的New WordApplication; 引用Outlook时的New OutlookApplication,等等) 而Range, Sheet, Workbook等等Object因为默认是Excel这个Application下的Object,所以在打开Excel时已经存在了,就无需New这种写法了
Static A '只能定义通用类型,否则IsEmpty 检查不出来。
If IsEmpty(A) Then '这样保证数组只赋值一次
ReDim A(5) As String
'对数组赋值 *** 作
End If
1、首先是打开excel软件。
2、然后打开VBA编程接口。
3、接下来是定义执行功能。
4、然后介绍局部变量的定义,定义为[dim variable as type]。
5、然后定义私有变量,定义方式为[private variable as type]。
6、然后定义公共变量,定义方法[public variable as type]。
7、最后,定义静态变量,例如[static variable as type]。
是不能的。你可以声明为Variant,即变量类型,缩小一些范围。你的情况也可以声明为字符串型,只需要在读取时加一个val()或cint()就可以了。你也可以定义一个新的类型,包含两种变量类型的属性,这样将你的数组声明为你的类型就可以了模块中:public cn as new adodbconnection
sub main()
cnopen "file name=" & apppath & "\DBnameudl"
end sub参考下面的文字,我刚才定义了个string, 试读了1000多汉字没问题啊?难道公共变量有限制?试下固定长度变量看看?
======================================
1 VBA中的字符串
VBA不仅可以处理数字,也可以处理文本(字符串)。VBA提供了两类字符串:
一类为固定长度的字符串,声明时包含指字的字符数。例如,下面的语句
Dim strFixedLong As String100
声明字符串变量后,无论赋予该变量多少个字符,总是只包含100个字符,但字符串最长不超过65526个字符,且需要使用Trim函数去掉字符串中多余的空格。定长字符串只有在必要时才使用。
另一类为动态字符串。例如,声明字符串变量Dim strDynamic As String后,可以给该变量任意赋值,最多可包含20亿个字符。
====================
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)