| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: PDF-Übergabe mit Rev.Nummer (1194 mal gelesen)
|
Didikalle Mitglied Konstrukteur

 Beiträge: 91 Registriert: 07.10.2011 Ich nutze Inventor 2016 mit dem BS Win 10
|
erstellt am: 24. Apr. 2015 16:35 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen, ich habe ein funktionierendes Makro, das mir eine Pdf-Datei aus einer idw erstellt und diese mit Dateiname in einen Ordner speichert. Um nun die Hierarchien zu dokumentieren, würde ich gerne die Übergabe mit der Revisionsnummer realisieren, nur wie? Die Revisionsnummer kommt aus der idw-Ipropertie. Hier mein Code: [CODE][Public Sub CreatePDF() Dim PDFAddIn As TranslatorAddIn Set PDFAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}") Dim oDocument As Document Set oDocument = ThisApplication.ActiveDocument Dim oContext As TranslationContext Set oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = kFileBrowseIOMechanism Dim oOptions As NameValueMap Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap Dim oDataMedium As DataMedium Set oDataMedium = ThisApplication.TransientObjects.CreateDataMedium If PDFAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then oOptions.Value("All_Color_AS_Black") = 0 oOptions.Value("Sheet_Range") = kPrintAllSheets '<------------ alle Blätter ins PDF drucken End If 'Erstellen des Zieldateinamen ... Hier müsste noch die Revisionsnummer aus der Zeichnungs-Iprop hinzu gefügt werden oDataMedium.FileName = Replace(oDocument.FullFileName, Right(oDocument.FullFileName, 3), "pdf") 'Publish document. Call PDFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) If Err.Number = 0 Then MsgBox "Die Datei:" & vbCrLf & vbCrLf & Replace(oDocument.FullFileName, Right(oDocument.FullFileName, 3), "pdf") & vbCrLf & vbCrLf & "wurde erfolgreich gespeichert" Else MsgBox "Fehler: " & Err.Description End If End Sub/CODE] Gruss Didi ------------------ Didi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RolandD Mitglied
  
 Beiträge: 559 Registriert: 07.01.2005 i7-9700k 32GB DDR4-RAM Nvidia RTX 2060 SSD 970 m.2 Win10-64 (21H2) AIP 2020.3 Dell U3417W
|
erstellt am: 24. Apr. 2015 18:16 <-- editieren / zitieren --> Unities abgeben:          Nur für Didikalle
Hallo Didi, z.B. so: Code: dim Rev as string set Rev = Dein_iProperty_für_die_Revision.ValueoDataMedium.FileName = Left(oDocument.FullFileName, Len(oDocument.FullFileName) - 4) & Rev & ".pdf"
Ohne Revision ist Rev = "" Dann kommt eben nichts vor das .pdf Benötigt also keine Fallunterscheidung. Du musst nur Abfangen, wenn dein iProperty Revision nicht vorhanden ist. ------------------ Gruß Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Didikalle Mitglied Konstrukteur

 Beiträge: 91 Registriert: 07.10.2011 Ich nutze Inventor 2016 mit dem BS Win 10
|
erstellt am: 24. Apr. 2015 18:51 <-- editieren / zitieren --> Unities abgeben:         
Hallo Roland, danke für die schnelle Antwort. Ich habe allerdings ein Problemchen, was meinst Du mit "Dein_iProperty_für_die_Revision.Value"? Ich muss bei Iproperties auf die Karte Projekt und hier auf Revisionsnummer zugreifen. Wie komme ich da am einfachsten hin? Bei Erstausgabe ist das Feld allerdings leer. Gruss Didi ------------------ Didi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RolandD Mitglied
  
 Beiträge: 559 Registriert: 07.01.2005 i7-9700k 32GB DDR4-RAM Nvidia RTX 2060 SSD 970 m.2 Win10-64 (21H2) AIP 2020.3 Dell U3417W
|
erstellt am: 24. Apr. 2015 20:07 <-- editieren / zitieren --> Unities abgeben:          Nur für Didikalle
Hallo Didi, Code: Dim oPropSetZusammen as PropertySet 'Inventor - Zusammenfassungsinformationen Set oPropSetZusammen = oDoc.PropertySets("{F29F85E0-4FF9-1068-AB91-08002B27B3D9}") Dim Rev as string set Rev = oPropSetZusammen.Item("Revision Number").Value oDataMedium.FileName = Left(oDocument.FullFileName, Len(oDocument.FullFileName) - 4) & Rev & ".pdf"
Ich dachte, du hast bereits ein eigenes iProperty und du solltest dessen Value auslesen  ------------------ Gruß Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Didikalle Mitglied Konstrukteur

 Beiträge: 91 Registriert: 07.10.2011 Ich nutze Inventor 2016 mit dem BS Win 10
|
erstellt am: 24. Apr. 2015 20:23 <-- editieren / zitieren --> Unities abgeben:         
Hallo Roland, hatte ich leider nicht aber ich hätte das auch mitteilen können. Ich habe den Code einmal eingesetzt aber es wird eine Fehlermeldung ausgegeben. Siehe Foto. Habe ich etwas verkehrt gemacht? Gruss Didi ------------------ Didi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
  
 Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 27. Apr. 2015 13:08 <-- editieren / zitieren --> Unities abgeben:          Nur für Didikalle
|
Didikalle Mitglied Konstrukteur

 Beiträge: 91 Registriert: 07.10.2011 Ich nutze Inventor 2016 mit dem BS Win 10
|
erstellt am: 27. Apr. 2015 14:15 <-- editieren / zitieren --> Unities abgeben:         
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
  
 Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 27. Apr. 2015 15:07 <-- editieren / zitieren --> Unities abgeben:          Nur für Didikalle
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
  
 Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 27. Apr. 2015 15:12 <-- editieren / zitieren --> Unities abgeben:          Nur für Didikalle
Hey Didi, jetzt habe ich deinen Fehler gefunden: nicht Code: oDoc.PropertySets. ....
sondern
Code: oDocument.PropertySets. ....
Du hast oben oDocument declariert. Dann solltest du das auch weiter verwenden ;-)
------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Didikalle Mitglied Konstrukteur

 Beiträge: 91 Registriert: 07.10.2011 Ich nutze Inventor 2016 mit dem BS Win 10
|
erstellt am: 27. Apr. 2015 16:20 <-- editieren / zitieren --> Unities abgeben:         
|

| |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
  
 Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 28. Apr. 2015 07:12 <-- editieren / zitieren --> Unities abgeben:          Nur für Didikalle
|