Hallo Jungs,
danke Kalle, für den QuellText. :-)
Wenn ich das richtig verstanden habe (wahrscheinlich NEIN! :-)), dann ist "ListOfDocuments.Next 1, swModel, lngDummy" bzw. "ListOfDocuments" ein Zeiger, der auf die Liste der offenen Dokumente zeigt?! Und durch die Anweisung .Next1 "einfach" dazu gebracht wird auf das nächste Dokument zu zeigen!? Richtig?!
"lngDummy" habe ich noch nicht so recht verstanden! :-) Ich denke aber, dass es etwas mit "wieviele Elemete schon übergeben worden bzw. noch nicht übergeben worden sind" zutun hat. Fakt ist jedenfalls, dass wenn lngDummy = 0 ist, alle Dokumente "angezeigt" worden sind.
Da ich natürlich an allen Dokumenten interessiert bin, habe ich, man möge mir für meine fachliche Inkompetenz in Visual Basic verzeihen (bin erst seit einigen Wochen dabei), ein Beispiel für die Abfrage ALLER (Hallo, Stefan Berlitz :-)) Dokumente erstellt, was mir aber etwas sehr umständlich erscheint :-)
Das geht doch bestimmt vieeell einfacher?!
Dim swApp As SldWorks.SldWorks
Dim ListOfDocuments As SldWorks.EnumDocuments2
Dim swModel As SldWorks.ModelDoc2
Dim lngDummy As Long
Sub main()
Set swApp = Application.SldWorks
Set ListOfDocuments = swApp.EnumDocuments2()
If swApp.EnumDocuments2() Is Nothing Then
MsgBox ("Es ist kein Dokument geöffnet!")
Exit Sub
Else
Do
ListOfDocuments.Next 1, swModel, lngDummy
MsgBox (lngDummy)
If lngDummy = 0 Then
MsgBox ("Es wurden alle Dokumente ausgegeben!")
Exit Sub
End If
MsgBox swModel.GetTitle
Loop While lngDummy <> 0
End If
End Sub
Man beachte die Loop While Anweisung, da hätte ich auch HundKatzeMaus reinschreiben können :-)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP