• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Macro zum Hinzufügen von Hinweis auf Multifoil drw

IronCad

Guest
Guten Tag,
Ich versuche, ein Makro zu erstellen, um den Prozess des Hinzufügens einer bestimmten Note zu allen Blättern einer Datei zu automatisieren. Slddrw
Ich möchte, dass durch das Starten des Makros auf die Blätter der Datei, die ich geöffnet habe, Sie eine Notiz hinzufügen.
Ich stelle fest, was ich erkannt habe, dass ich es nicht schaffen kann, weil das System mir Laufzeitfehler gibt, den ich beibringe.

Danke, wer mir helfen kann.1732199434834.png
 

Anhänge

Ciao Ich habe Ihr Makro überprüft, einige Fehler gefunden, die wichtigste war, dass die Methoden, die Sie verwendet, um die Blätter zu erinnern sind Teil der Tabelle Dokument (drawingdoc), während Sie sie im generischen Dokument (Objekt) erinnern, in der Tat empfehle ich Ihnen, wenn Sie ein Makro schreiben, um die beiden Hauptobjekte auf diese Weise zu überschreiben, so dass Sie auch das Menü der Methoden aktivieren, wie Sie drücken Sie den Punkt:
dim swapp als Objekt wird
dim swapp as sldworks. Schalungen
'für die Tabelledim swdraw als Objekt 'diventa
dim swdraw als sldworks.drawingdoc
„für den Teildim swpart als Objekt 'diventa
dim swpart als sldworks. Teildoc
'sieme'dim swasm als Objekt 'diventa'
dim swasm als sldworks.assemblydoc



ad ogni modo ho riscritto tutto e ti ho inserito i commenti così capisci cosa sta facendo la macro nelle varie fasi.

dim swapp as sldworks. Schalungen
dim swdraw als sldworks.drawingdoc
dim boolstatus als boolean
dim longstatus so lang, langwarnings as long
dim Sheetcount so lange, i as long
dim swsheet als sldworks. Blatt


Teil Haupt()

set swapp = Anwendung. Schalungen
swdraw = swapp.activedoc

' Ich habe gerade das aktive Blatt benutztswsheet = swdraw.getcurrentsheet
vsheetnamearr = swdraw.getsheetnames
' Ich habe gerade den aktiven Blattnamen benutzt.' Ich brauche sie am Ende nach dem Noteneintragszyklus melden
'aktivieren Sie das Ausgangsblatt
dim nsheet als String
nsheet = swsheet.getname
'ciclo i neblifür jeden vsheetname in vsheetnamearr
bret = swdraw.activatesheet(vsheetname): debug.assert bret

dim mynote als Objekt
dim myannotation als Objekt
dim mytextformat als Objekt
'Ich lege die Notiz einmynote = swdraw.insertnote("<font size="72pts" style="b">bozza")
</font> 'Ich bestimme die Merkmale, die Lage, die Farbe usw.wenn nicht mynote ist nichts
mynote.lockposition = falsch
mynote.angle = 0
boolstatus = mynote.setballoon(0, 0)

myannotation = mynote.

wenn nicht myannotation ist nichts dann
Longstatus = myannotation.setleader3(swleaderstyle_e.swno_leader, 0, wahr, falsch, falsch, falsch)


boolstatus = myannotation.setposition(0.115, 0.07, 0)

mytextformat = swdraw.getuserpreferencetextformat(0)
mytextformat.italic = falsch
mytextformat.underline = falsch
mytextformat.strikeout = falsch
mytextformat.bold = true
mytextformat.escapement = 0
mytextformat.linespacing = 0.001
mytextformat.charheightinpts = true
mytextformat.typefacename = "century gothic"
mytextformat.widthfactor = 1
mytextformat.obliqueangle = 0
mytextformat.linelength = 0
mytextformat.vertical = falsch
mytextformat.backwards = falsch
mytextformat.upsidedown = falsch
mytextformat.charspacingfactor = 1
' Ich beantrage die Merkmale der Notizboolstatus = myannotation.settextformat(0, false, mytextformat)

'deseleziono qualsiasi selezione attiva e aggiorno la grafica
swdraw.clearselection2 wahr
swdraw.windowredraw
Ende
Ende
Nächster vsheetname
'Reaktivieren Sie das Ausgangsblatt, sonst bleibt es auf dem utimo Blattbret = swdraw.activatesheet(nsheet)

Endteil
 
Danke. @jenuar, insbesondere zur Erläuterung.
Ich versuche, gut zu lernen, wie die Makros für Festwerke geschrieben werden, aber ich bin etwas früh dran.
hätten Sie Ratschläge, mir oder Material zu geben, um dieses Thema zu lernen?

Danke noch mal.
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben