Witam wszystkich,
Chcę utworzyć makro, które pozwoliłoby mi zmienić istniejący tekst w strategii SolidWorks.
Do tej pory moje wyszukiwania w Google nie przyniosły rezultatów, a rejestrator makr SolidWorks również nie jest zbyt pomocny.
Nie możemy też powiedzieć, że interfejsy API SolidWorks są dostarczoną, dokładną i dostępną literaturą.
Czy masz jakiś przykład lub pomysł, który mógłby mnie trochę poprowadzić?
Z góry dziękuję
Dziękuję
Ale już znalazłem te dwa kody, nie mające nic wspólnego z tym, co chcę zrobić
Czy możesz powiedzieć więcej w tym przypadku lub pokazać notatkę, którą chcesz zmienić i gdzie?
Ale w rzeczywistości jest to prosty tekst na płaskim tle, na którym jest napisane "AAA" i chcę zmienić ten tekst na "BBB" za pomocą makra bez względu na to, gdzie się znajduje.
Jeśli znam nazwę obiektu, która brzmi: "Plan detail331@fond obiekt1"
Cóż, oto fragment kodu, który działa, z drugiej strony muszę teraz sprawić, by rozpoznawał formaty, ponieważ nazwa notatki nie jest identyczna w każdym formacie rysunku.
Sub main()
Dim swApp jako SldWorks.SldWorks
Przyciemnij swModel jako SldWorks.ModelDoc
Dim swDraw jako SldWorks.DrawingDoc
Dim swView As SldWorks.View
Dim swNote As SldWorks.Note
Dim sNoteText As String
Dim nTextCount tak długo
Słońce i tak długo
Przyćmiona notatkaDescript As String
Set swApp = Application.SldWorks 'CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Set swView = swDraw.GetFirstView ' This is the drawing template
While Not swView Is Nothing
Set swNote = swView.GetFirstNote
While Not swNote Is Nothing
If swNote.GetName = "Objet de détail160" Then
NoteDescript = "$PRPSHEET:" & Chr(34) & "DESCRIPTION_EN" & Chr(34)
swNote.SetTextAtIndex 1, NoteDescript
End If
'If swNote.IsCompoundNote Then
' nTextCount = swNote.GetTextCount
' For i = 1 To nTextCount
' sNoteText = swNote.GetTextAtIndex(i)
' DoReplaceString sNoteText
' swNote.SetTextAtIndex i, sNoteText
' Next i
'Else
' sNoteText = swNote.GetText
' DoReplaceString sNoteText
' swNote.SetText sNoteText
'End If
Set swNote = swNote.GetNext
Wend
Set swView = swView.GetNextView
Wend
Koniec subwoofera
Jeśli treść jest identyczna lub ma tę samą podstawę, preferuj rozpoznawanie za pomocą treści, jeśli nie jest to możliwe, skutecznie sprawdź rozpoznanie za pomocą listy nazwisk.
Wiedząc, że nazwa jest ogólnie bardziej ryzykowna niż treść.
1 polubienie
Witam
Czy notatka jest powiązana z właściwością pliku, czy jest to tylko niedołączony obiekt?
1 polubienie