| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: VBA, Plotdatum, Wie aktualisiere ich es automatisch?! (3600 mal gelesen)
|
Willi_pm Mitglied Konstrukteur
Beiträge: 117 Registriert: 03.06.2002 nd
|
erstellt am: 18. Jul. 2003 12:12 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen! Ich habe mal den Code für den Plotdatum aus dem forum hier in eine IDW-Vorlage eingebat, und es funktioniert gut. Der einzige Nachteil ist, dass jedes mal, bevor ich ne Zeichnung ausdrucke, ich auf dem ICON für die Aktualisierung des Plotdatums klicken muss. Leider vergesse ich es manchmal . Nun habe ich mir vorgestelt, ich könnte doch den Code so anpassen, dass sobald ich das Plot-Fenster öffne (Crtl-P), im Hintergrund das Programm für die Aktualiesierung ablauft. dh. Wenn Plot-Fenster geöffnet, dann Aktualisieren. Doch wie bauen ich den Code im VBA ein, dass man im Modul erkene kann, dass das Fenster offen ist? etwa?:
---------
Then Printwin.forum = open then "code für addplotdate" end sub -------
oder so was? Oder weiss jemand, wie ich den Plotdatum immer aktuell halten kann? Danke und Tschss, Pierre
------------------ Willi Maschinenbau AG | Verpackungsautomaten und Zuführsysteme | http://www.willi-ag.com | CAD-Firma: http://www.cadlan.ch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Robby Lampe Mitglied
Beiträge: 1026 Registriert: 18.10.2000
|
erstellt am: 18. Jul. 2003 14:33 <-- editieren / zitieren --> Unities abgeben: Nur für Willi_pm
|
Willi_pm Mitglied Konstrukteur
Beiträge: 117 Registriert: 03.06.2002 nd
|
erstellt am: 18. Jul. 2003 18:26 <-- editieren / zitieren --> Unities abgeben:
|
Robby Lampe Mitglied
Beiträge: 1026 Registriert: 18.10.2000
|
erstellt am: 21. Jul. 2003 16:45 <-- editieren / zitieren --> Unities abgeben: Nur für Willi_pm
Zitat: Original erstellt von Willi_pm: das AutoSave, und wo genau muss ich es einbauen?
- öffne ein vorlage (norm.idw) - ALT+F11 - Dokumentprojekt(norm.idw) Autodesk Inventor Objekt ThisDocument Sub AutoSave() PlotAllSheetsInDrawing 'weitere vba-programme, wie masse usw. End Sub - schliessen - vorlage speichern - fertig ab jetzt werden die functionen in der routine autosave() beim jedem speichern ausgeführt.
------------------ gruß robby Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Willi_pm Mitglied Konstrukteur
Beiträge: 117 Registriert: 03.06.2002 nd
|
erstellt am: 21. Jul. 2003 18:46 <-- editieren / zitieren --> Unities abgeben:
Hallo Robby zum Glück kann ich besser konstruieren als programmieren ... bei mir funktioniert das mit dem Autosave net! Habe mal einen Printscreen gemacht. Der Code für den Autosave sollte dir ja bekannt vorkommen, hab ihn ja von dir Was mache ich falsch?`! Vielen Dank, und einen schönen Abend wünsche ich dir Pierre ------------------ Willi Maschinenbau AG | Verpackungsautomaten und Zuführsysteme | http://www.willi-ag.com | CAD-Firma: http://www.cadlan.ch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 23. Jul. 2003 22:53 <-- editieren / zitieren --> Unities abgeben: Nur für Willi_pm
Hallo Pierre, die Funktion ist nicht da. Ich gehe davon aus, dass das die Funktion aus Samples ist. Kopiere die unter EndSub und passe die Zeile "oDrgPrintMgr.Printer = "HP LaserJet 4000 Series PCL 6"" an deinen Drucker an. Code:
Public Sub PlotAllSheetsInDrawing() 'Print all sheets in drawing document 'Get the active document and check whether it's drawing document If ThisApplication.ActiveDocument.DocumentType = kDrawingDocumentObject Then Dim oDrgDoc As DrawingDocument Set oDrgDoc = ThisApplication.ActiveDocument ' Set reference to drawing print manager ' DrawingPrintManager has more options than PrintManager ' as it's specific to drawing document Dim oDrgPrintMgr As DrawingPrintManager Set oDrgPrintMgr = oDrgDoc.PrintManager ' Set the printer name ' comment this line to use default printer or assign another one oDrgPrintMgr.Printer = "HP LaserJet 4000 Series PCL 6" 'Set the paper size , scale and orientation oDrgPrintMgr.ScaleMode = kPrintBestFitScale oDrgPrintMgr.PaperSize = kPaperSizeA4 oDrgPrintMgr.PrintRange = kPrintAllSheets oDrgPrintMgr.Orientation = kLandscapeOrientation oDrgPrintMgr.SubmitPrint End If End Sub
------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Willi_pm Mitglied Konstrukteur
Beiträge: 117 Registriert: 03.06.2002 nd
|
erstellt am: 24. Jul. 2003 18:48 <-- editieren / zitieren --> Unities abgeben:
Hi daywalker! Habe dein Code ausprobiert, und es funktioniert, jedoch hat das ganz einen Hacken! Es geht nur mit A4, da mann ha A4 vordefiniert! Deshalb wollte ich ja zuerst, dass das DAtum aktualisiert wird, sobald man im Drucken-Fenster (ctrl-P) reingeht. Geht das echt nicht? Grüsse, Pierre ------------------ Willi Maschinenbau AG | Verpackungsautomaten und Zuführsysteme | http://www.willi-ag.com | CAD-Firma: http://www.cadlan.ch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 24. Jul. 2003 23:03 <-- editieren / zitieren --> Unities abgeben: Nur für Willi_pm
Nein Pierre, CTRL+P ist ein WinShortCut. IMHO kann man da nichts machen. Einen kleinen Umweg gibt es doch. Du kannst am Ende deiner "AutoSave" Funktion den PrintDialog aufrufen. Die ganzen Screenshots habe ich im Anwendungsprojekt gemacht. Deine Funktion ist im Dokumentprojekt. Also alles gleich nur immer in Dokumentprojekt. 1. RMK auf Dokumentprojekt und eine UserForm einfügen.
2. Doppelklick auf UserForm1 und dann RMK auf Werkzeugsammlung/Zusätzliche Steuerelemente
3. Microsoft Common Dialog Control auswählen
4. Das neue Symbol aus Werkzeugsammlung in die UserForm1 rüberziehen 5. In deiner AutoSave in die vorletzte Zeile (vor End Sub) "UserForm1.CommonDialog1.ShowPrinter" einfügen. So, jetzt müsste jedes Mal wenn deine Funktion aufgerufen wird, auch der PrintDialog aufgerufen werden. ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Willi_pm Mitglied Konstrukteur
Beiträge: 117 Registriert: 03.06.2002 nd
|
erstellt am: 25. Jul. 2003 11:03 <-- editieren / zitieren --> Unities abgeben:
Hi Daywalker! Vielen Dank für den Hinweis! also ich habe es nun geschaft, auf dem AddPlot-Icon (benuzerdefiniert) zu klicken, so dass das Print-Fenster offen geht! Aber mir ist da aufgefallen, dass dann nicht das Inventor-Print Fenster offen geht, sondern das Win-Fenster. (siehe soll und ist) Kennst du eventuell den Befehl, für das Inventor-Drucken-Fenster? Vielen Dank für deine Bemühung! Grüsse, Pierre ------------------ Willi Maschinenbau AG | Verpackungsautomaten und Zuführsysteme | http://www.willi-ag.com | CAD-Firma: http://www.cadlan.ch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 25. Jul. 2003 13:06 <-- editieren / zitieren --> Unities abgeben: Nur für Willi_pm
Hmm... Über den CommandManager finde ich nichts, aber ich schau mal, wenn ich daheim bin. Notfalls, selbst so'n Ding basteln, weil, die Befehle erreiche ich schon über die API . ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 25. Jul. 2003 17:03 <-- editieren / zitieren --> Unities abgeben: Nur für Willi_pm
Zitat: Kennst du eventuell den Befehl, für das Inventor-Drucken-Fenster?
AppActivate "Autodesk Inventor" SendKeys "^p", 1
PS: Du kannst die UserForm1 löschen, und die vorletzte Zeile auch. ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Willi_pm Mitglied Konstrukteur
Beiträge: 117 Registriert: 03.06.2002 nd
|
erstellt am: 28. Jul. 2003 12:43 <-- editieren / zitieren --> Unities abgeben:
Jahu! Danke daywa1k3r! Hat Prima geklappt, nun Aktualisiert sich das Datum jeweils automatisch, sobald ich auf den Icon für "addPlotStamp" klicke :-D Danke viel mal!! Wäre es nicht gut, wenn wir solche Codes irgendwo archivieren könnten, z.B. in einer Bibliothek? der Ruf hat ja ne inoffizielle Homepage von inventor? Mann könnte da solche Codes Reintun, damit alle was davonhaben, oder? Danke nochmals, und have a nice day Pierre ------------------ Willi Maschinenbau AG | Verpackungsautomaten und Zuführsysteme | http://www.willi-ag.com | CAD-Firma: http://www.cadlan.ch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 28. Jul. 2003 12:49 <-- editieren / zitieren --> Unities abgeben: Nur für Willi_pm
|
Willi_pm Mitglied Konstrukteur
Beiträge: 117 Registriert: 03.06.2002 nd
|
erstellt am: 07. Okt. 2003 19:34 <-- editieren / zitieren --> Unities abgeben:
|
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 07. Okt. 2003 19:55 <-- editieren / zitieren --> Unities abgeben: Nur für Willi_pm
|
Robby Lampe Mitglied
Beiträge: 1026 Registriert: 18.10.2000
|
erstellt am: 07. Okt. 2003 21:29 <-- editieren / zitieren --> Unities abgeben: Nur für Willi_pm
|
Charly Setter Ehrenmitglied V.I.P. h.c.
Beiträge: 11977 Registriert: 28.05.2002 Trau keiner Diva unter SP2....
|
erstellt am: 07. Okt. 2003 23:16 <-- editieren / zitieren --> Unities abgeben: Nur für Willi_pm
@Robby: Wird denen nicht viel helfen. Die können kein Deutsch . Aber einige von uns Englisch . lg Mathias PS.: Und wenn einer außer Deutsch nur Russisch kann, wird Ihm schon geholfen [Diese Nachricht wurde von Charly Setter am 07. Oktober 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 08. Okt. 2003 09:10 <-- editieren / zitieren --> Unities abgeben: Nur für Willi_pm
|
Willi_pm Mitglied Konstrukteur
Beiträge: 117 Registriert: 03.06.2002 nd
|
erstellt am: 10. Okt. 2003 11:15 <-- editieren / zitieren --> Unities abgeben:
|
Willi_pm Mitglied Konstrukteur
Beiträge: 117 Registriert: 03.06.2002 nd
|
erstellt am: 05. Nov. 2003 19:23 <-- editieren / zitieren --> Unities abgeben:
Hallo Ich bin es wieder. Ich werde bald nicht mehr beim Willi Arbeiten, will jedoch die Angelegenheit mit den Plotdatums nicht offen halten. Ich schaffe es nicht mehr, das Plotdatum anzuzeigen. AIS7 haben wir. Kann da jemand Helfen? Danke, Pierre ------------------ Hofag AG | Engineering & Systemlieferant | http://www.hofag.com | Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
max2 Mitglied Technischer Zeichner
Beiträge: 69 Registriert: 25.09.2003 AIS 8
|
erstellt am: 19. Nov. 2003 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für Willi_pm
|