Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Text in Tabelle per Makro tiefstellen

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 SOLIDWORKS
  
AMB 2024, Veranstaltung am 10.09.2024
Autor Thema:  Text in Tabelle per Makro tiefstellen (300 / mal gelesen)
heinzfunker
Mitglied


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

Beiträge: 4
Registriert: 05.07.2024

erstellt am: 05. Jul. 2024 08:24    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 bin aktuell dabei eine Tabelle für eine Zeichnung per Makro zu erstellen.

In einer Zeile soll eine Variable mit tiefgestelltem Index eintragen werden. Händisch ist das per Doppelklick in die Zelle und "Stapelformatierung" möglich. Leider lässt sich der Vorgang nicht mit der Makro-Aufzeichnen-Funktion abspeichern.

Kennt jemand einen Weg, um einen Teile des Textes in Tabellen per Makro tiefzustellen?

Danke und viele Grüße


Code:

Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Dim myTable As Object
Dim Zelle As Object
Set myTable = Part.InsertTableAnnotation(0.02, 0.02, 3, 3, 3)
If Not myTable Is Nothing Then
  myTable.BorderLineWeight = 0
  myTable.GridLineWeight = 0
End If

' Stelle Zeichengröße für die ganze Tabelle ein
Dim swTextFormat        As SldWorks.TextFormat
Set swTextFormat = myTable.GetTextFormat
swTextFormat.CharHeightInPts = 9
boolstatus = myTable.SetTextFormat(False, swTextFormat)

' Überschrift fett
Dim swCellFormat        As SldWorks.TextFormat
Set swCellFormat = myTable.GetCellTextFormat(0, 0)
swCellFormat.Bold = True
boolstatus = myTable.SetCellTextFormat(0, 0, False, swCellFormat)


' Linksbündig einiger Zellen
myTable.CellTextHorizontalJustification(0, 0) = 1
myTable.CellTextHorizontalJustification(1, 0) = 1

' Spaltenbreite
boolstatus = myTable.SetColumnWidth(0, 0.03, 0)
boolstatus = myTable.SetColumnWidth(1, 0.015, 0)
boolstatus = myTable.SetColumnWidth(2, 0.015, 0)

boolstatus = myTable.MergeCells(0, 0, 0, 2)

myTable.Text(0, 0) = "Teilenummer"
myTable.Text(1, 0) = "Variable_Index" 'Der Index soll in der fertigen Tabelle tiefgestellt sein (Zur Not würde es auch eine kleinere Schriftgröße tun)
End Sub


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

Volkmar Grube
Mitglied
Konstrukteur


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

Beiträge: 126
Registriert: 31.01.2009

WIN11 64Bit, SWX 2022, Delphi 10

erstellt am: 05. Jul. 2024 16:01    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 heinzfunker 10 Unities + Antwort hilfreich

Nur mal so als Schnellschuss:

In der Solidworks API Hilfe
ITableAnnotation.setcelltextformat
und von dort aus weiterhangeln.

------------------
Grüße aus Dresden
Volkmar Grube

Es gibt keine Probleme, es gibt nur Aufgaben.

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

heinzfunker
Mitglied


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

Beiträge: 4
Registriert: 05.07.2024

erstellt am: 07. Jul. 2024 08:54    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

Danke für den Hinweis! Wenn ich nichts übersehen habe, scheint ein tiefstellen von Zeichen gar nicht vorgesehen zu sein.

Spontan zeichnen sich zwei workarounds ab:
- Die Schriftgröße der Indizes verkleinern (ist sicher nicht ideal, aber vermutlich akzeptabel) --> Leider habe ich noch keine Idee, wie man das Textformat auf einen Teil einer Zelle anwendet.
- Man fügt in die Zelle eine "Stack Note" ein und befüllt nur das untere Feld. So haben wir es bis jetzt manuell gemacht. --> Das wäre die Vorzugslösung für mich, aber mir ist noch nicht klar, wie ich eine Stack Note in eine Zelle eintrage.

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

heinzfunker
Mitglied


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

Beiträge: 4
Registriert: 05.07.2024

erstellt am: 09. Jul. 2024 11:20    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

Ich bin auf eine Lösung gestoßen.

Falls jemand mal das gleiche Problem haben sollte:

Zitat:
myTable.Text(1, 0) = "Variable" + "<STACK divider=no size=0.7> <OVER>Index</STACK>" 'Der Index tiefgestellt

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2784
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 09. Jul. 2024 13:35    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 heinzfunker 10 Unities + Antwort hilfreich

Hallo Heinz,

hab hier -> https://ww3.cad.de/foren/ubb/Forum2/HTML/024586.shtml mal eine kleine Zusammenfassung gemacht was es alles für Formatierung-Tags in SolidWorks gibt falls du auch mal andere Formatierungen brauchst.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

heinzfunker
Mitglied


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

Beiträge: 4
Registriert: 05.07.2024

erstellt am: 11. Jul. 2024 13:02    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

Vielen Dank! Den PARA-Tag hatte ich nicht auf dem Schirm 

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)2024 CAD.de | Impressum | Datenschutz