Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  PDF erstellung - Fehler

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:  PDF erstellung - Fehler (968 mal gelesen)
Xaigon
Mitglied



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

Beiträge: 15
Registriert: 16.08.2012

erstellt am: 24. Okt. 2012 09:05    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

Guten Morgen,
hab ein Makro geschrieben welches automatisch einen Ordner im Projektordner erstellt und dann die Inventor-Zeichnung (.idw) in diesen Ordner als PDF abspeichert. Bei mir funktioniert es mit einfachen Zeichnungen sobald diese komplexer werden steigt das Programm aus, ausserdem habe ich das Makro an unsere Tochterfirma weitergegeben und bei denen funktioniert es gar nicht, was kann da das Problem sein?

Hier noch der Code:

Code:

Public Sub PDF()
        On Error Resume Next
    If ThisApplication.ActiveDocument.DocumentType <> kDrawingDocumentObject Then
        Exit Sub
    End If
 
  Dim Pfad As String
    Pfad = CurDir & "\"

    If Dir(Pfad & "PDF", vbDirectory) = "PDF" Then
        'MsgBox "Ordner ''PDF'' ist vorhanden!"
        GoTo Sprung
    Else
        MkDir "PDF"
        'MsgBox "Ordner ''PDF'' wurde in folgendem Pfad angelegt:  " & Pfad
    End If

Sprung:
 
   
   
    Dim oDoc As Inventor.DrawingDocument
    Set oDoc = ThisApplication.ActiveDocument
    Dim oFileName As String
    oFileName = oDoc.FullDocumentName
   
    Dim oArray() As String
    oArray = Split(oFileName, "\")
 
    If oDoc.FullFileName = "" Then
        MsgBox "Bitte zuerst die Zeichnung speichern...  "
        Exit Sub
    End If
 
    Dim sName As String
    Dim i As Integer
    sName = oArray(LBound(oArray))
    For i = 1 To UBound(oArray) - 1
    sName = sName & "\" & oArray(i)

Next
    sName = sName & "\PDF\" & (oArray(UBound(oArray)))
   
      Dim Msg

            On Error Resume Next
            Err.Clear
        If Err.Number <> 0 Then
            Msg = "KeineZeichnung "
            MsgBox Msg
            End If
           
   
    oDoc.SheetSettings.SheetColor = ThisApplication.TransientObjects.CreateColor(255, 255, 255)
   
    ' Get the PDF translator Add-In.
    Dim PDFAddIn As TranslatorAddIn
    Set PDFAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")

    'Set a reference to the active document (the document to be published).
    Dim oDocument As Document
    Set oDocument = ThisApplication.ActiveDocument

    Dim oContext As TranslationContext
    Set oContext = ThisApplication.TransientObjects.CreateTranslationContext
    oContext.Type = kFileBrowseIOMechanism

    ' Create a NameValueMap object
    Dim oOptions As NameValueMap
    Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap

    ' Create a DataMedium object
    Dim oDataMedium As DataMedium
    Set oDataMedium = ThisApplication.TransientObjects.CreateDataMedium

    ' Check whether the translator has 'SaveCopyAs' options
    If PDFAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then

        ' Options for drawings...

        oOptions.Value("All_Color_AS_Black") = 0

        'oOptions.Value("Remove_Line_Weights") = 0
        'oOptions.Value("Vector_Resolution") = 400
        'oOptions.Value("Sheet_Range") = kPrintAllSheets
        'oOptions.Value("Custom_Begin_Sheet") = 2
        'oOptions.Value("Custom_End_Sheet") = 4

    End If

    oDataMedium.FileName = Replace(sName, ".idw", ".pdf")

    'Publish document.
    Call PDFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium)

   
    Dim oFarbe As DrawingDocument
                   
    Set oFarbe = ThisApplication.ActiveDocument
    oFarbe.SheetSettings.SheetColor = ThisApplication.TransientObjects.CreateColor(255, 255, 255)
   
End Sub


------------------
Greets

Xaigon

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: 24. Okt. 2012 12:29    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 Xaigon 10 Unities + Antwort hilfreich

Hi

Was heißt aussteigen? Und was heißt funktioniert nicht? Gibt es Fehlermeldungen und wenn ja welche? Ein On Error resume next als erste Zeile im Code ist kontraproduktiv, weil so nie irgendeine Fehlermeldung erscheinen wird. In eurer Tocherfirma könnte es z.B. sein, daß das TranslatorAddIn aus irgendeinem Grund nicht geladen ist. Dann geht der Export in die Binsen und dank Resume next siehst du nichts davon.
Also, Resume next raus und gucken wo's warum knallt.

------------------
MfG
Ralf

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

RODER
Mitglied
Maschineningenieur


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

Beiträge: 494
Registriert: 04.01.2003

erstellt am: 24. Okt. 2012 13:22    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 Xaigon 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Xaigon:
.....
    ' Get the PDF translator Add-In.
    Dim PDFAddIn As TranslatorAddIn
    Set PDFAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")

    'Set a reference to the active document (the document to be published).
    Dim oDocument As Document
    Set oDocument = ThisApplication.ActiveDocument
....

[/B]


Kann es sein, dass die AddIn ID bei der Tochterfirma nicht übereinstimmt?

------------------
Grüsse, Toni

Rechtschreibefehler gehören dem findigen Finder

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: 24. Okt. 2012 14:22    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 Xaigon 10 Unities + Antwort hilfreich

Hi

Die ID ist immer die gleiche, aber es reicht schon das das AddIn schlicht nicht geladen ist. Dann produziert der Zugriff darauf normalerweise einen Ausnahmefehler und man weiß wo das Höschen klemmt. 

------------------
MfG
Ralf

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

Xaigon
Mitglied



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

Beiträge: 15
Registriert: 16.08.2012

erstellt am: 29. Okt. 2012 12:53    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

Wie kann ich das überprüfen ob das AddIn überhaupt geladen ist?

------------------
Greets

Xaigon

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

RODER
Mitglied
Maschineningenieur


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

Beiträge: 494
Registriert: 04.01.2003

Inventor 2023 Pro
Win10 64Bit
i9-10900K 3.7GHz
64GB RAM
Nividia Quadro P2200
SpaceMouse

erstellt am: 29. Okt. 2012 13:27    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 Xaigon 10 Unities + Antwort hilfreich


Unbenannt.jpg

 
Hmm, wenns ein Höschen ist in der Mitte nachschauen 

Das AddIn sollte unter den Zusatzmodulen erscheinen und anzeigen ob es geladen ist oder nicht.

------------------
Grüsse, Toni

Rechtschreibefehler gehören dem findigen Finder

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