Hallo,
ich möchte in einer migrierten Zeichnung global einen Font austauschen. Dies klappt bei Texten, die vom Typ "angeforderte Eingabe" sind, bei konstanten Texten leider nicht. Die Texte des migrierten Zeichnungsrahmens befinden sich als skizziertes Symbol innerhalb des Layouts.
Eine Zuweisung an oTextBox.FormattedText="<StyleOverride Font='mein Font'>Test</StyleOverride>" wird leider mit einem Fehler quittiert.
Die Zuweisung oTextBox.Style.Font = mein Font wird zwar für alle Textboxen ausgeführt, ist jedoch die Änderung nicht sichtbar.
Anbei der Beispielcode.
Würde mich freuen, wenn jemand einen Tip für mich hat. Vielen Dank vorab,
JoKol
' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>> '
Public Sub testFontsAIGDT()
Call updateFontInDrawing("Arial", "AIGDT", ThisApplication.ActiveDocument)
End Sub
Private Sub updateFontInDrawing(sFont As String, rFont As String, oDrawing As Inventor.DrawingDocument)
Dim oSheet As Sheet
Dim oSketchedSymbols As SketchedSymbols
Dim oSketchedSymbol As SketchedSymbol
Dim oSketch As DrawingSketch
Dim oTextBox As Inventor.TextBox
Dim txtStr As String
Set oSheet = oDrawing.ActiveSheet
' skizzierte Elemente aus Layout
Set oSketchedSymbols = oSheet.SketchedSymbols
For Each oSketchedSymbol In oSketchedSymbols
Debug.Print oSketchedSymbol.Definition.Name
Set oSketch = oSketchedSymbol.Definition.Sketch
If Not (oSketch Is Nothing) Then
For Each oTextBox In oSketch.TextBoxes
If (oTextBox.Style.Font = sFont) Then
txtStr = "<StyleOverride Font='" & rFont & "'>TEST</StyleOverride>"
' Folgende Zeile füht zu einem Fehler ???
'oTextBox.FormattedText = txtStr
oTextBox.Style.Font = rFont
End If
Next
End If
Next
DoEvents
Set oTextBox = Nothing
Set oSketch = Nothing
Set oSketchedSymbol = Nothing
Set oSketchedSymbols = Nothing
Set oSheet = Nothing
End Sub
' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>> '
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP