| |  | 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: Alle Dateien eines Verzeichnisses öffnen (1045 mal gelesen)
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
      

 Beiträge: 2788 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 17. Okt. 2007 19:00 <-- editieren / zitieren --> Unities abgeben:         
Hallo Wir möchten folgendes tun: In einem angegebenen Verzeichnis alle Dateien der Reihe nach öffnen, als "dirty" markieren, speichern und wieder schließen. Der Hintergrund ist die ERP-Anbindungssoftware, die beim Speichern benutzerdefinierte iProperties schreibt. Da es sich um mehrere hundert Dateien handelt ist Handarbeit ausgeschlossen. Gibt es einen Codeschnipsel der das macht? Oder kann Inventor sowas von Haus aus? Im Aufgabenplaner konnte ich nix passendes finden. ------------------ MfG RK Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
      

 Beiträge: 2788 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 17. Okt. 2007 22:51 <-- editieren / zitieren --> Unities abgeben:         
Ich hab auf die Schnelle mal was zusammengenagelt. Nicht schön, aber selten. Vielleicht kann einer der Erfahreneren mal drüberschauen und Bescheid sagen wo sich die Zehnägel nicht hochgerollt haben (wird die Liste kürzer  ) Code: Public Sub doertie()' Declare the Application object Dim oApplication As Inventor.Application ' Obtain the Inventor Application object. ' This assumes Inventor is already running. Set oApplication = GetObject(, "Inventor.Application") ' Set a reference to the active document. ' This assumes a document is open. Dim oDoc As Document Set oDoc = oApplication.ActiveDocument If oApplication.ActiveDocument.DocumentType = kDrawingDocumentObject Then MsgBox ("In IDW nicht möglich.") Exit Sub End If If oApplication.ActiveDocument.DocumentType = kPresentationDocumentObject Then MsgBox ("In IPN nicht möglich.") Exit Sub End If If oApplication.ActiveEditObject.DocumentType = kPartDocumentObject Then oDoc.Dirty = True Else Dim oAsm As AssemblyDocument Set oAsm = ThisApplication.ActiveDocument ForAllComponents oAsm.ComponentDefinition.Occurrences, oDoc End If End Sub Sub ForAllComponents(oObjOccs As ComponentOccurrences, oDoc As Document) ' Declare the Application object Dim oApplication As Inventor.Application
' Obtain the Inventor Application object. ' This assumes Inventor is already running. Set oApplication = GetObject(, "Inventor.Application") Dim oObjOcc As ComponentOccurrence Dim oaeo As Object For Each oObjOcc In oObjOccs oObjOcc.Edit Set oaeo = oApplication.ActiveEditObject oaeo.Dirty = True If Err.Number <> 0 Then Err.Number = 0 GoTo NEXTCOMP End If ThisApplication.CommandManager.[_StartCommand] 43312 NEXTCOMP: ForAllComponents oObjOcc.SubOccurrences, oDoc ThisApplication.CommandManager.[_StartCommand] 43312 Next End Sub
P.S.: Da alle Bauteile/Unterbaugruppen in einer großen Baugruppe stecken, hab ich das Öffnen der Hauptbaugruppe in Userhand verlegt. Daran hab ich vorhin gar nicht gedacht. P.P.S.: Wenn einer weiß wie man den Teilebrowser wieder einklappt oder ganz abschaltet solange das Makro läuft bitte Bescheid sagen. ------------------ MfG RK [Diese Nachricht wurde von rkauskh am 17. Okt. 2007 editiert.] [Diese Nachricht wurde von rkauskh am 17. Okt. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |