Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Allgemeine Tabelle mit Makro einfügen

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
  
Bechtle Competence Days | Online
Autor Thema:  Allgemeine Tabelle mit Makro einfügen (3133 mal gelesen)
Jaysan
Mitglied
Konstrukteur / CAD-Admin


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

Beiträge: 12
Registriert: 30.10.2014

erstellt am: 30. Okt. 2014 15:47    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,

ich bin neu hier und möchte gleich vorausschicken, dass ich kaum bis keine Ahmung von Makros habe.

Mein Problem ist ich möchte gerne eine Allgemeine Tabelle die ich vorher gespeichert habe über ein Makro einfügen.

Vielen Dank schon einmal für die Hilfe..
Gruß Jay

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: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 03. Nov. 2014 06: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 Nur für Jaysan 10 Unities + Antwort hilfreich

Hallo Jay,

was für eine Tabelle (Allgemeine SWX Tabelle, Excel OLE Tabelle, Konfigurationstabelle, Versionstabelle...) möchtest du wohin einfügen (Modell, Zeichnung, Baugruppe) und warum reichen dir hier die Standard SWX Funktionen nicht aus?

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

Jaysan
Mitglied
Konstrukteur / CAD-Admin


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

Beiträge: 12
Registriert: 30.10.2014

erstellt am: 10. Nov. 2014 07:29    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 Bernd

es handelt sich um eine Allgemeine SWX Tabelle die ich einfügen möchte.
Über Makro weil er über den Dateinamen auslesen soll, welche Tabelle einzufügen ist.
Ich brauche dazu "nur" den Befehl eine Tabellenvorlage in eine Zeichnung einzufügen. Müsste ja dann an den vorgegeben Ankerpunkt sein?
Gruß und Danke für die Rückmledung.
Jay

------------------
-

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 10. Nov. 2014 08:21    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 Jaysan 10 Unities + Antwort hilfreich

Hallo Jay,

Zitat:
Original erstellt von Jaysan:
Ich brauche dazu "nur" den Befehl eine Tabellenvorlage in eine Zeichnung einzufügen.

Das sollte dann DrawingDoc::InsertTableAnnotation2 sein.
Code:
Sub main()

    Dim swApp As Object
    Dim DrawingDoc As Object
    Dim myTable As Object

    Set swApp = Application.SldWorks
    Set DrawingDoc = swApp.ActiveDoc

    Set myTable = DrawingDoc.InsertTableAnnotation2( _
                                    True, _
                                    0.1, 0.1, _
                                    3, _
                                    "c:\temp\macros\2x2.sldtbt", _
                                    0, 0)
    If myTable Is Nothing Then
        Debug.Print "Ups, konnter Tabelle nicht erzeugen"
    End If
   
End Sub



Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

Jaysan
Mitglied
Konstrukteur / CAD-Admin


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

Beiträge: 12
Registriert: 30.10.2014

erstellt am: 10. Nov. 2014 08:44    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

Hey super vielen Dank funktioniert.

------------------
-

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

Jaysan
Mitglied
Konstrukteur / CAD-Admin


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

Beiträge: 12
Registriert: 30.10.2014

SolidWorks 2015 SP4.0
Windows 7 64bit DELL T1700

erstellt am: 27. Nov. 2014 08: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 nochmal...

das makro funktioniert sehr gut bis jetzt.
Es haben sich aber noch zwei weitere Fragen ergeben.

1. kann ich die eingefügte Tabelle über einen Befehl wieder löschen
denn im Moment muss ich die Tabelle manuell löschen und es wäre schön wenn das über ein Button funktionieren würde.

2. kann ich der Tabelle einen Namen geben, dass sie im Verzeichnis rechts nicht als Allgemeine Tabelle 1,2,3... angezeigt wird.

Vielen Dank schon einmal für die Hilfe
Gruß Jay

------------------
-

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

nahe
Ehrenmitglied



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

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 27. Nov. 2014 15:59    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 Jaysan 10 Unities + Antwort hilfreich

Hallo

1.) am Besten Du gibst nach dem Erstellen Deiner Tabelle noch einen Namen mit
myTable.Annotation.SetName("Tabelle-XY")

wenn Du die Tabelle dann löschen möchtest
suchst Du Dir einfach die Tabelle an Hand des Namens und löscht sie
in dem Du sie auswählt und löscht.
In der Art von

swann.Select (False)
swDraw.DeleteSelection (False)

2.) den Namen im Featuremanager kannst Du mit
myTable.GeneralTableFeature.GetFeature.Name = "Tabelle-XY"
vergeben

------------------
Grüße
Heinz

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

Jaysan
Mitglied
Konstrukteur / CAD-Admin


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

Beiträge: 12
Registriert: 30.10.2014

erstellt am: 28. Nov. 2014 07:44    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

Hey Vielen Dank erst einmal für die schnelle Antwort.
Ich muss aber gestehen ich kann nicht besonders viel damit anfangen da
ich keine Ahnung habe wie ich das einfügen soll.
Wäre für einen kurzen Code unheimlich dankbar.

In dem Zug wollte ich auch noch nachfragen gibt es eine DEUTSCHE Seite mit der man sich die Basics beibringen kann.

Hab nochmal den Code von oben aufgegriffen kann mir vllt jemand hier das einbauen wie ich das mit dem Namen machen und dann auch wie ich die Tabelle nach Namen auswähle und wieder lsöche.

Vielen Dank

Code:

Sub main()

    Dim swApp As Object
    Dim DrawingDoc As Object
    Dim myTable As Object

    Set swApp = Application.SldWorks
    Set DrawingDoc = swApp.ActiveDoc

    Set myTable = DrawingDoc.InsertTableAnnotation2( _
                                    True, _
                                    0.1, 0.1, _
                                    3, _
                                    "c:\temp\macros\2x2.sldtbt", _
                                    0, 0)
    If myTable Is Nothing Then
        Debug.Print "Ups, konnter Tabelle nicht erzeugen"
    End If

????swann.Select (False)
swDraw.DeleteSelection (False)????
 
End Sub

------------------
-

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 28. Nov. 2014 08:17    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 Jaysan 10 Unities + Antwort hilfreich

Hallo Jay,

Zitat:
Original erstellt von Jaysan:
In dem Zug wollte ich auch noch nachfragen gibt es eine DEUTSCHE Seite mit der man sich die Basics beibringen kann.

Da bin ich etwas verblüfft, dass du nichts findest, wenn du wirklich danach gesucht hast. Hier im Forum kannst du viele Beiträge finden, Stichworte wie Makro, API, Lernen, Einsteigen miteinander kombiniert bringen schnell Ergebnisse.

Wie in den gelinkten Beiträgen auch geschrieben solltest du zunächst mal VB/VBA (oder VB.NET) in den Grundlagen lernen, sonst wird das nichts. Dazu gibt es Online-Kurse, Kurse an Volkshochschulen oder Bücher mit Lernvideos zum Selbststudium. Für die Grundlagen der AP Programmierung mit SolidWorks kannst du dann mal auf meiner API Hilfeseite vorbeischauen, da ist auch immer noch der hervorragende Grundlagenkurs von Daniel Bühling zu finden. Der hat auch unter http://www.mysldworks.de/ eine super Seite mit Snippets und Codebeispielen zu .NET mit SolidWorks in deutscher Sprache.

Hier im Brett findest du auch hunderte an Beispielen, meist Hilfen und kleine Bruchstücke, selten mal ganze kommentierte Makros. Und das hat in der Regel einen Grund:

Zitat:
Original erstellt von Jaysan:
Hab nochmal den Code von oben aufgegriffen kann mir vllt jemand hier das einbauen wie ich das mit dem Namen machen und dann auch wie ich die Tabelle nach Namen auswähle und wieder lsöche.

Fertige, kundenspezifische Arbeiten werden in der Regel in einer kommerziellen Umgebung gegen Bezahlung erstellt. Hier im Brett gibt es in der Regel Hilfe zur Selbsthilfe, aber da muss dann schon mehr kommen als "Ich kann das nicht, macht ihr mir mal".

Du kannst dir dazu gerne mal meine Meinung in diesem Beitrag durchlesen (ggf. auch den ganzen Thread, da steckt auch noch ne Menge zum Lernen in Bezug auf API Programmierung drin, nicht nur dieses Metagesülze  ).

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

nahe
Ehrenmitglied



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

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 28. Nov. 2014 08: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 Nur für Jaysan 10 Unities + Antwort hilfreich

Hallo Jaysan

nachdem ich Dir einen falschen Code gepostet habe
es muss nämlich "myTable.GetAnnotation.SetName("Tabelle-XY")" und nicht "myTable.Annotation.SetName("Tabelle-XY")"
heißen

anbei zwei Makros die Dir helfen sollten


Const Tab_name = "Tabelle-XY"

Sub insert_tab()
    Dim swApp       As Object
    Dim swdraw      As Object
    Dim swview      As Object
    Dim swann       As Object
    Dim myTable     As Object

    Set swApp = Application.SldWorks
    Set swdraw = swApp.ActiveDoc
   

    Set swview = swdraw.GetFirstView
    Do While Not swview Is Nothing
      Set myTable = swview.GetFirstTableAnnotation
      Do While Not myTable Is Nothing
        Set swann = myTable.GetAnnotation
        If swann.GetName = Tab_name Then
          MsgBox "Tabelle " & Tab_name & " existiert bereits", vbOKOnly, "Meldung"
          Exit Sub
        End If
        Set myTable = myTable.GetNext
      Loop
      Set swview = swview.GetNextView
    Loop
   
     
    Set myTable = swdraw.InsertTableAnnotation2(True, 0.1, 0.1, 3, "", 2, 2)
    If myTable Is Nothing Then
        MsgBox "Konnte Tabelle " & Tab_name & " nicht erstellen", vbOKOnly, "Meldung"
    Else
      myTable.GetAnnotation.SetName(Tab_name)
      myTable.GeneralTableFeature.GetFeature.Name = Tab_name
    End If
End Sub

Sub del_tab()
    Dim swApp       As Object
    Dim swdraw      As Object
    Dim swview      As Object
    Dim swann       As Object
    Dim myTable     As Object

    Set swApp = Application.SldWorks
    Set swdraw = swApp.ActiveDoc

    Set swview = swdraw.GetFirstView
     Do While Not swview Is Nothing
        Set myTable = swview.GetFirstTableAnnotation
        Do While Not myTable Is Nothing
            Set swann = myTable.GetAnnotation
            If swann.GetName = Tab_name Then
              swann.Select (False)
              swdraw.DeleteSelection (False)
              Exit Sub
            End If
            Set myTable = myTable.GetNext
        Loop
        Set swview = swview.GetNextView
    Loop
   
    MsgBox "Keine Tabelle mit dem Namen " & Tab_name & " gefunden", vbOKOnly, "Meldung"
End Sub

------------------
Grüße
Heinz

[Diese Nachricht wurde von nahe am 28. Nov. 2014 editiert.]

[Diese Nachricht wurde von nahe am 28. Nov. 2014 editiert.]

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

Jaysan
Mitglied
Konstrukteur / CAD-Admin


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

Beiträge: 12
Registriert: 30.10.2014

erstellt am: 28. Nov. 2014 10:14    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 nahe,

Vielen Dank für die Unterstützung!
Hat mir sehr geholfen.

Gruß Jay

------------------
-

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