1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

VB: Wie ermittle ich den Namen eines DocVariable-Feldes?

    • Frage
  • Adok
  • 21. Juni 2006 um 13:26
  • Unerledigt
  • Adok
    20
    Adok
    Mitglied
    Reaktionen
    49
    Punkte
    4.199
    Beiträge
    714
    • 21. Juni 2006 um 13:26
    • #1

    Folgendermaßen lassen sich in Visual Basic zu einem Dokument an einer bestimmten Position (Range) Felder hinzufügen, in denen der Wert einer Dokumentenvariablen angezeigt wird:

    Code
    tempField = ActiveDocument.Fields.Add(Range:=position, Type:="DocVariable", Text:="Name der Dokumentenvariable")

    Nun würde ich gerne nach einem Feld suchen, in welchem eine bestimmte Dokumentenvariable angezeigt wird. Dazu habe ich versucht, eine Funktion zu schreiben, deren Code lautet:

    Code
    Function FindField(ByVal fieldName As String) As Integer
    
      'This function searches for a field with a particular name and returns its index
    
      Dim oField As Field
    
      For Each oField In ActiveDocument.Fields
        If oField.Name = fieldName Then             ' *** Wie finde ich den Namen eines Feldes heraus?
          FindField = oField.Index
          Exit Function
        End If
      Next
    
    
      'If not found, return 0 (this may need some improvement; what if the field index is correctly 0? In this program this
      'won't matter but...)
    
      FindField = 0
    
    
    End Function
    Alles anzeigen

    Dieser Code läuft jedoch nicht, weil das Objekt "Field" keine Eigenschaft oder Methode namens "Name" hat. Welche Eigenschaft/Methode muss ich statt dessen wählen, um das Feld mit der gesuchten Dokumentenvariable zu eruieren?

  • Adok
    20
    Adok
    Mitglied
    Reaktionen
    49
    Punkte
    4.199
    Beiträge
    714
    • 22. Juni 2006 um 00:34
    • #2

    Hat keiner eine Ahnung? Schade, denn es wäre wichtig.

  • Adok
    20
    Adok
    Mitglied
    Reaktionen
    49
    Punkte
    4.199
    Beiträge
    714
    • 22. Juni 2006 um 01:59
    • #3

    Na gut, selbst ist der Mann. Ich habe mir die Eigenschaften von Field per MsgBox anzeigen lassen und bin dann auf die Lösung gekommen. Hier der Code für Interessierte:

    Code
    Function FindField(ByVal fieldName As String) As Integer
    
      'This function searches for a DOCVARIABLE field with a particular name and returns its index
    
      Dim oField As Field
    
      For Each oField In ActiveDocument.Fields
        If oField.Code = " DOCVARIABLE  " + fieldName + "  \* MERGEFORMAT " Then
          FindField = oField.Index
          Exit Function
        End If
      Next
    
      'If not found, return 0 (this is okay because the first field in the document always has index 1)
    
    
    End Function
    Alles anzeigen
  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung