Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Übergabe eines Strings an einen 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:  Übergabe eines Strings an einen Dialog (2489 mal gelesen)
Ulr1ch
Mitglied
Konstrukteur


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

Beiträge: 75
Registriert: 18.12.2003

IV9
Windows XPpro
Pentium 4 2,4GHz
1,5GB RAM

erstellt am: 04. Jun. 2004 10:55    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 liebe Forumsmitglieder,

ich bin gerade dabei, die Ausgabe von idws als PDF zu automatisieren.

Das möchte ich über den Adobe PDF Drucker realisieren. Das Ansteuern des Druckers funktioniert bereits. Nach absenden des Druckauftrag erhalte ich ein Dialogfeld in das ich den Speicherpfad übergeben muss und auf OK klicken muss.

Weis jemand wie das geht?

Bei der Suche nach einer anderen Funktion bin ich bereits auf die entsprechenden Anweisungen gestoßen. Aber weil ich sie ja nicht gebraucht habe... und jetzt such ich schon ewig in der Hilfe und finde es nicht mehr.

Bitte helft mir!

Vielen dank im Vorraus

Ulrich

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

VOSTA1
Mitglied
techn. Angestellter


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

Beiträge: 108
Registriert: 23.12.2002

erstellt am: 08. Jun. 2004 12: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 Ulr1ch 10 Unities + Antwort hilfreich

Hallo,

woher kommt das Dialogfenster?

Schau doch mal in der Programmierungshilfe im Inventor unter
FileDialog.ShowSave Method

This sample demonstrates the use of the FileDialog object. The only requirement to run this sample is to have Autodesk Inventor open.

Public Sub TestFileDialog()
    ' 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 (*.iam;*.ipt)|*.iam;*.ipt|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 = "Open File Test"
   
    ' Set the initial directory that will be displayed in the dialog.
    oFileDlg.InitialDirectory = "C:\Temp"
       
    ' Set the flag so an error will be raised if the user clicks the Cancel button.
    oFileDlg.CancelError = True
   
    ' Show the open dialog.  The same procedure is also used for the Save dialog.
    ' The commented code can be used for the Save dialog.
    On Error Resume Next
    oFileDlg.ShowOpen
'    oFileDlg.ShowSave
   
    ' If an error was raised, the user clicked cancel, otherwise display the filename.
    If Err Then
        MsgBox "User cancelled out of dialog"
    ElseIf oFileDlg.FileName <> "" Then
        MsgBox "File " & oFileDlg.FileName & " was selected."
    End If
End Sub

MFG VOSTA

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

Ulr1ch
Mitglied
Konstrukteur


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

Beiträge: 75
Registriert: 18.12.2003

IV9
Windows XPpro
Pentium 4 2,4GHz
1,5GB RAM

erstellt am: 08. Jun. 2004 14:59    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 Vosta,

danke erstmal für die Hinweise. Leider war es nicht genau das was ich gesucht habe. Zur Verdeutlichung hier der Code den ich schon habe:

Code:

Public Sub export2PDF()

    Dim i As Integer
   
    Dim oApp As Application
    Set oApp = ThisApplication
   
    Dim oDoc As DrawingDocument
    Set oDoc = oApp.ActiveDocument
   
   
    'Printer Ansteuern
   
        On Error Resume Next
        Dim oPrintMgr As drawingprintmanager
        Set oPrintMgr = ThisApplication.ActiveDocument.PrintManager
        If Err.Number Then
            MsgBox "Adobe PDF Drucker ist nicht installiert"
            Err.Clear
            Exit Sub
        End If
   
        oPrintMgr.Printer = "Adobe PDF"
        oPrintMgr.ColorMode = kPrintColorPalette
        oPrintMgr.ScaleMode = kPrintBestFitScale
        If oDoc.ActiveSheet.Size = kA4DrawingSheetSize Then
            oPrintMgr.PaperSize = kPaperSizeA4
        Else
            oPrintMgr.PaperSize = kPaperSizeA3
        End If
       
        If oDoc.ActiveSheet.Orientation = kPortraitPageOrientation Then
            oPrintMgr.Orientation = kPortraitOrientation
        Else
            oPrintMgr.Orientation = kLandscapeOrientation
        End If
        oPrintMgr.PrintRange = kPrintAllSheets
        oPrintMgr.SubmitPrint
   
End Sub


Soweit funktioniert das alles ganz gut. Wenn ich das Makro ausführe, erscheint ein Dialogfeld, das mich auffordert, den Speicherort und -namen des PDF-Dokuments einzugeben. An dieses bereits bestehende Dialogfeld möchte eigendlich nur den Speicherpfad übergeben und mit OK bestätigen.

Vieleicht kann mir jetzt jemand weiterhelfen.

Herzlichen Dank

Ulrich

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

VOSTA1
Mitglied
techn. Angestellter


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

Beiträge: 108
Registriert: 23.12.2002

erstellt am: 08. Jun. 2004 16:55    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 Ulr1ch 10 Unities + Antwort hilfreich

Hallo,

wenn das Dialog-Fenster von z.B. Adobe PDFWriter angesprochen werden soll, muß Du unter Verweise die Adobe API miteinbinden (wie z.B mit Excel), wenn die API von Adobe keinen Befehl anbietet wird es schwierig werden einen String zu übergeben.

Habe folgende Links auf die schnelle gefunden:
API für Adobe Distiller http://partners.adobe.com/asn/acrobat/docs/dst_api.pdf
API für Adobe Writer http://partners.adobe.com/asn/acrobat/docs/pdfwapi.pdf

MFG VOSTA

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

yamaha
Mitglied
Konstrukteur


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

Beiträge: 374
Registriert: 19.05.2004

Autocad/Inventor 2022, Windows 10 Pro 64Bit

erstellt am: 08. Jun. 2004 19: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 Ulr1ch 10 Unities + Antwort hilfreich

Hallo Ulrich,

mal ein anderer Ansatz von mir.

1. Befehl sendkeys
Geht wahrscheinlich nur wenn das Dialogfeld auch den Foxus erhält.
Die Frage ist wahrscheinlich das der Zeitpunkt bzw. der Augenblick
wenn es den Focus erhält nicht eindeutig ist

2. Wieso Adobe Acrobat?
Ich habe für eine ähnliche Funktion das Programm Freepdf genommen
www.shbox.de
Vorteil:
- kostenlos
- PDF-Dateien erhalten automatisch den Namen der Inventordatei
- Der Ausgabeort der PDF kann eingestellt werden
Nachteil:
- Die PDF´s sind etwas größer wie bei Acrobat, fällt
  aber glaube ich nur bei mehrseiteigen Dokumenten auf.
  (also Inventor kaum)

------------------
Gruß

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

Ulr1ch
Mitglied
Konstrukteur


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

Beiträge: 75
Registriert: 18.12.2003

IV9
Windows XPpro
Pentium 4 2,4GHz
1,5GB RAM

erstellt am: 09. Jun. 2004 14: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

Hallo Yamaha,

1. den Befehl sendkeys habe ich schon probiert, funktionierte aber nicht.

2. Auch bei freePDF bekomme ich ein Eingabefeld, das den Dateinamen benötigt.

==> leider bin ich wieder nicht weiter.

Ulrich

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

yamaha
Mitglied
Konstrukteur


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

Beiträge: 374
Registriert: 19.05.2004

Autocad/Inventor 2022, Windows 10 Pro 64Bit

erstellt am: 09. Jun. 2004 17: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 Ulr1ch 10 Unities + Antwort hilfreich

Hallo Vosta,

das mit der Dialogabfrage des Dateinamen kannst
du bei Freepdf abschalten. siehe Einstellungen - Ablegen Dialog
Ich arbeite mit der Version 2.11; es gibt mittlerweile ja
auch die XP-Version, da weiß ich nicht genau ob die Möglichkeit noch gibt; kann mir aber nicht vorstellen das die abgeschaft wurde.
Zum Format: Ist auch kein Problem
Bei der Version 2.11 mußt du dir das Patch von der Freepdf Seite besorgen; bei der xp-Version ist das glaube ich sogar garnicht mehr nötig. Auf der Freepdf-Seite ist eigentlich alles sehr gut erklärt.
Der Programmierer hat sich wirklich Mühe gegeben, wurde wohl
aber schon sehr oft angemailt mit immer den gleichen Fragen.
Ich vermute dies weil auf dem Button der zum Einstellungsdialog
führt steht "Ja, ich habe das Handbuch gelesen"

------------------
Gruß

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

yamaha
Mitglied
Konstrukteur


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

Beiträge: 374
Registriert: 19.05.2004

Autocad/Inventor 2022, Windows 10 Pro 64Bit

erstellt am: 06. Sep. 2004 16: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 Ulr1ch 10 Unities + Antwort hilfreich

Hallo zusammen,

auf Wunsch stelle ich ein Beispiel für das Drucken
von Zeichnungen mit Freepdf zur Verfügung:

Sub PDF_drucken()
Dim oPrintMgr As DrawingPrintManager
For Each s In ThisApplication.ActiveDocument.Sheets
    s.Activate
    Start_Zeit = Timer
    Do While Timer < Start_Zeit + 2
    Loop
    Set oPrintMgr = ThisApplication.ActiveDocument.PrintManager
    oPrintMgr.NumberOfCopies = 1
    oPrintMgr.Printer = "FreePDF"
    PapierFormat = s.Size
    oPrintMgr.Orientation = kPortraitOrientation
    Select Case PapierFormat
        Case 9993 'A0
            oPrintMgr.PaperSize = kPaperSizeA0
        Case 9994 'A1
            oPrintMgr.PaperSize = kPaperSizeA1
        Case 9995 'A2
            oPrintMgr.PaperSize = kPaperSizeA2
        Case 9996 'A3
            oPrintMgr.PaperSize = kPaperSizeA3
        Case 9997 'A4
            oPrintMgr.PaperSize = kPaperSizeA4
    End Select
    Ausrichtung = s.Orientation
    Select Case Ausrichtung
        Case 10243 'Hochformat
            oPrintMgr.Orientation = kPortraitOrientation
        Case 10242 'Querformat
            oPrintMgr.Orientation = kLandscapeOrientation
    End Select
   
    Start_Zeit = Timer
    Do While Timer < Start_Zeit + 5
    Loop
    ThisApplication.ActiveView.WindowState = kMaximize
    oPrintMgr.SubmitPrint
    Start_Zeit = Timer
    Do While Timer < Start_Zeit + 5
    Loop
Next
End Sub

------------------
Gruß Jörn

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