| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: VBA (1076 mal gelesen)
|
Frank_Schalla Ehrenmitglied CAD_SYSTEMBETREUER
Beiträge: 1732 Registriert: 06.04.2002 DELL M6800 Cad Admin Methodikentwickler 3D
|
erstellt am: 26. Jul. 2003 12:09 <-- editieren / zitieren --> Unities abgeben:
Hier mein Problem. In einer Vorlage habe ich ein Makro integriert, welches bei einem Speichervorgang eine Aktion auslöst. ******************************************************************** Option Explicit Private obDocument As Document Public WithEvents DocEvents As DocumentEvents Dim szFileName As String Public Sub AutoSave_Copy_by_Event() Set DocEvents = ThisApplication.ActiveDocument.DocumentEvents SaveAsType "dwf" MsgBox "Inventor Datei wurde automatisch gespeichert" & vbCr & szFileName End Sub Public Sub DocEvents_OnSave(ByVal BeforeOrAfter As EventTimingEnum, ByVal Context As NameValueMap, HandlingCode As HandlingCodeEnum) End Sub Public Sub SaveAsType(szFileType As String) Dim szFileName As String Set obDocument = ThisApplication.ActiveDocument If obDocument.DocumentType <> 12292 Then Exit Sub _ Else Dim szExtension As String 'get the full file name from obDocument szFileName = obDocument.FullFileName 'Determine the extension of the file szExtension = Right(szFileName, 3) 'If the extension is IDW then save a DWF of the file, if not do nothing If szExtension = "idw" Then szFileName = Left(szFileName, Len(szFileName) - 3) & szFileType On Error Resume Next obDocument.SaveAs szFileName, True End Sub ******************************************************************* Nun zu meinem Problem. In der Vorlage (also in allen nun erstellten Dateien klappts. ABER Ich habe ca. 4000 IDW's wo dieses funktionieren soll. Lösungsansatz 1: Wie bekomme ich diese Funktion in die bestehenden Dateien. Ähnlich der Funktion Konstruktionseigenschaften kopieren. Lösungsansatz 2: Über eine Klasse in dr devault.ivb müsste dieses rigentlich auf funktionieren. Aber alle meine Versuche waren nicht erfolgreich. Deshalb (da wir ja noch kein IV-VBA Forum haben ) an alle _______ Wer weiss Rat ____
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wibo Mitglied
Beiträge: 56 Registriert: 25.07.2003 .....................\ | | | / ......................(o o) ........|~~ooO~~(_)~~~~| ........|..Poweruser.........| ........|..Inventor............| ........|..Kreisliga...........| ........'~~~~~~~~~Ooo~' ....................|__|__| ....................|..|...|..| ..................ooO.Ooo
|
erstellt am: 26. Jul. 2003 12:30 <-- editieren / zitieren --> Unities abgeben: Nur für Frank_Schalla
|
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 27. Jul. 2003 11:12 <-- editieren / zitieren --> Unities abgeben: Nur für Frank_Schalla
@Frank_Schalla Du arbeitest mit DocumentEvents, und dein Problem ist, dass die Makros nur auf die Events von dem Dokument wo sie drinn stehen, reagieren ? Na wie wär's dann mit ApplicationEvents ? Allerdings glaube ich nicht, dass du da mit VBA und Makros weiter kommst. 4000 IDW's klingt nach einer ernsthaften Aufgabe, daher würde ich dir raten dein Projekt als ein AddIn zu machen. So wie du erzählst habt ihr min. 175438 Plätze und da ist es viel leichter die Installations-Datei frei zu geben, so dass es jeder installieren kann (ausser du hast denen die Rechte abgezogen). Wie auch immer habe ich dein Programm in eine dll reingepackt und es hat funktioniert. Ich würde dir raten den gleichen Weg zu gehen. PS: Wir haben doch ein Inventor-VBA Forum, nur ist es noch seeeehr gut versteckt Vielleicht ändert sich das bald, so dass wir dann die Beiträge nicht immer nachträglich verschieben müssen. ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Charly Setter Moderator
Beiträge: 11977 Registriert: 28.05.2002 Der vernünftige Mensch paßt sich der Welt an; der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen.<P>Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab. (George Bernard Shaw)
|
erstellt am: 27. Jul. 2003 19:01 <-- editieren / zitieren --> Unities abgeben: Nur für Frank_Schalla
|
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 27. Jul. 2003 19:21 <-- editieren / zitieren --> Unities abgeben: Nur für Frank_Schalla
|
Charly Setter Moderator
Beiträge: 11977 Registriert: 28.05.2002 Der vernünftige Mensch paßt sich der Welt an; der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen.<P>Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab. (George Bernard Shaw)
|
erstellt am: 27. Jul. 2003 19:27 <-- editieren / zitieren --> Unities abgeben: Nur für Frank_Schalla
|
| Entwicklungsingenieur (m/w/d) | Die Günther Maschinenbau entwickelt und fertigt mit ihren ca. 75 Mitarbeiter*innen technische Lösungen für die Lebensmittelindustrie und den handwerklichen Sektor. Im Mittelpunkt des Leistungsspektrums stehen Maschinen und Anlagen für das Pökeln, Tumbeln und Coaten. Ob Fleisch, Geflügel, Fisch, Käse, Convenience oder Vegetarisches, wir kennen die speziellen Anforderungen ... | Anzeige ansehen | Entwicklung |
|
Frank_Schalla Ehrenmitglied CAD_SYSTEMBETREUER
Beiträge: 1732 Registriert: 06.04.2002 DELL M6800 Cad Admin Methodikentwickler 3D
|
erstellt am: 28. Jul. 2003 08:17 <-- editieren / zitieren --> Unities abgeben:
|