Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Alle geöffneten idw's Drucken

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Alle geöffneten idw's Drucken (2213 mal gelesen)
dero2k
Mitglied
Technicher Zeichner ma bau


Sehen Sie sich das Profil von dero2k an!   Senden Sie eine Private Message an dero2k  Schreiben Sie einen Gästebucheintrag für dero2k

Beiträge: 53
Registriert: 24.04.2009

Inventor 2008 (hauptsächlich)
win xp

erstellt am: 12. Okt. 2011 08:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi

Ich habe mir ein macro erstellt um die geöffnete IDW mit meinen Einstellungen auf A3 Drucken zu lassen. Funktioniert so weit auch supper. Jetzt würde ich das macro gerne abändern, bzw. Ein 2. Erstellen mitdem alle geöffneten IDW's so gedruckt werden.

Gibt es dazu villeicht schon Beispiel Code oder könnt ihr mir sagen mit welchem Befehl ich das ganze realisieren kann ?

Danke schonmal

Dero

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

noctis79
Mitglied
Konstrukteur/ CAD-Administrator


Sehen Sie sich das Profil von noctis79 an!   Senden Sie eine Private Message an noctis79  Schreiben Sie einen Gästebucheintrag für noctis79

Beiträge: 164
Registriert: 07.10.2009

Inventor Pro 2017
Cideon Workspace

erstellt am: 12. Okt. 2011 18:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für dero2k 10 Unities + Antwort hilfreich

Abend!

Code:
Sub test()
 
    Dim oapp As Inventor.Application
    Dim oDocument As Inventor.Document
    Set oapp = ThisApplication

    If oapp.ActiveDocument Is Nothing Then
        MsgBox "Kein Dokument geöffnet"
        Exit Sub
    End If

    For Each oDocument In oapp.Documents.VisibleDocuments
        If oDocument.DocumentType = kDrawingDocumentObject Then
            MsgBox oDocument.FullDocumentName
        End If
    Next
   

End Sub


Probier´s mal damit..
Anstelle von der MsgBox rufst Du dann dein vorhandenes Makro auf...
Bzw. machst vorher ein oDocument.activate und rufst dann dein Makro auf...
Sollte funktionieren...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 12. Okt. 2011 18:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für dero2k 10 Unities + Antwort hilfreich

Hallo

Versuch mal:

Code:
Private Sub PrintAll()

Dim oDoc as Document
for each oDoc in ThisApplication.Documents
if oDoc.DocumentSubType = kDrawingDocument Then
...und hier deinen Code für's Einzelzeichnung drucken einfügen
end if
next
End Sub


------------------
MfG
RK

EDIT: Mist, zu langsam. Da merkt das man alt wird. 

[Diese Nachricht wurde von rkauskh am 12. Okt. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

noctis79
Mitglied
Konstrukteur/ CAD-Administrator


Sehen Sie sich das Profil von noctis79 an!   Senden Sie eine Private Message an noctis79  Schreiben Sie einen Gästebucheintrag für noctis79

Beiträge: 164
Registriert: 07.10.2009

Inventor Pro 2017
Cideon Workspace

erstellt am: 13. Okt. 2011 07:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für dero2k 10 Unities + Antwort hilfreich

@RK
Hast Du ThisApplication.Documents mal getestet?
Wenn ich eine Baugruppen- Zeichnung hab, dann ruft IV damit die kpl. Struktur ab.
Hast Du das Phänomen auch?
Deswegen bin ich auf ThisApplication.VisibleDocuments ausgewichen...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

dero2k
Mitglied
Technicher Zeichner ma bau


Sehen Sie sich das Profil von dero2k an!   Senden Sie eine Private Message an dero2k  Schreiben Sie einen Gästebucheintrag für dero2k

Beiträge: 53
Registriert: 24.04.2009

Inventor 2008 (hauptsächlich)
win xp

erstellt am: 13. Okt. 2011 08:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi

danke schonmal für den beispiel code

hier mal mein code um zu drucken

villeicht kann mir ja jemand zeigen wie ich ihn richtig einfügen muss.

habe gerade leider wenig zeit auf arbeit um das ganze auszuprobieren

Code:

Public Sub DruckenA3()
    '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 = "TOSHIBA e-STUDIO4520CSeriesPCL6"
   
        oDrgPrintMgr.PrintRange = kPrintAllSheets
        'Set the paper size and scale
        On Error Resume Next
        Select Case oDrgDoc.ActiveSheet.Size
            Case kA4DrawingSheetSize
                oDrgPrintMgr.PaperSize = kPaperSizeA4
                oDrgPrintMgr.ScaleMode = kPrintCustomScale
                oDrgPrintMgr.[Scale] = 1
            Case kA3DrawingSheetSize
                oDrgPrintMgr.PaperSize = kPaperSizeA3
                oDrgPrintMgr.ScaleMode = kPrintCustomScale
                oDrgPrintMgr.[Scale] = 1
            Case kA2DrawingSheetSize
                oDrgPrintMgr.PaperSize = kPaperSizeA3
                oDrgPrintMgr.ScaleMode = kPrintBestFitScale
            Case kA1DrawingSheetSize
                oDrgPrintMgr.PaperSize = kPaperSizeA3
                oDrgPrintMgr.ScaleMode = kPrintBestFitScale
            Case kA0DrawingSheetSize
                oDrgPrintMgr.PaperSize = kPaperSizeA3
                oDrgPrintMgr.ScaleMode = kPrintBestFitScale
            Case Else    ' Andere Werte.
                Debug.Print "ungültiges Papierformat"
        End Select
   
        'Set the paper orientation
        On Error Resume Next
        Select Case oDrgDoc.ActiveSheet.Orientation
            Case kLandscapePageOrientation
                oDrgPrintMgr.Orientation = kLandscapeOrientation
            Case kPortraitPageOrientation
                oDrgPrintMgr.Orientation = kPortraitOrientation
            Case Else    ' Andere Werte.
                Debug.Print "ungültige Orientierung"
        End Select
        oDrgPrintMgr.SubmitPrint
    End If
End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

noctis79
Mitglied
Konstrukteur/ CAD-Administrator


Sehen Sie sich das Profil von noctis79 an!   Senden Sie eine Private Message an noctis79  Schreiben Sie einen Gästebucheintrag für noctis79

Beiträge: 164
Registriert: 07.10.2009

Inventor Pro 2017
Cideon Workspace

erstellt am: 13. Okt. 2011 12:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für dero2k 10 Unities + Antwort hilfreich

Nicht getestet,
probiers mal....

Code:
Public Sub DruckenA3()
    'Print all sheets in drawing document
    'Get the active document and check whether it's drawing document
   
    Dim oapp As Inventor.Application
    Dim oDocument As Inventor.Document
    Set oapp = ThisApplication

    If oapp.ActiveDocument Is Nothing Then
        MsgBox "Kein Dokument geöffnet"
        Exit Sub
    End If

   
    For Each oDocument In oapp.Documents.VisibleDocuments
        If oDocument.DocumentType = kDrawingDocumentObject Then
            oDocument.Activate
 
        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 = "TOSHIBA e-STUDIO4520CSeriesPCL6"
 
        oDrgPrintMgr.PrintRange = kPrintAllSheets
        'Set the paper size and scale
        On Error Resume Next
        Select Case oDrgDoc.ActiveSheet.Size
            Case kA4DrawingSheetSize
                oDrgPrintMgr.PaperSize = kPaperSizeA4
                oDrgPrintMgr.ScaleMode = kPrintCustomScale
                oDrgPrintMgr.[Scale] = 1
            Case kA3DrawingSheetSize
                oDrgPrintMgr.PaperSize = kPaperSizeA3
                oDrgPrintMgr.ScaleMode = kPrintCustomScale
                oDrgPrintMgr.[Scale] = 1
            Case kA2DrawingSheetSize
                oDrgPrintMgr.PaperSize = kPaperSizeA3
                oDrgPrintMgr.ScaleMode = kPrintBestFitScale
            Case kA1DrawingSheetSize
                oDrgPrintMgr.PaperSize = kPaperSizeA3
                oDrgPrintMgr.ScaleMode = kPrintBestFitScale
            Case kA0DrawingSheetSize
                oDrgPrintMgr.PaperSize = kPaperSizeA3
                oDrgPrintMgr.ScaleMode = kPrintBestFitScale
            Case Else    ' Andere Werte.
                Debug.Print "ungültiges Papierformat"
        End Select
 
        'Set the paper orientation
        On Error Resume Next
        Select Case oDrgDoc.ActiveSheet.Orientation
            Case kLandscapePageOrientation
                oDrgPrintMgr.Orientation = kLandscapeOrientation
            Case kPortraitPageOrientation
                oDrgPrintMgr.Orientation = kPortraitOrientation
            Case Else    ' Andere Werte.
                Debug.Print "ungültige Orientierung"
        End Select
        oDrgPrintMgr.SubmitPrint

        End If
    Next
End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

dero2k
Mitglied
Technicher Zeichner ma bau


Sehen Sie sich das Profil von dero2k an!   Senden Sie eine Private Message an dero2k  Schreiben Sie einen Gästebucheintrag für dero2k

Beiträge: 53
Registriert: 24.04.2009

Inventor 2008 (hauptsächlich)
win xp

erstellt am: 13. Okt. 2011 13:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

danke noctis


funktioniert supper 

jetzt versuche ich nurnoch irgendwo festzulegen das er das ganze dann 2 mal druckt.

habe auch schon folgenden befehl gefunden

oPrintMgr.NumberOfCopies = 2

allerdings weis ich nicht genau an welcher stelle ich ihn einfügen muss.

entweder er bringt nen fehler oder der befehl wird einfach ignoriert

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

noctis79
Mitglied
Konstrukteur/ CAD-Administrator


Sehen Sie sich das Profil von noctis79 an!   Senden Sie eine Private Message an noctis79  Schreiben Sie einen Gästebucheintrag für noctis79

Beiträge: 164
Registriert: 07.10.2009

Inventor Pro 2017
Cideon Workspace

erstellt am: 13. Okt. 2011 16:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für dero2k 10 Unities + Antwort hilfreich

oDrgPrintMgr.NumberOfCopies = 2

direkt vor

oDrgPrintMgr.SubmitPrint

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 13. Okt. 2011 18:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für dero2k 10 Unities + Antwort hilfreich

Hi

Natürlich listet ThisApplication.Documents alle Bauteile einer Baugruppe mit auf. Die Bauteile müssen ja auch geöffnet werden, damit die Baugruppe auch einen Inhalt hat. Das ist normal und richtig so. Für den Druck prüft man halt auf den Dokumenttyp und wenn's keine IDW ist, springt man zum nächsten.

------------------
MfG
RK

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

noctis79
Mitglied
Konstrukteur/ CAD-Administrator


Sehen Sie sich das Profil von noctis79 an!   Senden Sie eine Private Message an noctis79  Schreiben Sie einen Gästebucheintrag für noctis79

Beiträge: 164
Registriert: 07.10.2009

Inventor Pro 2017
Cideon Workspace

erstellt am: 13. Okt. 2011 19:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für dero2k 10 Unities + Antwort hilfreich

k, verstanden.
Documents gibt mir also alles zurück und visibledocuments nur die Teile/ Zeichnungen die im Moment im IV- Fenster auch angezeigt werden.
Man kann also davon ausgehen, dass bei diesem Makro die Funktion visibleDocuments (je nach größe der BG) etwas schneller arbeitet als documents.
Stellt sich nur die Frage ob der User davon was mitbekommt...
Thx!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz