Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Beim PDF erstellen Speichern unter... Dialog

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:  Beim PDF erstellen Speichern unter... Dialog (3363 mal gelesen)
axi92
Mitglied
Konstrukteur


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

Beiträge: 685
Registriert: 20.02.2010

Inventor 2014 64bit SP2
Vault Basic 2014 64bit SP1
HP Z200
Win 7 64bit
16GB RAM
CPU: i5 3,2GHz
GPU: Nvidia Quadro K600

erstellt am: 05. Jul. 2012 09:47    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 und vor allem wo kann ich eine Fenster anzeigen lassen das mir der Benutzer einen Pfad angeben muss wo die Datei (PDF) peichert werden soll?


Derzeit mein PDF


Public Sub Dev_PDF()
    ' 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
                        Dim oDoc As Document
                        Dim Länge_Dateiname_mit_Pfad As Integer
                        Dim Name_Pfad As String
                        Dim Pfad_export As String
                        Dim Länge_String As Integer
                        Dim Dateiname_mit_Pfad As String
                        Set oDoc = ThisApplication.ActiveDocument
                                               
                            '____________________________________________________________________iProperties_______________________________________
                            ' Get the PropertySets object.
                            Dim oPropSets As PropertySets
                            Set oPropSets = oDoc.PropertySets
                       
                            ' Get the design tracking property set.
                            Dim oPropSet As PropertySet
                            Set oPropSet = oPropSets.Item("Design Tracking Properties")
                       
                            ' Get the drawing number iProperty.
                            'Dim status As Property
                            'Set status = oPropSet.Item("User Status")
                            'Get the ipt status iProperty
                            'Dim oDrawDoc As DrawingDocument
                            Set oDrawDoc = ThisApplication.ActiveDocument
                            Dim oReferencedDoc As Document
                            On Error Resume Next
                            Set oReferencedDoc = oDrawDoc.ReferencedDocuments.Item(1)
                           
                            Dim oPropValue As String
                            oPropValue = oReferencedDoc.PropertySets.Item("{32853F0F-3444-11D1-9E93-0060B03C1CA6}").Item("User Status").Value
                            ' Display the value.
                            'MsgBox "The part number is: " & oPropValue
                            '______________________________________________________________________iProperties__________________________________________
                       
                        Dateiname_mit_Pfad = oDoc.FullFileName
                        Länge_Dateiname_mit_Pfad = Len(Dateiname_mit_Pfad)
                        Dim Endung As Integer
                        'Endung = 0 'mit .ipt usw.
                        Endung = 4 ' ohne .ipt usw
                        Name_Pfad = Mid(Dateiname_mit_Pfad, 1, Länge_Dateiname_mit_Pfad - 4)
                        Länge_String = Len(Name_Pfad)
                       
                        Dim i As Integer
                        i = 1
                        Do Until Mid(Name_Pfad, Länge_String - i, 1) = "\"
                          i = i + 1
                        Loop
                       
                        Dateiname = Right(Name_Pfad, i - Endung)
                        Name_Pfad = Mid(Dateiname_mit_Pfad, 1, Länge_Dateiname_mit_Pfad - i)
                        'Pfad_export = Left(Name_Pfad, 1, 1)
                        Dim source As String
                        Dim destination As String
                        source = "V"
                        destination = "J"
                        'Pfad_export = System.Text.RegularExpression.Regex.Replace(Name_Pfad, source, destination, RegexOptions.IgnoreCase)
                        'Name_Pfad.Replace(source, destination)
                        'Pfad_export = Mid(Name_Pfad, 2, Len(Name_Pfad))
                        'MsgBox "Dateiname : " & Dateiname & Chr(10) & "Pfad : " & Name_Pfad & Chr(10) & "Laufwerk: " & destination & Pfad_export

    'Set the destination file name
    If oPropValue = "" Then
        oDataMedium.FileName = Name_Pfad & Dateiname & ".pdf"
    Else
        oDataMedium.FileName = Name_Pfad & Dateiname & "_" & oPropValue & ".pdf"
    End If
    'Publish document.
    Call PDFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium)
    MsgBox "PDF Export abgeschlossen!", vbOKOnly, "PDF Erstellt!"
    'Set shell = CreateObject("WScript.Shell")
    'shell """C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe"" /C " & oDataMedium.FileName
    'MsgBox oDataMedium.FileName
    Shell "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe " & oDataMedium.FileName, vbNormalFocus
End Sub

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 05. Jul. 2012 11:12    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 axi92 10 Unities + Antwort hilfreich

axi92
Mitglied
Konstrukteur


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

Beiträge: 685
Registriert: 20.02.2010

Inventor 2014 64bit SP2
Vault Basic 2014 64bit SP1
HP Z200
Win 7 64bit
16GB RAM
CPU: i5 3,2GHz
GPU: Nvidia Quadro K600

erstellt am: 05. Jul. 2012 12:35    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

Muss ich den ganzen Code der dort am Seitenende zu finden ist in mein Modul mit übernehmen?

Oder wie funktioniert das ganze, bin aus deinem Link nicht wirklich schlau geworden.

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

lbcad
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



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

Beiträge: 3794
Registriert: 15.02.2001

erstellt am: 05. Jul. 2012 14:19    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 axi92 10 Unities + Antwort hilfreich

kannst ja mal mit dem Teil anfangen, den Du für den richtigen hältst.

Danach gibt es 2 Möglichkeiten:
1. es funktioniert
2. es funktioniert nicht.

Für den Fall 2 kannst Du noch ein paar Zeilen nachladen.
Evtl. hilft Dir die Fehlermeldung dabei herauszufinden, wo noch etwas im argen liegt.

Danach gibt es 2 Möglichkeiten:
...

------------------
Gruß Lothar Boekels

-----------------------------------------------------
Wir unterstützen die Arbeit der
- Rettungshundestaffel des DRK in Viersen
Das könnt Ihr auch tun.

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: 05. Jul. 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 axi92 10 Unities + Antwort hilfreich

Hallo

Steht eigentlich alles haarklein da. Den kompletten Code unten in ein eigenes Modul (rechte Maustaste auf's Anwendungsprojekt und Einfügen - Modul aus dem Kontextmenü auswählen) kopieren und die Zeile

Code:
TheFolder$ = BrowseForFolder("Wählen Sie einen Ordner aus.")

in dein eigenes Modul an die Stelle, an der der Dialog erscheinen soll einfügen.

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

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

axi92
Mitglied
Konstrukteur


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

Beiträge: 685
Registriert: 20.02.2010

Inventor 2014 64bit SP2
Vault Basic 2014 64bit SP1
HP Z200
Win 7 64bit
16GB RAM
CPU: i5 3,2GHz
GPU: Nvidia Quadro K600

erstellt am: 05. Jul. 2012 15:38    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 Ralf hab den Teil gar noch nicht gelesen gehabt war erste bei der Erklärung von IID-Liste. Entweder ich habe es übersehen oder es ist weiter unten gestanden.
Nochmals danke =)

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

axi92
Mitglied
Konstrukteur


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

Beiträge: 685
Registriert: 20.02.2010

Inventor 2014 64bit SP2
Vault Basic 2014 64bit SP1
HP Z200
Win 7 64bit
16GB RAM
CPU: i5 3,2GHz
GPU: Nvidia Quadro K600

erstellt am: 09. Jul. 2012 08:25    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

Ich habe Feedback der Anwender erhalten und zwar.
Ob es möglich ist den Pfad nicht jedes mal angeben zu müssen sondern, dass der letzte noch eingestellt ist?
Wie kann ich die Variable speichern?
Kann ich sie der Form übergeben, die die ganze Zeit offen ist?

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

lbcad
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



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

Beiträge: 3794
Registriert: 15.02.2001

erstellt am: 09. Jul. 2012 08: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 axi92 10 Unities + Antwort hilfreich

Hi,

wenn die Form die ganze Zeit offen ist, wird das funktionieren.
Aber ich befürchte im nächsten Moment will jemand das auch dann haben, wenn er das nächste Mal mit Inventor arbeitet oder so ähnlich.

Du kannst den Wert wegschreiben an eine Stelle, die Du nachher immer wieder leicht findest. Da wäre z.B. die Registry oder halt als xml im Makroverzeichnis oder oder oder.

------------------
Gruß Lothar Boekels

-----------------------------------------------------
Wir unterstützen die Arbeit der
- Rettungshundestaffel des DRK in Viersen
Das könnt Ihr auch tun.

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

axi92
Mitglied
Konstrukteur


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

Beiträge: 685
Registriert: 20.02.2010

Inventor 2014 64bit SP2
Vault Basic 2014 64bit SP1
HP Z200
Win 7 64bit
16GB RAM
CPU: i5 3,2GHz
GPU: Nvidia Quadro K600

erstellt am: 09. Jul. 2012 10:00    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 erst mal für die Inputs!

In der Zwischenzeit ist mir ein größeres Problem aufgefallen.

Ich benutze ja von oben den genannten: FolderBrowser Dialog
Jedoch ist mir jetzt aufgefallen, wenn ich den Pfad wie folgt angebe:

C
-01
-02
  -A

(Soll die Verzeichnisstruktur darstellen)

Und ich den Ordner A auswähle, speichert er die Datei immer in den übergeordneten Ordner. In diesem Fall in "02".
Wo muss ich etwas ändern damit es in den Richtigen Ordner gelangt?

So sieht der Dialog aus:


EDIT1: Habe es herausgefunden bei mir war bei der Ausgabe nach dem letzten Ordner kein "\" das habe ich noch eingefügt und nun geht es.

Wo kann ich Pfade (strings) den in die Registry speichern und wieder abrufen. Und wie lange bleibt das überhaupt dort gespeichert?
[Diese Nachricht wurde von axi92 am 09. Jul. 2012 editiert.]

[Diese Nachricht wurde von axi92 am 09. Jul. 2012 editiert.]

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



Nachwuchsingenieur (m/w/d) Infrastrukturprojekte

Die Welt von morgen bauen? Dann werden Sie Teil unseres Technical Competence Centers der HOCHTIEF Infrastructure GmbH am Standort Essen, welches die operativen Niederlassungen im In- und angrenzenden europäischen Ausland unterstützt. Verstärken Sie unser Team in 2024 in unbefristeter Anstellung als

Nachwuchsingenieur (m/w/d) Infrastrukturprojekte

...
Anzeige ansehenBauwesen
lbcad
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



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

Beiträge: 3794
Registriert: 15.02.2001

erstellt am: 09. Jul. 2012 13: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 axi92 10 Unities + Antwort hilfreich

so inetwa wie es hier steht ?!?

------------------
Gruß Lothar Boekels

-----------------------------------------------------
Wir unterstützen die Arbeit der
- Rettungshundestaffel des DRK in Viersen
Das könnt Ihr auch tun.

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