Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Table-Objekt

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
  
PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
Autor Thema:  Table-Objekt (1445 mal gelesen)
Headcase
Mitglied
Dipl.-Ing. (FH) --> Maschinenbau


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

Beiträge: 141
Registriert: 14.10.2004

WinXP Prof., SP3
AutoCAD Mechanical 2010 (2008)
Inventor 2010 (2008)

erstellt am: 21. Dez. 2004 15:05    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 zusammen!

Hab mal wieder ne Frage zu den neuen 2005er Features:
Hat sich jemand schon mal genauer mit dem Table-Objekt beschäftigt?
Tabelle einfügen, Dimensionen und Eigenschaften ändern ist soweit klar, aber wie bekomme ich denn nun eigentlich ein bisl Inhalt in meine Zellen (via VBA)?
Die Hilfe ist ja echt sehr ausagekräftig, besonders die Unmengen an Bsp! 
Kennt jemand eventuell weiterreichende Dokus?

Grüße!
René

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

startrek
Moderator
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: 21. Dez. 2004 16:27    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 Headcase 10 Unities + Antwort hilfreich

Hi Rene,

hm, so irgendwie kannste die 'Zellen' beschreibseln, ABER:
was mir auch noch etwas schleierhaft ist, sind der 'Header' und die linke 'Column'? ;-))

Code:

Sub Example_Table()
   ' This example adds a table in model space
   Dim MyTable As AcadTable
   Dim pt(2) As Double, c&, r&
   Set MyTable = ThisDrawing.ModelSpace.AddTable(pt, 5, 5, 10, 30)
   With MyTable
      For r = 0 To .Rows - 1
         For c = 1 To .Columns - 1
            .SetText r, c, "r" & r & "c" & c
         Next
      Next
   End With
End Sub

Gruss Nancy

[Diese Nachricht wurde von startrek am 21. Dez. 2004 editiert.]

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

startrek
Moderator
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: 21. Dez. 2004 18:16    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 Headcase 10 Unities + Antwort hilfreich

Gott, wie peinlich ...

For c = 1 To .Columns - 1 == leicht bekloppt ;-)
muss natürlich heissen:
For c = 0 To .Columns - 1
dann klappts auch mit oben und links ... ;-)
Ausserdem hab ich mal den Zellverbund in zeile 1 [äh, 0] gelöst,
keine Ahnung, ob in der ersten zeile, das 'Mergen' grundsätzlich default ist. Zellverbunde erschweren IMHOIn my humble oppinion (Meiner Meinung nach) die kiste immer, aber egal ...
also, here it comes again:

Code:

Sub nochmal()
   Dim MyTable As AcadTable
   Dim pt(2) As Double, c&, r&
   Set MyTable = ThisDrawing.ModelSpace.AddTable(pt, 5, 5, 10, 30)
   With MyTable
      .UnmergeCells 0, 0, 0, .Rows - 1
      For r = 0 To .Rows - 1
         For c = 0 To .Columns - 1
            .SetText r, c, "r" & r & "c" & c
         Next
      Next
   End With
End Sub

Gruss Nancy

[Diese Nachricht wurde von startrek am 21. Dez. 2004 editiert.]

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

Headcase
Mitglied
Dipl.-Ing. (FH) --> Maschinenbau


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

Beiträge: 141
Registriert: 14.10.2004

WinXP Prof., SP3
AutoCAD Mechanical 2010 (2008)
Inventor 2010 (2008)

erstellt am: 22. Dez. 2004 08:18    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

Jepp, das funzt so!
Hab die SetText-Methode einfach übersehen...
Das "Un-Mergen" geht übrigens auch via tabelle.TitleSuppressed = True

Gleich noch ne Frage:
Gibt es einen Weg, eine Eigenschaft für einen Zellbereich zu setzen, ohne über eine Schleife jede Zelle einzeln anzusprechen?
Und wie funzt die AutoScale-Eigenschaft?

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

RoSiNiNo
Mitglied
Konstrukteur


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

Beiträge: 1126
Registriert: 09.10.2002

Acad 2011-deutsch, Express Tools
3ds Max 2010
Win 7-Professional
HP Workstation Z400, 6GB
GeForce GTX 470

erstellt am: 22. Dez. 2004 09:39    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 Headcase 10 Unities + Antwort hilfreich

Ich hab mir einmal einen kleinen Zelltext-Editor geschrieben, meinst du so etwas ähnliches?
Code:
'Editieren von Zellentexten in Tabellen
Public Sub CellTextEditor()
   
    Dim objTable As AcadTable
    Dim pt As Variant
    Dim RI As Long
    Dim CI As Long
    Dim strNew As String
   
    On Error GoTo Err_Control
    Do
        GetEntityEx objTable, pt, vbCrLf & "Zelle zeigen: "
        objTable.Select pt, Point3D(0, 0, 1), Point3D(0, 0, 1), 1, 1, False, resultRowIndex:=RI, resultColumnIndex:=CI
        strNew = InputBox(Prompt:="Neuer Text", Default:=objTable.GetText(RI, CI))
        objTable.SetText RI, CI, strNew
    Loop
Exit_Here:
    Exit Sub
Err_Control:
    Err.Clear
    Resume Exit_Here
End Sub

------------------
Roland

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

startrek
Moderator
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: 24. Dez. 2004 00:49    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 Headcase 10 Unities + Antwort hilfreich

Rene, du meinst den Zellbereichen ein Array verpassen?
Ich glaub das geht nicht mit mit dem dem table-dance ...
ergo - schleife ==> kommste ihmo nich drumrum ;-)
lg Nancy
--
All I ask is the chance to prove that money cannot make me happy.

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

bluedog
Mitglied
CAD-Designer


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

Beiträge: 11
Registriert: 21.06.2006

P4 3GhZ, 2GBRam, WinXP, Acad2007, Cinema4D 9.6, Illustrator v9, Photoshop v6

erstellt am: 11. Nov. 2006 10: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 Nur für Headcase 10 Unities + Antwort hilfreich

gibt es eine Möglichkeit, die Zellenbreite für jede Spalte einzeln festzulegen? z.B. das sich die Zelle dem Längsten Wort der Spalte anpasst?
Oder muss man jedesmal nach dem Einfügen von Hand die Spalten an den Griffen auf die richtige Breite ziehen?

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 11. Nov. 2006 12:08    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 Headcase 10 Unities + Antwort hilfreich

Hallo,

such mal in der Excel VBA Hilfe nach AutoFit.
Damit gehts.

Z.B.
' Worksheet ist das Blatt was bearbeitet werden soll
Worksheet.Autofit
Worksheet.Columns("A:I").AutoFit
Worksheet.Range("A1:E1").Columns.AutoFit


Stelli

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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

bluedog
Mitglied
CAD-Designer


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

Beiträge: 11
Registriert: 21.06.2006

P4 3GhZ, 2GBRam, WinXP, Acad2007, Cinema4D 9.6, Illustrator v9, Photoshop v6

erstellt am: 13. Nov. 2006 13:16    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 Headcase 10 Unities + Antwort hilfreich

ich dachte dabei eigentlich an die Tabelle in Autocad.
Ich hole keine Daten aus einer Excel-Tabelle. Aussrdem ist Excel bei mir nicht Installiert.

Die Daten kommen Teilweise aus der Zeichnung, und teilweise aus einer Datenbank. Das ganze wird dann in der Zeichnung Platziert.

Es gibt allerdings Unschönheiten wenn man das ganze als Text platziert, also versuche ich das ganze in eine Tabelle zu bringen.

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

bluedog
Mitglied
CAD-Designer


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

Beiträge: 11
Registriert: 21.06.2006

P4 3GhZ, 2GBRam, WinXP, Acad2007, Cinema4D 9.6, Illustrator v9, Photoshop v6

erstellt am: 14. Nov. 2006 07:26    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 Headcase 10 Unities + Antwort hilfreich

also ich habe es hinbekommen, zwar noch nicht dynamisch, aber damit kann ich auch Leben 
Trotzdem vielen Dank für die Hilfe!
Hier noch mein code:

Code:
Set MyTable = ThisDrawing.PaperSpace.AddTable(Einfügepunkt, Zeilen, 9, 3, 30)
    MyTable.SetTextHeight AcRowType.acHeaderRow + AcRowType.acTitleRow + AcRowType.acDataRow, 1.3  ' Texthöhe Komplett
   
    With MyTable
   
    .SetGridVisibility 3, 3, False
    MyTable.SetColumnWidth 0, 10
    MyTable.SetColumnWidth 1, 20
    MyTable.SetColumnWidth 2, 40
    MyTable.SetColumnWidth 3, 15
    MyTable.SetColumnWidth 4, 15
    MyTable.SetColumnWidth 5, 15
    MyTable.SetColumnWidth 6, 15
    MyTable.SetColumnWidth 7, 15
    MyTable.SetColumnWidth 8, 15

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