Grundsätzlich kannst Du das so machen, wie Du schreibst
| Dim compareArray (2) |
| compareArray (0) = "001" |
| compareArray (1) = "003" |
| compareArray (2) = "005" |
Wenn es nicht zuviele Werte sind, kannst Du auch Split verwenden
| Dim compareArray As Variant |
| compareArray = Split ("001:003:005", ":") |
EDIT: Das "zuviele" bezieht sich nur auf die Schreibweise, ich würde nicht 1000 Werte in eine Zeile schreiben wollen, das ist dann kaum mehr wartbar.
EDIT2: Eine zweite Variante, die ich gerne verwende, ist die Nutzung von Listen, da die in der Größe nur durch den verfügbaren Arbeitsspeicher begrenzt sind. Außerdem stehen die Wertepaare schön zusammen.
| Dim compareList List As String |
| compareList ("001") = "ABC" |
| compareList ("003") = "XZY" |
| compareList ("005") = "IMO" |
| |
| sourceArray = doc.GetItemValue (feldname) (0) |
| If Iselement (compareList (sourceArray)) Then |
| sourceArray = compareList (sourceArray) |
| End If |
| |
| |
| sourceArray = doc.GetItemVaue (feldname) |
| Forall sA In sourceArray |
| If Iselement (compareList (sA)) Then |
| sA = compareList (sA) |
| End If |
| End Forall |