Autor Thema: Feldnamen Variable ansprechen  (Gelesen 2350 mal)

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Feldnamen Variable ansprechen
« am: 02.07.04 - 10:38:50 »
Hi,

ist es möglich, dass ich Feldnamen variable anspreche.

Beispiel:

Feld_01, Feld_02, Feld03,...

For i = 1 to 5
  Feldwert = doc.Feld_0 & i & "(0)"
next

Ich bekomme das nicht hin, ist es grundsätzlich möglich?
Ein Beispiel wäre super.

Danke

Andreas

klaussal

  • Gast
Re:Feldnamen Variable ansprechen
« Antwort #1 am: 02.07.04 - 10:56:01 »
Dim strVar As String
Dim strVar2 As String
Dim i As Integer
   
Set uidoc = ws.currentDocument
i = 1
Set doc = uidoc.document
strVar = "feld_"  + Cstr(i)

strVar2= uidoc.FieldGetText(strVar )

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Re:Feldnamen Variable ansprechen
« Antwort #2 am: 02.07.04 - 11:05:16 »
Ich habe kein UIDOC!

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re:Feldnamen Variable ansprechen
« Antwort #3 am: 02.07.04 - 12:24:30 »
Probiers mit
for i = 1 to 5
   set item = doc.GetFirstItem("Feld_0" + Cstr(i))
   Feldwert = item.Values(0)
Next

HTH
-dani
« Letzte Änderung: 02.07.04 - 12:26:11 von rar »
†090620141300

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Feldnamen Variable ansprechen
« Antwort #4 am: 02.07.04 - 12:31:35 »
Hi,

es geht noch einfacher:

Dim Feldwert As Variant

for i = 1 to 5
   Feldwert = doc.GetItemValue("Feld_0" + Cstr(i))
Next



Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re:Feldnamen Variable ansprechen
« Antwort #5 am: 02.07.04 - 12:38:26 »
Oder noch einfacher:  ;D

for i = 1 to 5
  Feldwert = doc.GetItemValue("Feld_0" & i )
Next
†090620141300

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Re:Feldnamen Variable ansprechen
« Antwort #6 am: 02.07.04 - 12:59:05 »
Ja super danke. Werde das mal testen.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Feldnamen Variable ansprechen
« Antwort #7 am: 02.07.04 - 13:11:16 »
Oder noch einfacher:  ;D

for i = 1 to 5
  Feldwert = doc.GetItemValue("Feld_0" & i )
Next


Hi,

was ist daran einfacher  ??? ???

Du hast lediglich die Dim - Anweisung weggelassen. Für die Funktion hast das mit Sicherheit keinen Einfluss. Allerdings sollten alle verwendeten Variablen deklariert werden. Das gehört zu einem guten Script-Stil.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Feldnamen Variable ansprechen
« Antwort #8 am: 02.07.04 - 13:14:16 »
Noch schlimmer daran ist, dass hier unzulässig Datentypen vermischt werden. In der nächsten LS-Version funktioniert das dann ggf. nicht mehr.

Bernhard

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re:Feldnamen Variable ansprechen
« Antwort #9 am: 02.07.04 - 13:19:37 »
Daß Variablen deklariert gehören ist sowieso klar. Deswegen hab ich es auch nicht geschrieben. (doc und i sind auch nicht deklariert...)

Das einfachere war, daß man ein(e) Integer mir einem & an einen String hängen kann, ohne ihn (sie) mit Cstr() in einen String umwandeln zu müssen.

Deine Zeile:
Feldwert = doc.GetItemValue("Feld_0" + Cstr(i))

Meine Zeile:
Feldwert = doc.GetItemValue("Feld_0" & i )

-dani
« Letzte Änderung: 02.07.04 - 13:20:11 von rar »
†090620141300

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz