Ich bin auf der Suche nach einem Makro, das ich anpassen kann und das es mir ermöglicht, in meiner aktiven Ansicht nach einer Eigenschaft des Modells zu suchen und nach der Erfassung das Blatt entsprechend dieser Eigenschaft für alle Blätter umzubenennen. Wir erstellen Zeichnungen, die mehrere Teile mit Gravurnummern enthalten, und es ist diese Gravurnummer, die ich importieren möchte, um den Reiter meiner Zeichnung zu benennen. Wenn Sie etwas haben, lassen Sie es mich bitte wissen. Vielen Dank! (wir befinden uns im SW 2016)
Wäre es einfacher, ein Datenstück direkt in meiner Zeichnung zu erfassen und das Makro zu bitten, das Blatt entsprechend dieser Daten umzubenennen? Denn am Ende schreibt die Nummer, die mich interessiert, automatisch in meine Patrone! Ich finde es nur abwegig, dass Dassault nicht daran denkt, diese Option direkt in die Blatteigenschaften zu integrieren!!
Vielen Dank
Vielen Dank für Ihre Antwort Cobra, aber ich hatte dieses Makro bereits, aber es nimmt keine direkte Eigenschaft im Teil selbst an, sondern entweder den Konfigurationsnamen oder den Teilenamen:(
Um die Eigenschaft im Schriftfeld abzurufen, ist es am einfachsten, die Anmerkungen mit einer Schleife zu überfahren.
Grundsätzlich müssen Sie diese Art von Schleife verwenden:
Festlegen der swView=swDraw.GetFirstView '-Deklaration zum Aktivieren der Grundkarte Legen Sie swNote = swView.GetFirstNote fest swModel.ClearSelection2 (True) Do While Not SwNote ist nichts Set swAnn = swNote.GetAnnotation sValue = "$PRPSHEET:""" & Num_Gravage & """" ' Geben Sie den Namen der gesuchten Eigenschaft ein Wenn swNote.PropertyLinkedText = sValue dann swSheet.SetName (swNote.GetText) Sub beenden Ende, wenn swModel.ClearSelection2 (True) Festlegen von swNote = swNote.GetNext Schleife
Nun, danke Ceril, aber da ich kein VBA-Programmierer bin, bin ich mir nicht sicher, wo und wie ich Ihre Zeile einfügen soll, hier ist der Code, den ich versuche, an meine Bedürfnisse anzupassen! Wenn Sie mir helfen könnten, wäre das großartig. Vielen Dank
Dim swApp als SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swSheet als SldWorks.Sheet Dim swModelview2 als Konfiguration Dim ConfigName als Zeichenfolge V-Sheets als Variante dimmen Dim swView As SldWorks.View Dim i As Integer
Sub main() Legen Sie swApp = Application.SldWorks fest Festlegen von swModel = swApp.ActiveDoc
vSheets = swModel.GetSheetNames Für i = 1 TB swModel.GetSheetCount swModel.ActivateSheet vSheets(i - 1) Set swSheet = swModel.GetCurrentSheet Anzahl = swModel.GetModelViewCount
Legen Sie swView = swModel.GetFirstView fest
Do While Not swView ist nichts Konfigurationsname = swView.ReferencedConfiguration Legen Sie swView = swView.GetNextView fest Schleife swSheet.SetName Konfigurationsname Weiter i
Hallo, gibt es in Bezug auf dieses neue Makro eine Möglichkeit, ihm mitzuteilen, dass die Notiz, in der die Informationen zu finden sind, nach denen ich suche, um meine Registerkarten umzubenennen, tatsächlich mehr als eine Eigenschaft enthält?
Die Notiz setzt sich aus 2 Eigenschaften zusammen, um meine endgültige Zahl zu bilden, und ich weiß nicht, wie ich ihr das & sagen soll!
Zusammenfassend, wie können wir ihm sagen, dass er die Notiz kopieren soll, die diese Eigenschaft und diese Eigenschaft enthält?
Vielen Dank für Ihre Hilfe, ich bin schlecht bei VBA:)
Hallo Cyril, hier ist, was ich gemacht habe, aber es funktioniert nicht?!
Do While Not SwNote ist nichts Set swAnn = swNote.GetAnnotation sValue = "$PRPSHEET:""Keine Zeichnung""" & "$PRPSHEET:""Kein Stück (Zeichnung)""" 'Geben Sie den Namen der Eigenschaft ein, die Sie suchen' Wenn swNote.PropertyLinkedText = sValue dann swSheet.SetName (swNote.GetText) swModel.EditRebuild3 swModel.Save2 Falsch Beenden Do Ende, wenn swModel.ClearSelection2 (True) Festlegen von swNote = swNote.GetNext Schleife Nächster Ende Sub
Ich habe hier nur den Abschnitt kopiert, der uns interessiert.