Excel VBA中的字符串数组

Excel VBA中的字符串数组,vba,excel,Vba,Excel,我正在处理XML数据文件,这些文件有很多数据表。有许多表类型,每种不同的表类型都有固定数量的字段 我想要一个通用表类。此类将有一个包含其表类型名称的字符串,如“condition”或“Conference”。我希望这个类有一个指向一个公共字符串数组的指针,该字符串数组已初始化为包含该表类型的所有预期字段名 例如,我将有: 公共变量: Public cond_fnames() As String Public enc_fnames() As String 初始化为: cond_fnames =

我正在处理XML数据文件,这些文件有很多数据表。有许多表类型,每种不同的表类型都有固定数量的字段

我想要一个通用表类。此类将有一个包含其表类型名称的字符串,如“condition”或“Conference”。我希望这个类有一个指向一个公共字符串数组的指针,该字符串数组已初始化为包含该表类型的所有预期字段名

例如,我将有:

公共变量:

Public cond_fnames() As String
Public enc_fnames() As String
初始化为:

cond_fnames = Split("id,strName,strDesc,aFieldNames,aModifiers", ",")
enc_fnames = Split("id,strName,strDesc,strImg,nTreasureID", ",")
(以上示例被截断,实际上要长得多)

我不希望每个表类对象都必须具有整个字符串数组,因为我希望必须创建许多表类对象

如何让类对象保存指向公共字符串数组的指针


(我想要这个字符串数组的原因是,我使用它作为存储关联表值的索引机制。XML表字段有一个字段名和一个值。因此,在上面的“条件”表中,字段名的值为“strDesc”将存储在第三个集合位置。也许有更好的方法来进行此索引。我曾想过使用枚举,但不知道如何使枚举值对每个类都是私有的(不同的XML表可以在表中的不同位置具有相同的值字段名)我也不希望每个表类对象都必须有存储字段名的长列表。)

我最终使用了一个集合来保存所有字符串,而不是一个数组。这样我就可以让TableType类保存表字段名的集合

为了回答评论中的问题,数据的“表”性质是由于我正在处理的XML文件数据格式。它由许多“表格”组成,格式如下:

       <table name="conditions">
        <column name="id">13</column>
        <column name="strName">Heat exhaustion</column>
        <column name="strDesc">&lt;us&gt; is suffering from heat exhaustion.</column>
        <column name="aFieldNames">fWaterConsumptionRate,fSleepQuality,m_fMoraleHidden,m_fDefense,MinSafeTemp,MaxSafeTemp,fPassiveRewarmPerHour</column>
        <column name="aModifiers">0.5,-0.75,-0.1,-0.02,15,15,-1</column>
  .
  .
       </table>

13
中暑
美国正遭受中暑的折磨。
F水耗率、fSleepQuality、m_fMoraleHidden、m_fDefense、MinSafeTemp、MaxSafeTemp、FPassiverWarmPerhour
0.5,-0.75,-0.1,-0.02,15,15,-1
.
.
这是XML文件中的“条件”表条目。大约有25种不同的表类型,每种类型都有自己固定的字段名集,并且许多字段名在表类型之间是通用的

每个“条件”表条目都将具有相同的字段名,但它们可以是任意顺序。我正在填充用户表单,其中包含每个表类型的每个表字段的文本框,因此我有很多文本框,我需要以已知的顺序方式填充它们,因为我不想知道每个文本框的“名称”或句柄

要做到这一点,我只需要收集。FieldName集合(XML文件表条目中的“列名”)用于在fieldvalue集合中查找索引,该索引还用于将fieldvalue写入其相应的文本框集合

无论如何,由于类不能有公共数组,我最终使用了一个集合。
谢谢你花时间试着理解这个问题。

请原谅,我听不懂你的问题。您能否举例说明您需要什么:提供xml的原始数据布局以及您希望输入到数组中的内容?很难可视化的一个原因是xml没有二维行和列格式的表布局。事实上,xml是一种开放式数据类型,可以以无限的方式进行设计,它的标记是以树节点格式构造的,具有属性和/或元素值:
elementvalue