Hallo zusammen,
habe von Acad 2011 32 Bit auf 2013 64 bit umgestellt.
Mein VBA Script läuft nicht mehr, die ObjectID wird nicht mehr unterstützt.
Die heißt jetzt wohl ObjectID32, wenn ich das im Code ändere stimmt die ID jedoch nicht, das Schriftfeld ist ungültig.
Schreibe den Inhalt eines Blockfeldes über die ID in ein Schriftfeld, wenn der Block geändert wird, ändert sich auch das Schriftfeld.
(habe einen Detailschnitt, den kann man wählen und dann schreibt das Prog die Überschrift vom "Detail x - x"
Lt. Hilfe von Acad hat sich da bei 64 bit was geändert, doch wie ich meinen Code zu ändern habe versteht ich nicht.
Das handle soll eindeutig sein, das versteht das Schriftfeld aber nicht.
Hier mein Code:
Dim objEnt As AcadEntity
Dim varPunkt As Variant
Dim ID As String
Dim attributes As Variant
Dim AttributRef As AcadAttributeReference
Dim oMtext As AcadMText
ThisDrawing.Utility.GetEntity objEnt, varPunkt, "Schnitt auswählen"
ID = objEnt.ObjectID '(wird nicht mehr unterstützt)
nix = objEnt.ObjectName
attributes = objEnt.GetAttributes
For i = 0 To UBound(attributes)
Set AttributRef = attributes(i)
If AttributRef.TagString = "A" Then ID = AttributRef.ObjectID '(wird nicht mehr unterstützt)
Next
text = "Detail "
ID = "%<\AcObjProp Object(%<\_ObjId " + ID + ">%).TextString>%"
text = text + ID + " - " + ID
Set oMtext = ThisDrawing.ModelSpace.AddMText(varPunkt, 500, text) 'fügt M-Text ein!
oMtext.Height = 37
End Sub
Weiß da jemand weiter?
Konnte so recht keine Antwort dazu finden.
Vielen Dank.
Gruß Frank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP