So: Nach kurzem Urlaub melde ich mich nun zurück.
Wär das als erster Ansatz dann so richtig ?
Set templatedb = Session.GetDatabase("", "testDB.nsf")
If Not templatedb Is Nothing Then
Set View = templatedb.GetView("number")
If Not View Is Nothing Then
Set notesViewNavigator = View.CreateViewNav
Set Column = notesViewNavigator.GetColumn(4)
Set notesDocument = Column.GetFirstDocument
End If
End If
du holst dir nur die view und schreibst alle einträge in eine liste
dazu liest du von dem jeweiligem dokument das feld aus in dem die kategorie steht
dann nimmst du das resultat und verwendest die bei dir im word ein !?
so dann ?
Set templatedb = Session.GetDatabase("", "LVDocs.nsf")
If Not templatedb Is Nothing Then
Set View = templatedb.GetView("number")
If Not View Is Nothing Then
Set notesViewNavigator = View.CreateViewNav()
Set Entry = notesViewNavigator.GetFirstDocument
Set ValueEntry = Entry.getItemValue("Category")
Weil der Debugger sagt mir, das die Methode getItemValue nicht unterstüzt wird.
Aber das Array muss ich ja auslesen.
Wie sieht denn die "liste" aus ? Ist das eine logische Liste ?
Ich glaub, ich steh auch gerade etwas auf dem Schlauch :(
Hallo.
Nun muss ich hier nochmal was fragen
bei dem Code
Set View = templatedb.GetView("CategoryView")
Set nav = View.CreateViewNav()
Set entry = nav.GetFirst
wird mir in Word angezeigt das: entry = 0 ist (?)
Ein Fehler kommt aber erst gegen Ende des Codes bei:
Set entry = nav.GetNext(entry)
(Fehler: Typen Unverträglich)
Wo liegt der Fehler ?
Würd mich über hilfe freuen
Bei is Nothing then läufts problemlos bis zum getNext
Der code in dem es sich abspielt sieht bis jetzt noch so aus:
Set templatedb = Session.GetDatabase("", "test.nsf")
If Not templatedb Is Nothing Then
Set View = templatedb.GetView("CategoryView")
If Not View Is Nothing Then
Set nav = View.CreateViewNav()
If Not nav Is Nothing Then
Set Entry = nav.GetFirst
While Not Entry Is Nothing
If (Entry.IsCategory = True) Then
Entry = Entry.ColumnIndentLevel
If (Entry = 0) Then
Set popup = Menu.Controls.Add(Type:=msoControlPopup)
With popup
.Caption = "Hauptkategorie" 'Category
.Tag = "1"
End With
Else
Set popup2 = Menu.Controls.Add(Type:=msoControlPopup)
With popup2
.Caption = "Unterkategorie"
.Tag = "1"
End With
End If
Else
Set Button = Menu.Controls.Add(Type:=msoControlButton)
With Button
.Caption = "Vorlagen-Name" 'attname
.OnAction = "lalaa"
End With
End If
Set Entry = nav.GetNext(Entry)
Wend
End If
End If
End If
Gruß
Prima - Vielen Dank !!
Daran lags :D :D
Nun klappts wie am Schnürchen
nur, wenn ich nun das mach will :
EntryLevel = Entry.ColumnIndentLevel
If (EntryLevel = 0) Then
[color=Red]Set EntryName = Entry.ColumnValues[/color]
Set popup = Menu.Controls.Add(Type:=msoControlPopup)
With popup
.Caption = EntryName 'Category
.Tag = "1"
End With
Dann bekomme ich da auch ein Typen unverträglich zurück
Ist die Methode falsch ?
...
Set EntryName = Entry.ColumnValues(Nummer der Spalte beginnend bei 0)
Set popup = Menu.Controls.Add(Type:=msoControlPopup)
With popup
.Caption = EntryName 'Category
.Tag = "1"
End With
...
Axel
Hallo Axel.
Okay, jetzt klappt es... aber der Fehler war glaub ein anderer
VBA hat Probleme mit "Entry.ColumnValues(0)
Ich hab es nun so gemacht :
Dim EntryName(1 To 1000) As Variant
Dim colval As Variant
colval = entry.ColumnValues
EntryName(1) = colval(0)
Ich hoffe, ich komme nun ohne größere Probleme weiter
Vielen Dank für deine Hilfe, Axel!
Christoph