[vba] zaznaczanie obiektów


jureko

Rekomendowane odpowiedzi

witam,

przerobiłem sobie makro z przykładów, kod wklejam poniżej. Niestety nie umiem dojść do żebym nie musiał wskazywać oknem elementów (czyli SetAll zamiast selectOnSreen). ciągle mam jakiś błąd. Może mógłby mi ktoś z Was pomóc?

Sub totalnumber()

'define

Dim total As Double

total = 0

'Create a set

Dim ssetObj As ZwcadSelectionSet

Set ssetObj = Thisdocument.SelectionSets.Add("TEST_SSET")

'use Filters to get text

Dim Ftype(2) As Integer

Dim Fdata(2) As Variant

Ftype(0) = 0

Fdata(0) = "text"

Ftype(1) = 8

Fdata(1) = "teksty"

Ftype(2) = 62

Fdata(2) = 4

'Dim mode As ZcSelectionSetType

'mode = zcSelectionSetAll

ssetObj.SelectOnScreen Ftype, Fdata

'Determine the text whether to be digital

For i = 0 To ssetObj.Count - 1

If IsNumeric(ssetObj.Item(i).TextString) Then

total = total + ssetObj.Item(i).TextString

Activedocument.Utility.Prompt ssetObj.Item(i).TextString & vbCrLf

End If

Next i

' delete set

ssetObj.Delete

' output the sum

Activedocument.Utility.Prompt "suma " & total

End Sub

Odnośnik do komentarza
Udostępnij na innych stronach

ssetObj.SelectOnScreen Ftype, Fdata proszę zamienić na :

ssetObj.Select zcSelectionSetAll Ftype, Fdata

jeśli to nie zadziała, to problem może być w ustawieniach fitrów, wtedy nie będzie wyświetlało błędu, ale może nic nie selekcjonować np jeśli filtry ustawią selekcje wszystkich czerwonych linii a w rysunku będą tylko niebieskie

Odnośnik do komentarza
Udostępnij na innych stronach

ssetObj.SelectOnScreen Ftype, Fdata proszę zamienić na :

ssetObj.Select zcSelectionSetAll Ftype, Fdata

mam tak:

Dim mode As ZcSelectionSetType

mode = zcSelectionSetAll

ssetObj.Select mode, Ftype, Fdata

i niestety dalej sa błędy kompilatora, nie wiem co jest grane. Znalazłem tez przed chwila post z lutego w którym był podobny problem, ale 'u mnie nie działa' (:.

Dołączam przykładowy plik i makro w zipie.

select.zip

Odnośnik do komentarza
Udostępnij na innych stronach

Przepraszam, mój błąd, pisałem to z pamięci.

ssetObj.Select mode, , , Ftype, Fdata

Tak powinno być dobrze. Różnica jest tylko w 2 przecinkach, ale bez nich kompilator traktuje zmienne filtrów jako pukty.

:), dzięki działa. Chyba bym na to nie wpadł.

--

pozdrawiam

jureko

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.