Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Font in TextBox ändern

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Font in TextBox ändern (2244 mal gelesen)
JoKol
Mitglied


Sehen Sie sich das Profil von JoKol an!   Senden Sie eine Private Message an JoKol  Schreiben Sie einen Gästebucheintrag für JoKol

Beiträge: 2
Registriert: 19.09.2006

AIS 11 SP 2

erstellt am: 20. Sep. 2006 10:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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

ccKeyLargo
Mitglied
Verfahrensentwickler


Sehen Sie sich das Profil von ccKeyLargo an!   Senden Sie eine Private Message an ccKeyLargo  Schreiben Sie einen Gästebucheintrag für ccKeyLargo

Beiträge: 32
Registriert: 15.01.2007

erstellt am: 19. Mrz. 2007 13:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für JoKol 10 Unities + Antwort hilfreich

Hallo,

das habe ich auch so versucht, bin aber dann darauf gekommen, dass eine solche Änderung nur mit einer der folgenden Methoden möglich ist:

Set oTextBox = oSketch.TextBoxes.AddByRectangle(oTG.CreatePoint2d(1, 1), oTG.CreatePoint2d(2, 2), strFormattedText)

Set oTextBox = oSketch.TextBoxes.AddFitted(oTG.CreatePoint2d(1,1), strFormattedText)

Ist nun nur ein Beispiel aus meinem Code mit meinen Objektnamen.
Siehe auch in der API-Hilfe. Unter Suche einfach "AddFitted" eingeben, dann findest ein Beispiel dazu.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz