最近有很多愚蠢的问题,但我会很感激这一个输入。 我有一个来自INI文件的字符串。它看起来像Firstname=FIRSTNAME
。这基本上是一个具有这些负载的数组。我想分解这些,但保留它们。所以,我设法把Firstname
放在它自己的阵列中,并且它自己的就是FIRSTNAME
。但是我的一位同事说:“为什么不用多维数组呢?”。这让我想,把Firstname
设置为0,FIRSTNAME
设置为1.但是我该怎么做?VBA - 使用多维数组而不是两个单独的数组?
这是现在我的代码:
For iTeller = 0 To UBound(arrIniName)
If Not arrIniName(iTeller) = "" Then
arrIniName(iTeller) = Split(arrIniName(iTeller), "=")(0)
End If
Next
For iTeller = 0 To UBound(arrIniValue)
If Not arrIniValue(iTeller) = "" Then
arrIniValue(iTeller) = Split(arrIniValue(iTeller), "=")(1)
End If
Next
两个arrIniName和arrIniValues由完全相同的数组开始的。看起来像这样:
arrIniName(0) "Fistname=FIRSTNAME"
arrIniName(1) "Lastname=LASTNAME"
arrIniName(2) "Initials=INITIALS"
所以我基本上将每一个分割成他们自己的独立数组,就像我现在这样做。但是将它们放在多维数组中可能会更好?因为那样我就只有一个数组来管理,并且还可以通过一个For Each
循环来拉取该数组。
编辑:最后我做它像这样,在Values
是数组
For Each s In Values
Dim strName, strValue
s = Split(s, "=")
strName = s(0)
strValue = s(1)
'Run function strName, strValue
Next
要回答这个问题什么是保存数据的最佳结构,这将有助于在读入数据后知道您想要使用名称/值对执行的操作。您想如何使用这些数据? – 2011-03-30 08:07:36
我将通过一个创建'Scripting.Dictionary'条目的函数来运行它们。所以基本上,我只是想根据INI文件中的内容动态创建变量。稍后,我在基于FIRSTNAME的Word模板中查找书签,并在其中插入一个值。我只是希望它是动态的,所以我只需要更新ini文件并插入我想要的书签,而不必担心背后的代码就可以看到:)希望这是有道理的:p – 2011-03-30 08:11:33
笑了 - 你的评论出现在我发布后我的答案。为什么不能从一开始就创建词典?我的意思是,为什么你需要一个临时数组来存储这些值,而不是直接将它们放在字典中? – 2011-03-30 08:13:19