Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Texte in Tabellen

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:  Texte in Tabellen (777 mal gelesen)
Ejesb
Mitglied



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

Beiträge: 65
Registriert: 28.01.2008

Autocad 2020
Specifi
Abracad<P>Win10 64bit

erstellt am: 02. Dez. 2009 14: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 habe eine recht große Tabelle von einem Büro bekommen und habe diese in meine Zeichnung eingefügt. Ich möchte nun die Texte in den Zellen ändern (Farbe und Textstil). Muß ich wirklich jede Zelle einzeln bearbeiten, oder geht dies auch global für eine ganze Tabelle?

Hilfe

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

startrek
Mitglied
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 02. Dez. 2009 18:22    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 Ejesb 10 Unities + Antwort hilfreich

Hallo,

über Tabelle anwählen und RMT 'Alle Eigenschaftenüberschreibungen entfernen' setzt du zumindest auf den Urstil zurück.
Oder gleich einen neuen Stil anlegen.

Du kannst ja auch mal mit untigem probieren, ist zwar nicht sehr performant, da wirklich jede 'Zelle' einzeln angefasst wird.
Das Nonplusultra wirds nicht sein, aber besser als zu Fuß.

[trekkedi: code s. eins weiter u.]

HTHHope this helps (Hoffe, es hilft weiter) Nancy - und vielleicht kommen ja noch bessere Lösungen

[Diese Nachricht wurde von startrek am 02. Dez. 2009 editiert.]

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

startrek
Mitglied
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 02. Dez. 2009 20:15    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 Ejesb 10 Unities + Antwort hilfreich

Sorry - totalen Käse verfasst   
... mit formatierten Tabellentexten nützt das natürlich niente, nada   

Ist dann in etwa dasselbe, wie bei Mtexten, über gettext() bekomm' ich dann in etwa sowas:

Code:

{\fArial Black|b0|i0|c0|p34;ddddddddd}
{\fArial|b1|i0|c0|p34;\Lbbbbbbbbb}


Bei MTexten hilft ja, einfach mal in einen Texteditor kopieren und zurück, bei Tabellen grade keinen Plan.

Ich habs mal versucht, aber mit Vorsicht zu geniessen und nur für einzeilige Texte, die je Text einheitlich formatiert sind, wie s.o.
Hab' nicht alle Fonts durchprobiert, weiss nicht ob man alle so erschlagen kann, egal wirklich nur als Versuch, just for fun:

Code:
Sub testen()
tablechange "Romans", 100, 100, 100
End Sub

Function tablechange(txtstyle As String, Rot&, Gelb&, Blau&)
    Dim objO As Object, pp As Variant
    Dim s$, r&, c&
    Dim color As AcadAcCmColor
    Set color = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
   
    Dim re As Object
    Set re = CreateObject("vbscript.regexp")
    re.Global = 1
    re.pattern = "^\{\\f\w+\s?\w+.*;\\?L?(.*)\}$"
   
    ThisDrawing.Utility.GetEntity objO, pp, "Tabelle wählen:"
   
    If TypeOf objO Is IAcadTable Then
        Call color.SetRGB(Rot, Gelb, Blau)
        With objO
            For r = 1 To .Rows
                For c = 1 To .Columns
                    s = .GetText(r - 1, c - 1)
                    .SetText r - 1, c - 1, re.Replace(s, "$1")
                    .SetCellTextStyle r - 1, c - 1, txtstyle
                    .SetCellContentColor r - 1, c - 1, color
                Next
            Next
        End With
    End If
End Function


Erstlingscode lösch ich raus, ist auch hier noch mit drinnen.

CUSee You Nancy

[Diese Nachricht wurde von startrek am 02. Dez. 2009 editiert.]

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

Ejesb
Mitglied



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

Beiträge: 65
Registriert: 28.01.2008

Autocad 2020
Specifi
Abracad<P>Win10 64bit

erstellt am: 03. Dez. 2009 08:12    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 Nancy,
vielen Dank, mein Prob. ist aber bei disem Code meine VBA kenntnisse.

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

startrek
Mitglied
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 03. Dez. 2009 16:15    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 Ejesb 10 Unities + Antwort hilfreich

Hallo nochmal,

drücke mal bitte Alt+F11 im Acad > es erscheint der VBE.
Dort oben im Menue Einfügen > Modul

In das leere Modul1-Fenster kopierst du den Code (leicht geändert zu gestern):

Code:

Option Explicit

Sub testen()
tablechange "Romans", 100, 100, 100
End Sub

Function tablechange(txtstyle As String, Rot&, Gelb&, Blau&)
    Dim objO As Object, pp As Variant
    Dim s$, r&, c&
    Dim color As AcadAcCmColor
    Set color = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
 
    Dim re As Object
    Set re = CreateObject("vbscript.regexp")
    re.Global = 1
    're.pattern = "^\{\\f\w+\s?\w+.*;\\?L?(.*)\}$"
    re.pattern = "\{\\f?.*[pc]\d{1,2};\\?C?\d?;?\\?L?(.*)\}"
 
    ThisDrawing.Utility.GetEntity objO, pp, "Tabelle wählen:"
 
    If TypeOf objO Is IAcadTable Then
        Call color.SetRGB(Rot, Gelb, Blau)
        With objO
            .Visible = 0
            For r = 1 To .Rows
                For c = 1 To .Columns
                    s = .GetText(r - 1, c - 1)
                    'Debug.Print s
                    .SetText r - 1, c - 1, re.Replace(s, "$1")
                    .SetCellTextStyle r - 1, c - 1, txtstyle
                    .SetCellContentColor r - 1, c - 1, color
                    'Debug.Print re.Replace(s, "$1")
                Next
            Next
            .Visible = 1 'thx to Alfred;-)
        End With
    End If
End Function


Dann kannste den VBE schliessen.
Jetzt bitte mal eine Testtabelle bzw. Duplikat deiner Tabellen machen, bitte NEVEREVER im Original!

Warum? Dafür bin ich mich viel zu unsicher, was denne bei dir da wirklich so pro Zelle drinnensteht, soll heissen > der Code kann auch Mist fabrizieren ... deswegen halt nicht im Original testen.
Ansonstem keine Angst vorm Ausführen, dein Rechner wird nicht mit nem lauten Knall rauchend Servus sagen 

Jetzt drückst du Alt+F8 im Acad und führst das Makro 'testen' in Modul1 aus (sollte eh' das Einzige sein).

Tja und dann ... entweder HTHHope this helps (Hoffe, es hilft weiter) oder Satz mit x ...

lg Nancy

[Diese Nachricht wurde von startrek am 04. Dez. 2009 editiert.]

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

Ejesb
Mitglied



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

Beiträge: 65
Registriert: 28.01.2008

Autocad 2020
Specifi
Abracad<P>Win10 64bit

erstellt am: 10. Dez. 2009 15:41    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 Nancy,

ich habe nun alles nach deiner Anleitung ausgeführt, aber irgendwie...
Beim Ausführen des Markros folgt: "Fehler beim Kompilieren: Außerhalb einer Prozedur ungültig".
Ich hatte dann die Tabelle gesprengt. Nun habe ich die nächste Tabelle zu bearbeiten. Hast Du noch eine Idee?

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