2013-09-16 13 views
3

我写了一个宏,它对文档中特定的一组字样的每个实例执行某些操作。Microsoft Visual Basic:如何初始化数组变量?

要做到这一点,我创建了名称的数组是这样的:

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"] 

我正在寻找一个阵列的一个行装载一个通用的解决方案,无论是字符串或数字,当我不任何语法t想要在文档中显示全部样式的全部集合。

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

+0

我们都暗自希望'VB'更像'FORTRAN'。 – ja72

回答

6

这是接近但低于一点点不同:昏暗MYLIST(4)作为字符串

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

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

+0

虽然这会使用更多的内存。如果你只想使用它的字符串,留在字符串类型 – makciook

+0

我没有任何巨大的列表,所以内存不成问题。只要它适用于'Word'和'Excel',我就可以。我会回报。 –

+0

该链接还建议'Dim mylist()As String mylist = Split(“Heading 1,Heading 2,Caption”,“,”)'。两个选项都可以正常工作,除此之外,我必须记住,这些数组的索引从零开始,而不是一个。谢谢! –