Makro, wyszukaj notatkę wartości i zmień

Witam

Na rysunku chcę zmienić dwie notatki związane z właściwościami solidworks

W moim przykładzie notatka jest powiązana z tymi dwiema właściwościami:  $PRPSHEET:"DESIGNATION_FR"$PRPSHEET:"DESIGNATION_FR2"

Chcę go zamienić na $PRPSHEET:"DESIGNATION_FR"$PRPSHEET:"DESIGNATION_FR2"($PRPSHEET:"NUMERO_PLAN")

i mam inny do zmiany $PRPSHEET:"DESIGNATION_UK"$PRPSHEET:"DESIGNATION_UK2"

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

Nie chcę stosować tych zmian na wszystkich arkuszach (średnio około dziesięciu)  z wyjątkiem 1.

Uruchomiłem to makro od znajdowania i wyszukiwania, ale nie działa tak, jak chcę.

 

Masz pomysł?

Z góry dziękujemy za Twoją opinię

Tu załączam moje makro

Cdlt powiedział:

Witam

Czy możesz dołączyć kod, który aktualnie posiadasz?

Witaj Hieronim,

Pliki miałem jednak załączone w opisie.

Oto makro


makro1.swp

i mój plik roboczy


test.zip

Początek pasa startowego:

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

1 polubienie

Spróbuj tego. Zmieni notatki na każdym arkuszu z wyjątkiem pierwszego.

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 polubienia

Dziękuję Jerome

1 polubienie