| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | SolidWorks Kurs mit IHK-Zertifzierung , ein Kurs (bis zu 100% förderbar mit Bildungsgutschein)
|
|
Autor
|
Thema: API: Browsen und alle Dateien in einem Verzeichnis abarbeiten (2339 mal gelesen)
|
Piet Mitglied Konstruktionsleiter & Konstrukteur
  
 Beiträge: 661 Registriert: 20.11.2001 SWx 2021
|
erstellt am: 28. Apr. 2008 16:12 <-- editieren / zitieren --> Unities abgeben:         
Jetzt brauch ich Hilfe von den VBA-Profis. Ich arbeite an einem Makro, das folgendes tun soll: 1. Das Browsen zu einem Verzeichnis ermöglichen 2. In diesem Verzeichnis alle *.sldprt und *.sldasm Dateien öffnen, die Namen der Konfigurationen auslesen und in eine Excel-Tabelle schreiben. Danach hab ich im Verzeichnis eine Excel-Datei, die eine Übersicht über alle Konfigs in diesem Verzeichnis gibt. Für das Browsen zum Verzeichnis hab ich mir eine Lösung aus dem Web kopiert, die auf den Windows-Explorer zugreift. Versteh ich zwar nicht, aber funktioniert, den Verzeichnisnamen kriege ich so. Wie kann ich auf alle Teile- und Baugruppendateien in diesem Verzeichnis zugreifen? VBA bietet da anscheinend wenig Funktionen (VB kennt ja z.B. die Dirlistbox und Filelistbox). Ich hab schon nach Infos über das FileSystemObject gesucht, aber schlau bin ich daraus nicht geworden, es scheint dafür auch nur die Methode drives zu geben. Piet Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MWN Mitglied Dipl.-Ing.
 
 Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 29. Apr. 2008 07:24 <-- editieren / zitieren --> Unities abgeben:          Nur für Piet
Guten Morgen Piet, also für dein Vorhaben gibt es eine ganz einfach Lösung. Diese nennt sich SDA4Free, einfach mal nach suche. Du müsstest auch zahlreiche Beiträge hier im Brett dazu finden. Mit Hilfe dieses Tools kannst du Dateien in einem Ordner öffnen lassen und nach dem Öffnen dein Makro abarbeiten lassen. Sprich du sparst dir die Programmierung der ganzen Prozeduren zu dem Dateien Browsen und beschränkst dich lediglich auf dein Makro zum Konfigurationsnamen auslesen und in Excel schreiben. Gugg dir mal das Bild im Anhang an, dort siehst du die Dateiauswahl und im Unteren Teil die Auswahl des abzuarbeitenden Makros incl. Modul- und Prozedurnamen, wo er einsteigen soll. Viel Spass Tobias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
  
 Beiträge: 817 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 29. Apr. 2008 07:42 <-- editieren / zitieren --> Unities abgeben:          Nur für Piet
|
VBSpawn Mitglied Programmierer
  
 Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück.
|
erstellt am: 29. Apr. 2008 09:12 <-- editieren / zitieren --> Unities abgeben:          Nur für Piet
Hi Piet, falss du den Legendären DocumentManager Key hast, dann kannst du für die Configs das Angehängte Beispiel verwenden. - sucht in einem Verzeichniss die SWX Dateien, liest die Konfigs aus (via DocMgr), und schreibt das in Excel. -grinz- ansonsten für ne Kiste Bier mach ich doch fast alles ;o) Gruß Micha ------------------ Stell dir vor, es geht, und keiner kriegts hin. Zitat: Interpunktion und Orthographie des Postings sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Piet Mitglied Konstruktionsleiter & Konstrukteur
  
 Beiträge: 661 Registriert: 20.11.2001 SWx 2021
|
erstellt am: 29. Apr. 2008 10:18 <-- editieren / zitieren --> Unities abgeben:         
Wieder mal beeindruckend, Micha! Da zeigt sich wieder der Unterschied zwischen einem Programmierer und einem Do-it-yourself-Humpelnden. Fieserweise kam deine Antwort genau in dem Moment, als mein Makro zum ersten Mal erfolgreich lief. Mein Code ist allerdings fünfmal so lang wie deiner, und bestimmt auch fünfmal so langsam. Immerhin versteh ich ihn einigermaßen, das ist für mich schon von Vorteil. Den DocumentManager hab ich aber nicht, so kann ich deinen Code nicht mal ausprobieren. Trotzdem danke für deine Mühe! Für den Fall, dass jemand mal vor einer ähnlichen Aufgabe steht, hänge ich mein Makro an. Piet Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |