sendcommand bedeutet ja: übergebe die nachfolgenden Parameter/Argumente an die Befehlszeile.
Also ahme die Eingabe per Hand nach.
In AutoCAD gibt es die Objektwahlmethode L bzw. Letztes
(Objektwahlmethoden in Acad, siehe Befehl WAHL in der Hilfe)
Test es in AutoCAD, das hat nichts mit VBA zutun:
Befehl: _MOVE
Objekte wählen: _last
1 gefunden
Ich habe hier die internationale Schreibweise gewählt damit es in jeder Sprachversion läuft,
gleiches sollte man für den Befehl machen: _MOVE anstatt Schieben in meinem Beispiel.
Du mußt dann noch dafür sorgen dass der Einfügelayer und alle Attributlayer entsperrt sind,
sonst akzeptiert _.EATTEDIT die Blockreferenz nicht als gültiges Objekt, aber auch das hat nichts mit VBA zutun,
so ist halt die Funktionsweise von dem AutoCAD-Befehl und den AutoCAD-Layern.
Für die Befehlszeile zum testen:
kopiere eine Blockreferenz mit Attributen (damit diese definitiv das LETZTE Objekt darstellt) und dann copy&paste folgende Zeile in die Befehlszeile:
Code:
; copypaste ab nächster Zeile
_VBASTMT
ThisDrawing.SendCommand "_.EATTEDIT" & vbCr & "_last" & vbCr; bis vorherige Leerzeile
------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP