Makro, Suche nach Wertnote und Änderung

Hallo

In einer Zeichnung möchte ich zwei Notizen ändern, die sich auf SolidWorks-Eigenschaften beziehen

In meinem Beispiel ist die Notiz mit diesen beiden Eigenschaften verknüpft:  $PRPSHEET:"DESIGNATION_FR"$PRPSHEET:"DESIGNATION_FR2"

Ich möchte es durch $PRPSHEET:"DESIGNATION_FR"$PRPSHEET:"DESIGNATION_FR2"($PRPSHEET:"NUMERO_PLAN") ersetzen.

und ich habe noch einen zu ändern $PRPSHEET:"DESIGNATION_UK"$PRPSHEET:"DESIGNATION_UK2"

$PRPSHEET:"DESIGNATION_UK"$PRPSHEET:"DESIGNATION_UK2"($PRPSHEET:"NUMERO_PLAN")

Ich möchte diese Änderungen nicht auf alle Blätter (im Durchschnitt etwa zehn)  anwenden, außer auf dem 1.

Ich habe dieses Makro mit Suchen und Suchen gestartet, aber es funktioniert nicht so, wie ich es möchte.

 

Haben Sie eine Idee?

Vielen Dank im Voraus für Ihr Feedback

Hier ist mein Makro angehängt

Cdlt

Hallo

Können Sie den Code anhängen, den Sie derzeit haben?

Hallo Jerome,

Allerdings hatte ich die Dateien in der Beschreibung angehängt.

Hier ist das Makro


Makro1.swp

und meine Arbeitsdatei


test.zip

Start einer Landebahn:

https://www.lynkoa.com/forum/mises-en-plan/modifier-une-note-sur-un-fond-de-plan-solidworks-avec-une-macro?page=1

1 „Gefällt mir“

Versuchen Sie das. Es ändert die Notizen auf jedem Blatt außer dem ersten.

Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swView As SldWorks.View
Dim swNote As SldWorks.Note
Dim vSheets As Variant
Dim i As Integer
Dim vNotes As Variant
Dim vNote As Variant
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
vSheets = swDraw.GetSheetNames
For i = 1 To UBound(vSheets)
    swDraw.ActivateSheet vSheets(i)
    Set swView = swDraw.GetFirstView
    vNotes = swView.GetNotes
    For Each vNote In vNotes
        Set swNote = vNote
        If InStr(swNote.PropertyLinkedText, "$PRPSHEET:""DESIGNATION_FR") > 0 Then
            swNote.PropertyLinkedText = "$PRPSHEET:""DESIGNATION_FR""$PRPSHEET:""DESIGNATION_FR2""($PRPSHEET:""NUMERO_PLAN"")"
        ElseIf InStr(swNote.PropertyLinkedText, "$PRPSHEET:""DESIGNATION_UK") > 0 Then
            swNote.PropertyLinkedText = "$PRPSHEET:""DESIGNATION_UK""$PRPSHEET:""DESIGNATION_UK2""($PRPSHEET:""NUMERO_PLAN"")"
        End If
    Next
Next
End Sub

 

3 „Gefällt mir“

Danke Jerome

1 „Gefällt mir“