Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro Mehrere Dateien öffnen

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
Autor Thema:   Makro Mehrere Dateien öffnen (3136 mal gelesen)
Ernieundbert
Mitglied
Konstrukteur


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

Beiträge: 99
Registriert: 25.10.2011

Solid Works 2013 SP5
PDM Workgroup
Win 7 64bit
Fujitsu Celsius M460
Quadro FX 3800
Intel Core2Quad CPU 9330 2,5GHz
8GB RAM

erstellt am: 08. Dez. 2011 13:13    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 Forum, ich habe mal wieder eine kleine Makro Frage.
Ich habe (mit Hilfe des WBFWelt bestes Forum    ) ein Makro geschrieben, das ich über den SW-Taskplaner ausführen und diverse Aktionen (Eigenschaften übertragen, dwgs erstellen etc.) durchführen möchte:

Option Explicit
Dim swApp As Object

....

Dim Filter As String                    ' Variablen zum Datei öffnen
Dim fileName As String
Dim fileConfig As String
Dim fileDispName As String
Dim fileOptions As Long
Dim doctype As Long
Dim fileopenerrors As Long
Dim fileopenwarnings As Long

....

Sub main()

' An das aktive Solidworks-Modell anklinken, wenn keins läuft wird eins aufgemacht
Set swApp = CreateObject("SldWorks.Application")
swApp.Visible = True

' Zeichnungsdateien öffnen
Filter = "SolidWorks Zeichnung (*.slddrw)|*.slddrw|"
fileName = swApp.GetOpenFileName("Zeichnung auswählen", "", Filter, fileOptions, fileConfig, fileDispName)
swApp.OpenDoc6 fileName, swDocDRAWING, swOpenDocOptions_Silent, "", fileopenerrors, fileopenwarnings

End Sub

Funktioniert auch soweit, nur kann ich immer nur eine Datei öffnen. Gibts auch eine Möglichkeit/Befehl direkt mehrere Dateien zum Öffnen auszuwählen?

------------------
Einen schönen Gruß, Thomas

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

HenryV
Mitglied
Konstrukteur, Engineering


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

Beiträge: 684
Registriert: 18.05.2005

SolidWorks 2018 x64 SP4.0
Dell T3600 Workstation
Intel XENON 6x3.2 GHz
NVIDIA Quadro 4000 2 GB
16GB RAM
2x Dell U2412M, 24" TFT
Windows 7 Professional x64 SP1
Microsoft Office Pro 2010 SP2
Kaspersky Anti-Virus 10.2.4.674
Microsoft VB 2010 Express
SpacePilot von 3Dconnexion

erstellt am: 08. Dez. 2011 14: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 Nur für Ernieundbert 10 Unities + Antwort hilfreich

Hallo Thomas

Ja, die gibts. Ich kenne Zwei.

1.) Benutze den Standard-Öffnen Dialog von  SolidWorks.

Code:
swApp.Command (swFileOpen)

Nachteil: Man kann keine Filter setzten.


2.) Benutze den Standard-Öffnen Dialog von Windows
Code findest du z.B. hier -> http://www.vbarchiv.net/tipps/tipp_286-datei-dialog.html

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

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

Ernieundbert
Mitglied
Konstrukteur


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

Beiträge: 99
Registriert: 25.10.2011

Solid Works 2013 SP5
PDM Workgroup
Win 7 64bit
Fujitsu Celsius M460
Quadro FX 3800
Intel Core2Quad CPU 9330 2,5GHz
8GB RAM

erstellt am: 08. Dez. 2011 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

Hallo Andreas,

bei Lösung 2 erschlägt mich der Input leider ein wenig (solange programmier ich noch nicht), aber mit Nr. 1 komme ich wohl zurecht. Mit einer kleinen Schleife und Abfrage ob auch nur Zeichnungen geöffnet sind sollte das klappen. Letzendlich ist der Code auch einfacher als mein OpenDoc6. Danke dir! 

------------------
Einen schönen Gruß, Thomas

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: 09. Dez. 2011 08:43    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 Ernieundbert 10 Unities + Antwort hilfreich

Hallo Thomas,

mal ne andere Frage: warum möchtest du mit dem Taskplaner, bei dem du ja vorher die ganzen Dokumente auswählen kannst, auf die dein benutzerdefinierter Task losgelassen wird, ein Makro einsetzen, bei dem der Anwender dann doch wieder im automatischen Fluss gehemmt wird und ein paar Dateien auswählen soll?

Ich würde immer empfehlen, das Makro so zu schreiben, dass es mit dem einen, aktiven Dokument arbeitet, dann im Taskplaner die Dateien auswählen und da das Makro drauf loslassen. Der Taskplaner öffnet die Dokumente, ruft dann dein Makro auf, und schließt das Dokument wieder. So mach ich das auch mit allen Makros, die ich für einen Batchjob mit PAC4SWX ausführe.

Zur Frage selbst hat Andreas dir schon den richtigen Link geschickt, in meinen Makros mach ich das auch so, wenn ich eine Dateiauswahlbox mit Filter brauche.

Ciao,
Stefan

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

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

Ernieundbert
Mitglied
Konstrukteur


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

Beiträge: 99
Registriert: 25.10.2011

Solid Works 2013 SP5
PDM Workgroup
Win 7 64bit
Fujitsu Celsius M460
Quadro FX 3800
Intel Core2Quad CPU 9330 2,5GHz
8GB RAM

erstellt am: 09. Dez. 2011 09: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

Hallo Stefan,

beim Taskplaner habe ich keine Möglichkeit gefunden mit benutzerdefinierten Tasks vorher Dateien auszuwählen auf die ich ein Makro anwenden kann - habe ich da was übersehen?

Letztendlich habe ich mein Makro jetzt so abgeändert, das ich es aus SolidWorks heraus starten kann, alle gewünschten Dateien geöffnet und dann meine Routinen abgearbeitet werden.

------------------
Einen schönen Gruß, Thomas

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: 09. Dez. 2011 10: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 Nur für Ernieundbert 10 Unities + Antwort hilfreich

Hallo Thomas,

Zitat:
Original erstellt von Ernieundbert:
beim Taskplaner habe ich keine Möglichkeit gefunden mit benutzerdefinierten Tasks vorher Dateien auszuwählen auf die ich ein Makro anwenden kann - habe ich da was übersehen?

 

Nein, du nicht, aber ich. Ich arbeite nicht mit dem Taskplaner für solche Sachen, dafür hab ich ja mein eigenes Tool. Ich war aber felsenfest davon überzeugt, dass diesen simplen Mechanismus auch der Taskplaner für die benutzerdefinierten Tasks benutzt, weil er ja bei den ganzen Funktionen auch macht. Aber Pustekuchen.

Also doch durch die Abfrage quälen, wobei wie gesagt dass dann zwar ein zeitlich gestuerter, aber nicht mehr automatischer Prozess ist. Vielleicht schaust du dir mal einfach das oben angelinkte Tool von mir an, dass führt die Makro pro Dokument aus, was du in der Abarbeitungsliste hast, die du vorher nach Gutdünken zusammenstellen kannst.

Ciao,
Stefan

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

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