Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Vorhandenen Text in Drawing nach String durchsuchen und Text formatieren

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
Autor Thema:  Vorhandenen Text in Drawing nach String durchsuchen und Text formatieren (592 mal gelesen)
CADAndale
Mitglied


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

Beiträge: 1
Registriert: 17.04.2018

CATIA V5 R19, Visual Basic Editor

erstellt am: 17. Apr. 2018 10:58    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


Bild_Vorher.png


Bild_Nachher.png

 
Hallo Zusammen,

ich bin neu hier im Forum und blutiger Anfänger in Sachen Makro-Programmierung.
Die Suchfunktion habe ich ausgiebig genutzt doch keine Lösung für mein Problem gefunden. Ich hoffe ich habe nichts dergleichen übersehen.

Zu meinem Problem:
Ich muss bei einer Drawing  einen bestimmten String innerhalb eines bereits vorhandenen Textes auslesen bzw. überprüfen ob dieser vorhanden ist und je nach Ergebnis diesen einfärben bzw. hinzufügen. (siehe „Bild_Vorher“ und „Bild_Nachher“ im Anhang)
Da ich nicht an den Text herankomme scheitert es aktuell sowohl an der Überprüfung (If-Abfrage) und am Einfärben. Das Hinzufügen klappt und sollte keine Schwierigkeiten bereiten.

Ich habe hierfür mal einen Beispielcode gebastelt und die Stellen an denen ich nicht weiterkomme fett markiert:

Code:

Public CheckBox(4) As CheckBox
Public Test(4) As String

Sub CATMain()

Dim Doc As Document
Dim Sheets As DrawingSheets
Dim HauptSheet As DrawingSheet
Dim Views As DrawingViews
Dim Background As DrawingView
Dim Tabelle As DrawingText
Dim TextGesamt As String

Set Doc = CATIA.ActiveDocument
Set Sheets = Doc.Sheets
Set HauptSheet = Sheets.Item(1)
Set Views = HauptSheet.Views
Set Background = Views.Item(2)
Set Tabelle = Background.Texts.GetItem(„Test_Tabelle“)
TextGesamt = Tabelle.Text

Set CheckBox(1) = UserForm1.CheckBox1
Set CheckBox(2) = UserForm1.CheckBox2
Set CheckBox(3) = UserForm1.CheckBox3
Set CheckBox(4) = UserForm1.CheckBox4

Set Test(1) = „Test1“
Set Test(2) = „Test2“
Set Test(3) = „Test3“
Set Test(4) = „Test4“

FarbeRot = -16776961

For Z = 1 to 4
                If CheckBox(Z).Value = True Then    `Haken gesetzt
                `Überprüfen ob String Test(Z) in TextGesamt vorhanden
                              If …    `Wenn der Text nicht vorhanden ist, soll er hinzugefügt werden

                              TextGesamt = TextGesamt & Chr(10) & Test(Z)
                              End If
                Else
                `Überprüfen ob String Test(Z) in TextGesamt vorhanden
                              If …    `Wenn der Text vorhanden ist, soll er rot eingefärbt werden
                              Text(Z).Color = FarbeRot

                              End If
                End If
Next

Doc.Update
End Sub


Folgende Funktionen sind mir noch bekannt:
Mit Hilfe von
                TextGesamt = Replace(TextGesamt, Text(Z), „“)
kann ich den String zwar ansprechen und löschen allerdings nicht einfärben
Und mit
                Tabelle.TextProperties.Color = FarbeRot
kann ich den kompletten Text rot färben, aber die Farbe nicht einer einzelnen Zeichenkette zuweisen.

Ich hatte gehofft über  selection.search  den String zu finden und daraufhin über  sel.VisProperties.SetRealColor  die jeweiligen Texte zu überarbeiten.
Doch ich komme nicht an die Texte heran. Noch nicht mal in der normalen Catia-Umgebung über Edit->Search kann ich die entsprechende Zeichenkette finden. 

Ich hoffe ich habe es geschafft mein Problem verständlich zu machen und bin für jeden Tipp dankbar. 

Mfg Andale 

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 17. Apr. 2018 18:48    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 CADAndale 10 Unities + Antwort hilfreich

Servus

Um nur einen Teilstring zu formatieren gibt es die Methode SetParameterOnSubString (siehe Doku und Forensuche)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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