Microsoft Visual Basic:如何初始化数组变量?

时间:2013-09-16 12:32:07

标签: vba initialization

我编写了一个宏,它对文档中特定Word样式集的每个实例执行某些操作。

为此,我用这种方式创建了一个名字数组:

Dim mylist(4) As String
mylist(1) = "Heading 1" 
mylist(2) = "Heading 2" 
mylist(3) = "Heading 3" 
mylist(4) = "Caption"

我无法找到任何帮助页面(在Office帮助内或在microsoft.com上),这些页面提到了一种较短的方法。是否有任何语法可以让我将其简化为类似(伪代码)

的内容
mylist(1:4) = ["Heading 1", "Heading 2", "Heading 3", "Caption"]

我正在寻找一个数组一行加载的通用解决方案,无论是字符串还是数字,当我不想要整个集合时,比如说所有样式一份文件。

编辑:我跑过Collection initialization syntax in Visual Basic 2008?,这表明答案是“直到VB10”。欢迎对该结论进行任何更新。

2 个答案:

答案 0 :(得分:6)

这是接近但有点不同于:Dim mylist(4)As String

Dim myarray As Variant
myarray = Array("Cat", "Dog", "Rabbit")

来自:http://www.mrexcel.com/forum/excel-questions/18225-initializing-arrays-single-statement.html

答案 1 :(得分:1)

如果内存不是问题(因此数据类型可以变化),则会生成以1为底的数组

stripper.setSortByPosition(true)