Ich glaube dieses Thema gibt es schon aber ich finde es einfach nicht mehr oO.
Es geht um folgendes. Ich habe ein Makro geschrieben das parameter im Part und Produkt erstellt. In beiden Umgebungen soll geprüft werden ob der Parameter bereits vorhanden ist. Bei den Parts klappt das top. Problem ist nun wenn das Product Parts enthält in denen die Parameter drin sind, weil das makro alle Parameter prüft und nicht nur die direkt im Product. Wie kann ich NUR die Parameter im aktuel geöffneten Product prüfen ohne die enthaltenen Parts/Products mit zu prüfen?! Hier der bisherige Code:
'Prüfen ob ParameterSet bereits vorhanden ist (PART)
If TypeName(oDocument) = "PartDocument" Then
Set part = oDocument.Part
Set Parameters = part.Parameters
Parameter_exist = False
For i = 1 To Parameters.Count
Z = InStr(1, Parameters.Item(i).Name, "Pos_Nr.")
If Z <> 0 Then
Parameter_exist = True
End If
Next
End If
'Prüfen ob ParameterSet bereits vorhanden ist (PRODUCT)
If TypeName(oDocument) = "ProductDocument" Then
Set product = oDocument.product
Set Parameters = product.Parameters
Parameter_exist = False
For i = 1 To Parameters.Count
Z = InStr(1, Parameters.Item(i).Name, "Pos_Nr.")
If Z <> 0 Then
Parameter_exist = True
End If
Next
End If
If Parameter_exist Then
Box = MsgBox("Die Stücklistenparameter sind bereits vorhanden!" & vbLF & _
"---------------------------------------------------------" & vbLF & _
"Makro wurde abgebrochen.", 16, "Parameter vorhanden!!!")
Exit Sub
End If
'----------------------------------------
'----------------------------------------
'RootParameterSet ansprechen und SubParameterSet erstellen (PART)
If TypeName(oDocument) = "PartDocument" Then
Set part = oDocument.Part
Set RootParameterSet = part.Parameters.RootParameterSet.ParameterSets
Set NewParameterSet = RootParameterSet.CreateSet("Stuecklistenparameter")
'RootParameterSet ansprechen und SubParameterSet erstellen (PRODUCT)
ElseIf TypeName(oDocument) = "ProductDocument" Then
Set product = oDocument.product
Set RootParameterSet = product.Parameters.RootParameterSet.ParameterSets
Set NewParameterSet = RootParameterSet.CreateSet("Stuecklistenparameter")
End If
[Diese Nachricht wurde von shoutz000 am 28. Jan. 2015 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP