| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Ansprchen von nicht geöffneten Dateien (1795 mal gelesen)
|
BernhardU Mitglied Techniker / Konstrukteur / Student
Beiträge: 328 Registriert: 17.08.2005 Windows XP SP3 IV Prof 2012 VS 2010
|
erstellt am: 05. Okt. 2005 15:56 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen! Ich wollte Fragen ob mir von euch jemand helfen kann! Ich möchte gerne wissen, ob es möglich ist ein Dokument, das nicht geöffnet ist zu definieren, um z.b. nur die IPorperties anzusprechen! denn normalerweise muss man doch immer sagen ActiveDocument Doch ich will das Dokument nicht öffnen um die IProperties zu ändern!! Weis von euch wer einen weg, wie das mit vba möglich ist!! Vielen Dank im Voraus!! mfg Bernhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
Beiträge: 1361 Registriert: 13.02.2003 Veni, Vidi, VW ... I came, I saw, I drove around in a little car.
|
erstellt am: 05. Okt. 2005 18:56 <-- editieren / zitieren --> Unities abgeben: Nur für BernhardU
Hi Bernhard, never say never ... - ich als nicht IV'ler behaupte aber mal einfach niente. Wobei eure DIVA allerdings immer für Überraschungen zu haben ist Weiss nicht ob binär was ginge, könnte mir aber vorstellen, dass wird - wenn denn überhaupt machbar - bissel dark & kultig;-) Gruss Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lbcad Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau und CAD-Trainer
Beiträge: 3794 Registriert: 15.02.2001
|
erstellt am: 06. Okt. 2005 08:27 <-- editieren / zitieren --> Unities abgeben: Nur für BernhardU
Ohne es jetzt genau zu wissen: "activeDocument" spricht ja ein Dokument an, das gerade im IV geöffnet ist. Dann macht man mit den Objekten innerhalb des Dokuentes etwas. Normalerweise kann man dann auch ein beliebiges Dokument auf der Platte ansprechen und mit dessen Objekten das gleiche anstellen. Nur normalerweise muß man es dann eben doch öffnen - aber eben möglicherweise im Hintergrund - und dann wieder weglegen. Die Referenz zu dieser Datei wird ja beim öffnen erzeugt - und die muß man dann wohl anstelle von "activeDocument" angeben. So stelle ich mit das jedenfalls vor .
------------------ Gruß Lothar --------------------------------------------------- Während man es aufschiebt, verrinnt das Leben. —Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
NL-AC Mitglied Ingenieur
Beiträge: 86 Registriert: 26.08.2005
|
erstellt am: 06. Okt. 2005 12:50 <-- editieren / zitieren --> Unities abgeben: Nur für BernhardU
|
VOSTA1 Mitglied techn. Angestellter
Beiträge: 108 Registriert: 23.12.2002
|
erstellt am: 06. Okt. 2005 14:04 <-- editieren / zitieren --> Unities abgeben: Nur für BernhardU
Hallo, es ist möglich! hier ein Vorschlag 'Daten ansprechen bei nicht geöffneter Datei ++++++++++++++++++++++++++++++++++++++ Sub Daten_ansprechen() Dim Datei As String Datei = "C:\test.ipt" Dim oApp As Inventor.Application Set oApp = GetObject(, "Inventor.Application") Dim opartDoc As partDocument Set opartDoc = oApp.Documents.Open(Datei, False) Dim test_prop As String test_prop = opartDoc.PropertySets("{F29F85E0-4FF9-1068-AB91-08002B27B3D9}").Item("Title").Value 'Benutzer Eigenschaft "Abmessung" muß erst erzeugt werden 'Dim test_benutz_prop As String 'test_benutz_prop = oDoc.PropertySets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item("Abmessung").Value MsgBox test_prop opartDoc.Close ' wichtig wieder schliessen End Sub ++++++++++++++++++++++++++++++++++++++++ [Diese Nachricht wurde von VOSTA1 am 06. Okt. 2005 editiert.] [Diese Nachricht wurde von VOSTA1 am 06. Okt. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lbcad Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau und CAD-Trainer
Beiträge: 3794 Registriert: 15.02.2001 DELL Precision 7520 Win10Pro-64 Inventor mit Vault Professional 2022 --------------------- Während man es aufschiebt, verrinnt das Leben. Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)
|
erstellt am: 07. Okt. 2005 08:36 <-- editieren / zitieren --> Unities abgeben: Nur für BernhardU
Zitat: Original erstellt von BernhardU: ... Doch ich will das Dokument nicht öffnen um die IProperties zu ändern!! ...
Hallo Bernhard, das mit dem "nicht öffnen" ist so eine Sache wie im richtigen Leben: Wenn Du das Päckchen nicht öffnest, kannst Du nicht sehen was drin ist. ------------------ Gruß Lothar --------------------------------------------------- Während man es aufschiebt, verrinnt das Leben. —Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
charly019 Mitglied Konstrukteur
Beiträge: 17 Registriert: 31.05.2005 P4 2,6GHz, 1GB Ram AIP 10
|
erstellt am: 07. Okt. 2005 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für BernhardU
|
BernhardU Mitglied Techniker / Konstrukteur / Student
Beiträge: 328 Registriert: 17.08.2005 Windows XP SP3 IV Prof 2012 VS 2010
|
erstellt am: 10. Okt. 2005 20:40 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank! Also wie ich es vermutet habe ist es nicht möglich die I-Propeties bei geschlossenen Dateien zu bearbeiten! muss ich einfach visible auf false setzten bei öffnen Ich dachte eigentlich nur darein, weil es im Windows Explorer auch möglich ist bei den normalen Dateiegenschaften auf die I-Properties zuzugreifen! Nochmals vielen Dank! möglicherweise fällt noch wem was ein!! mfg Bernhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 11. Okt. 2005 08:32 <-- editieren / zitieren --> Unities abgeben: Nur für BernhardU
|
| Ingenieur (m/w/d) Value Engineering | Unter der Devise ?Taking action for future generations? haben wir bei Big Dutchman seit über 80 Jahren unsere Ideen in mehr als 100 Länder transportiert ? denn die Ernährung der Welt ist unsere Profession. Unsere Hightech-Lösungen für Proteine und Pflanzen machen unsere Kunden erfolgreich und befähigen Landwirte auf der ganzen Welt zu nachhaltigerem Handeln. Kein Wunder, denn egal, ob an unserem Hauptsitz in Vechta (Niedersachsen) oder den Niederlassungen auf fünf Kontinenten: Über 3.... | Anzeige ansehen | Maschinenbau |
|
BernhardU Mitglied Techniker / Konstrukteur / Student
Beiträge: 328 Registriert: 17.08.2005 Windows XP SP3 IV Prof 2012 VS 2010
|
erstellt am: 12. Okt. 2005 16:29 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen! Habe in der Zwischenzeit einen guten Ansatz gefunden!! Schaut mal! Dazu benötigt man den Verweis: C:\Programme\Autodesk\Inventor\Bin\RxApprentice.tlb = Autodesk Inventor's Apprentice Object Library ' AttValues_CADNames = eine Collection mit den Propertynames ' AttValues_CADValues = eine Collection mit den zugewiesenen Values und AttValues_CADNames als Key-Names Dim oApprentice As New ApprenticeServerComponent ' Open a document. Dim oDoc As ApprenticeServerDocument Set oDoc = oApprentice.Open(CommandCadFileName) ' Attribute füllen Dim PropertySet As PropertySet For x = 1 To oDoc.PropertySets.Count Set PropertySet = oDoc.PropertySets.Item(x) For y = 1 To PropertySet.Count AttCount = 0 For z = 1 To AttValues_CADNames.Count If UCase(AttValues_CADNames.Item(z)) = UCase(PropertySet.Item(y).Name) Then PropertySet.Item(y).Value = AttValues_CADValues.Item(AttValues_CADNames.Item(z)) End If Next z Next y Next x ' dokument speichern und schließen Dim oFileSaveAs As FileSaveAs Set oFileSaveAs = oApprentice.FileSaveAs ' Save the assembly. Call oFileSaveAs.AddFileToSave(oDoc, oDoc.FullFileName) Call oFileSaveAs.ExecuteSave Set oDoc = Nothing Ist zwar noch nicht perfekt, da durch das speichern wieder der Ordner "OldVersion" erzeugt wird (Nicht wenn man die iProperties im explorer mit der Hand ändert) doch es geht absolut in die richtige Richtung!!
Ich hoffe ich kann euch mit dem Fund auch weiterhelfen!! Noch einen schönen Tag!! mfg Bernhard
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |