Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  SaveAs Addin speichert nicht richtig...

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:  SaveAs Addin speichert nicht richtig... (1643 mal gelesen)
Enduro
Mitglied
Wirtschaftsinformatik Studentin


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

Beiträge: 53
Registriert: 27.07.2012

Hallo Forum :-)
Win 7
Office 2007
Autodesk® Inventor® 2012

erstellt am: 10. Sep. 2012 08:34    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

Hallo Forum,

ich brauche nochmals Eure Hilfe.. Ich möchte ein .idw Datei als PDF speichern und hab ein Dialogfenster eingebaut, das fragen soll wo ich es speichern will. Das Problem ist, es speichert nur in dem Ordner, wo mein .idw auch ist, aber nicht auf dem z. B. Desktop.

hier Code:

Code:
Public Sub PDF()
Dim oDoc As DrawingDocument
        Dim Msg
            ' If an error occurs, construct an error message
            On Error Resume Next    ' Defer error handling.
            Err.Clear
            'Err.Raise 6    ' Generate an "Overflow" error.
            ' Check for error, then show message.
        If Err.Number <> 0 Then
            Msg = "KeineZeichnung "
            MsgBox Msg
            End If
          
            Set oDoc = ThisApplication.ActiveDocument
  
              ' 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("Publish_All_Sheets") = 1

                                    '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
.....
iRev = aktuelle Revisionsnummer
.....

Set oDoc = ThisApplication.ActiveDocument

'Get the PropertySets
Dim oPropertySets As PropertySets
Set oPropertySets = oDoc.PropertySets

Dim oPropertySet As PropertySet
Set oPropertySet = oDoc.PropertySets.Item("Inventor Summary Information")    ' ("Inventor User Defined Properties")

'Get the Property
Dim oProperty As Property

'Revisionsnummer von der Zeichnung
Set oProperty = oPropertySet.Item("Revision Number")
oProperty.Value = iRev

'Revisionsnummer von dem Erstansicht
Dim oReferencedPartDoc As Document
Set oReferencedPartDoc = oDoc.ReferencedDocuments.Item(1)

oReferencedPartDoc.PropertySets.Item("{F29F85E0-4FF9-1068-AB91-08002B27B3D9}").Item("Revision Number").Value = iRev

oDoc.Update
'---------------------------------------
   
''Farbe ändern
'Dim colordoc As DrawingDocument
'Set colordoc = ThisApplication.ActiveDocument
'colordoc.SheetSettings.SheetColor = ThisApplication.TransientObjects.CreateColor(255, 255, 255)
       
       
    Dim pdfpath As String
    pdfpath = Replace(oDoc.FullDocumentName, ".idw", "") & " Rev " & iRev & ".pdf"
    oDataMedium.FileName = pdfpath
      
        ' Create a new FileDialog object.
        Dim oFileDlg As FileDialog
        Call ThisApplication.CreateFileDialog(oFileDlg)
       
        ' Define the filter to select part and assembly files or any file.
        oFileDlg.Filter = "Inventor Files (*.pdf)|*.pdf|All Files (*.*)|*.*"
       
        ' Define the part and assembly files filter to be the default filter.
        oFileDlg.FilterIndex = 1
       
        ' Set the title for the dialog.
        oFileDlg.DialogTitle = "Save File" & pdfpath
       
        ' Set the initial directory that will be displayed in the dialog.
        oFileDlg.InitialDirectory = "I:\orga\Betrieb"
        oFileDlg.FileName = pdfpath
               
        ' Set the flag so an error will be raised if the user clicks the Cancel button.
        oFileDlg.CancelError = True
       
       
        ' Show the Save dialog
        On Error Resume Next
        oFileDlg.ShowSave
       
        ' If an error was raised, the user clicked cancel, otherwise display the filename.
        If Err Then
        Resume Next
       
        Else      
       
                ' Publish document.
        Call PDFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium)
        Call oDoc.SaveCopyAs("C:\Temp\TestFile.pdf", True)
              
        End If
   
End Sub


Auch wenn ein Benutzer den Pfad eingibt (z.B. C:\ ...) wird ein pdf trotzdem im o.g. Pfad gespeichert. Kann jemand sehen, wo der Fehler ist? wieso es nicht in einem anderen Ordner speichert?      

Vielen Dank im Voraus für Eure Hilfe!

Viele Grüße
Endu

------------------
----------------
Viele Grüße
Endu

[Diese Nachricht wurde von Enduro am 10. Sep. 2012 editiert.]

[Diese Nachricht wurde von Enduro am 10. Sep. 2012 editiert.]

[Diese Nachricht wurde von Enduro am 04. Okt. 2012 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: 10. Sep. 2012 15: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 Nur für Enduro 10 Unities + Antwort hilfreich

Setz mal

Code:
pdfpath = oFileDlg.FileName

nach

Code:
oFileDlg.ShowSave

dann sollte es funktionieren...

Warum?
Wenn ein File angegeben wurde, wird oFileDlg.FileName damit belegt.
Den Pfad kannst Du dann dementsprechend erst abgreifen, wenn die Box
wieder geschlossen wird.

[Diese Nachricht wurde von noctis79 am 10. Sep. 2012 editiert.]

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

Enduro
Mitglied
Wirtschaftsinformatik Studentin


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

Beiträge: 53
Registriert: 27.07.2012

Hallo Forum :-)
Win 7
Office 2007
Autodesk® Inventor® 2012

erstellt am: 11. Sep. 2012 08:26    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 für Deina Antwort. Es funkt immer noch nicht und ich kappere es nicht mehr hab schon alles versucht..

Wo im Code wird der PDF in dem gleichen Ordner gespeichert? Es gibt bestimmt möglichkeit es zu ändern aber wie?
 

------------------
----------------
Viele Grüße
Endu

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

Enduro
Mitglied
Wirtschaftsinformatik Studentin


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

Beiträge: 53
Registriert: 27.07.2012

Hallo Forum :-)
Win 7
Office 2007
Autodesk® Inventor® 2012

erstellt am: 11. Sep. 2012 11:11    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

iiiiiich habs !!    

Code:
        Call PDFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium)
        Call oDoc.SaveCopyAs(oFileDlg.FileName, True)
      outFile = oFileDlg.FileName
      oDoc.SaveAs outFile, True

es funkt! Vielen Dank trotzdem   

------------------
----------------
Viele Grüße
Endu

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