Macro, zoeken naar waarde, notitie en verandering

Hallo

In een tekening ben ik op zoek naar twee notities met betrekking tot solidworks-eigenschappen

In mijn voorbeeld is de notitie gekoppeld aan deze twee eigenschappen:  $PRPSHEET:"DESIGNATION_FR"$PRPSHEET:"DESIGNATION_FR2"

Ik wil het vervangen door $PRPSHEET:"DESIGNATION_FR"$PRPSHEET:"DESIGNATION_FR2"($PRPSHEET:"NUMERO_PLAN")

en ik heb er nog een om te veranderen $PRPSHEET:"DESIGNATION_UK"$PRPSHEET:"DESIGNATION_UK2"

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

Ik wil deze wijzigingen niet op alle vellen toepassen (gemiddeld ongeveer tien)  behalve op de 1e

Ik ben deze macro begonnen met zoeken en zoeken, maar het werkt niet zoals ik wil.

 

Heb je een idee?

Alvast bedankt voor uw feedback

Hier is bijgevoegd mijn macro

Cdlt

Hallo

Kunt u de code die u momenteel heeft bijvoegen?

Hallo Hiëronymus,

Ik had de bestanden echter in de beschrijving bijgevoegd.

Hier is de macro


macro1.swp

en mijn werkbestand


test.zip

Een begin van een landingsbaan:

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

1 like

Probeer dit eens. Het zal de notities op elk blad wijzigen, behalve het eerste.

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 likes

Dank je wel Jerome

1 like