BuDuS
Guest
ich versuche, vba befehle zu tun, um eine auswahl basierend auf einem bestimmten kriterium zu erstellen.
z.b. "nach einer bestimmten schicht auswählen"; insbesondere möchte ich, dass der benutzer die möglichkeit hat, die geometrien nach dem merkmal des vorgewählten auszuwählen (oder, wenn er nichts ausgewählt hat, lassen sie ihn nach ... ein wenig wie viele der autocad-befehle auswählen).
ich kann schon mit solchen sachen ein "selektionset" erstellen:
hatte, die geometrien sind als ausgewählt dargestellt, aber in der tat sind sie nicht: jeder befehl, den ich nehme - manuell -erfolgreich ist, wie ich nichts ausgewählt hatte.
z.b. "nach einer bestimmten schicht auswählen"; insbesondere möchte ich, dass der benutzer die möglichkeit hat, die geometrien nach dem merkmal des vorgewählten auszuwählen (oder, wenn er nichts ausgewählt hat, lassen sie ihn nach ... ein wenig wie viele der autocad-befehle auswählen).
ich kann schon mit solchen sachen ein "selektionset" erstellen:
Code:
' seleziona per layer
Public sub selectlayer()
dim acobject als objekt
acobject = udagetselect
objselcol = thisdraw.selectionsets
für jeden objselset in objselcol
objselset.name = "udapower" dann
objselcol.item("udapower"). Löschen
Ausfahrt für
Ende
ANHANG
fehler goto ausgang_sub
dim objlayername als string
objlayername = acobject.layer
dim ssett als acadselectionset
set ssett = thisdrawing.selectionsets.add("udapower")
dim filtertype(0 bis 1) als ganze Zahl
dim filterdata(0 bis 1) als Variante
'filtertype(0) = 0: filterdata(0) = "line"
filtertype(0) = 8: filterdata(0) = objlayername
filtertype(1) = 8: filterdata(1) = objlayername
ssett.select acselectionsetall, , filtertype, filterdata
Wenn ssett. Anzahl < 1
msgbox "errore: non è stato selezionato nulla.", vb kritisch, "auswahlfehler"
andere
ssett.highlight true
Ende
ausstieg_sub:
Endteil
was ist das problem?der anruf:es ist notwendig, das vorgewählte objekt zurückzugeben (diejenige, die ausnutzt, um die nächste auswahl zu erstellen, nach ihren merkmalen, in diesem fall der schichtname) oder in jedem fall wählen sie eine an den benutzer.Code:acobject = udagetselect
hatte, die geometrien sind als ausgewählt dargestellt, aber in der tat sind sie nicht: jeder befehl, den ich nehme - manuell -erfolgreich ist, wie ich nichts ausgewählt hatte.
hat jemand ein recht, mir zu geben, um sicherzustellen, dass er diese "interne zu vba" auswahl in etwas umwandeln kann, das den benutzer benutzen kann?auswahl funktioniert, wenn ich es mit einer vba-routine benutze und dies deutet darauf hin, dass der code oben irgendwie eine auswahl erstellt.