Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Die Fortsetzung des API-Virus

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
  
Ihre Produktion fit für die Zukunft - Smart Manufacturing mit DELMIAWorks ERP/MES, ein Webinar am 12.09.2025
Autor Thema:  Die Fortsetzung des API-Virus (463 mal gelesen)
Teddibaer
Ehrenmitglied V.I.P. h.c.
Struktur-Experte



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

Beiträge: 2125
Registriert: 09.02.2004

erstellt am: 08. Jul. 2004 11: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

Vorweg gesagt, dieser SWXSolidWorks-TaskManager ist ja nicht schlecht, mich stört aber, dass der SWXSolidWorks immer wieder öffnet und schließt ....

Zum Problem,

Ich möchte ein Makro schreiben, welches alle aktuell geöffneten Dokumente (Zeichnungen) durchläuft und jede Zeichnung jeweils druckt als PDF.

Stelle mir das so vor:

- erst mal Count der geöffneten Dokumente (Absicherung ob nur drw ist egal)
- Schleife von 1 bis endecount, dann mittels swModel.SaveAs2 ein PDF erzeugen (das geht schon bisher auf Knopfdruck)
- Sprung zum nächsten

- das Sahnehäuble wäre noch, das Dokument nach drucken zu schließen.

P.S.: Gibt es analog zu swModel.GetPathName (speicherpfad) auch was für NUR Dateiname !??!

Wäre toll, wenn jemand den Durchblick behält.

------------------
Gruß, der Teddibaer
---------
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
John Osborne (1929-94)

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

JR
Mitglied
Konstrukteur


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

Beiträge: 106
Registriert: 21.10.2003

Alibre Design Expert V26
Keyshot 11.2

erstellt am: 08. Jul. 2004 11: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 Teddibaer 10 Unities + Antwort hilfreich

Hallo Teddibaer,
ob es eine API-Methode für nur den Dateinamen gibt weiß ich nicht, aber so gehts auch.

Code:

Dim swApp As Object
Dim swDoc As Object

Sub main()

  Dim sFileName As String

  Set swApp = Application.SldWorks
  Set swDoc = swApp.ActiveDoc

  If swDoc.GetPathName <> "" Then
    sFileName = Mid(swDoc.GetPathName, InStrRev(swDoc.GetPathName, "\") + 1)
    MsgBox sFileName
  End If

End Sub


Auf der Seite http://files.solidworks.com/API/Examples/00000/0200s/0281/Example.htm gibt es ein Beispiel was dem sehr nahe kommt was Du vorhast.
Das müßte man nur ein bißchen "umbauen".

Gruß Jörn

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

u.clemens
Mitglied
Konstrukteur


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

Beiträge: 964
Registriert: 04.07.2000

engineer's law
o cheap
o fast
o good
check only two !

erstellt am: 08. Jul. 2004 11: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 Teddibaer 10 Unities + Antwort hilfreich

warum das Fahrrad nochmal erfinden ?
http://swtools.cad.de/de_prog_pac.htm

------------------
mfg uc

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

Andreas Müller
Mitglied
Masch. Ing. HTL / Betriebsing. STV


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

Beiträge: 1151
Registriert: 11.04.2001

erstellt am: 08. Jul. 2004 12:57    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 Teddibaer 10 Unities + Antwort hilfreich

Den Dateinamen kannst Du mit "ModelDoc.GetTitle" holen. Aber aufgepasst! Er wird so ausgelesen, wie er in der Titelleiste des entsprechenden Fensters angezeigt wird! Je nach Windows-Einstellung wird er mit oder ohne Extension gelesen. Diesen Fall musst du im Programm abchecken!

------------------
Gruss
Andreas

A+E Müller AG

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

JR
Mitglied
Konstrukteur


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

Beiträge: 106
Registriert: 21.10.2003

Alibre Design Expert V26
Keyshot 11.2

erstellt am: 08. Jul. 2004 13:09    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 Teddibaer 10 Unities + Antwort hilfreich

@Andreas
An ModelDoc.GetTitle() hatte ich auch erst gedacht, aber bei Zeichnungs-Dokumenten hängt hinter dem Dateiname noch ein " - Blatt?"
Da müßte man dann auch den String splitten um nur an den Dateinamen zu kommen.

Gruß Jörn

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

Teddibaer
Ehrenmitglied V.I.P. h.c.
Struktur-Experte



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

Beiträge: 2125
Registriert: 09.02.2004

erstellt am: 08. Jul. 2004 13: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

Zitat:
Original erstellt von u.clemens:
warum das Fahrrad nochmal erfinden ?

WARUM? Die in der Menschheitsgeschichte wahrscheinlich am häufigsten gestelle Frage!

Habe mir das Programm angeschaut, echt gut und teste auch schon, ABER: Dem Alkoholiker kannst Du auch nur mit Hardware beruhigen, ein Foto von einem Bierchen reicht da nicht aus ... Ne ernsthaft, das tüfteln macht halt Laune, auch wenn da die Freizeit drunter leided.

------------------
Gruß, der Teddibaer
---------
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
John Osborne (1929-94)

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