| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: PDF Plotten und dann öffnen (1768 mal gelesen)
|
tappenbeck Mitglied Vermessungsingenieur
   
 Beiträge: 1218 Registriert: 30.05.2002
|
erstellt am: 04. Sep. 2014 11:10 <-- editieren / zitieren --> Unities abgeben:         
Moin! wir sind dabei eine VBA-Funktion zu erstellen die zum einen eine PDF erstellen soll und diese Datei im Anschluss öffnen soll. Hinweis in diesem Zusammenhang - es wird PlotToFile verwendet um auf eine spezielle PC3-Datei zugreifen zu können damit die Randeinstellungen Berücksichtigung finden können. Unser Code sieht derzeit so aus Code: Sub PLOT_PDF() Dim PLOT As AcadPlot Dim PlotOK As Boolean Dim ConfigName As String Dim BackPlot Dim PFAD As String Dim DATEI As String Dim DATEINAME As String Dim ART As String Dim FSO As Object Dim AppShell As Object Set AppShell = CreateObject("Shell.Application") Set PLOT = ThisDrawing.Plot Set FSO = CreateObject("Scripting.FileSystemObject") .... If DATEINAME <> "" Then BackPlot = ThisDrawing.GetVariable("BACKGROUNDPLOT") ThisDrawing.SetVariable "BACKGROUNDPLOT", 0 ConfigName = "_DWG To PDF.pc3" PlotOK = PLOT.PlotToFile(DATEINAME, ConfigName) If PlotOK = True Then If DIALOG = "Dialog" Then MsgBox "PDF Ausdruck ist erfolgt" Else ' hier liegt irgendwo das Problem AppShell.Open DATEINAME End If Else If DIALOG = "Dialog" Then MsgBox "PDF Ausdruck nicht erfolgt" End If Set PLOT = Nothing ThisDrawing.SetVariable "BACKGROUNDPLOT", BackPlot Else If DIALOG = "Dialog" Then MsgBox "Der Ausduck wurde abgebrochen" End If Set AppShell = Nothing Set FSO = Nothing End Sub
Das Problem ist jetzt nicht das Erstellen der PDF-Datei und auch nicht das Öffnen allein. Zu letzterem gibt es nämlich eine Testfunktion Code: Sub TEST() Dim AppShell As Object Set AppShell = CreateObject("Shell.Application") DATEINAME = "C:\daten\test.PDF" AppShell.Open DATEINAME Set AppShell = Nothing End Sub
Bei welcher das Öffnen einer PDF aus AutoCAD heraus funktoniert. Unser Problem liegt in der Verbindung dieser beiden Aufgaben. Die vermtutliche Problemstelle habe ich im Source gekennzeichnet. Es wird die Datei angegt und gedrückt - aber nicht geöffnet. Wir haben verschiedene Test an dieser Stelle schon eingebaut - Datei vorhanden geprüft, Sleep(100000) und die Code-Stellen werden auch erreicht. Aber es wird einfach nichts geöffnet. Ich kann mir nur noch vorstellen das irgendwie der Plot-Mechanismus selber die Sache blockiert oder sonstige Gemeinheiten am Werke sind. Hat einer eine Idee oder kann uns irgendwie anders weiterhelfen? ------------------ jan :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer

 Beiträge: 9807 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil Inventor AIP 4-11, 2008 -2022 Win 10
|
erstellt am: 04. Sep. 2014 12:58 <-- editieren / zitieren --> Unities abgeben:          Nur für tappenbeck
|
tappenbeck Mitglied Vermessungsingenieur
   
 Beiträge: 1218 Registriert: 30.05.2002
|
erstellt am: 04. Sep. 2014 13:10 <-- editieren / zitieren --> Unities abgeben:         
Hallo Udo, vielen Dank erst einmal für die Rückmeldung. Also, Du beziehst Dich auf diesen Absatz...
Code:
If PlotOK = True Then If DIALOG = "Dialog" Then MsgBox "PDF Ausdruck ist erfolgt" ' hier liegt irgendwo das Problem AppShell.Open DATEINAME End If Else If DIALOG = "Dialog" Then MsgBox "PDF Ausdruck nicht erfolgt" End If
Wenn also If PlotOK = True Then, damit der Plot OK ist, dann wird der nächste If-Baustein ausgeführt; das ist der mit If DIALOG... Es kann jetzt aber nur noch das "tötliche" Kriterium sein der Wert in der Variablen DIALOG. Das ist aber ausgeschlossen, weil wir msgbox-Test eingebaut hatten - wie geschrieben in: Zitat: Wir haben verschiedene Test an dieser Stelle schon eingebaut - Datei vorhanden geprüft, Sleep(100000) und die Code-Stellen werden auch erreicht. Aber es wird einfach nichts geöffnet
In den von Dir angesprochenen Else steckt der Code: Code: If DIALOG = "Dialog" Then MsgBox "PDF Ausdruck nicht erfolgt"
und der würde zumindest eine Message liefern. Liege ich richtig oder habe ich einen Knoten in den Gedanken? ------------------ jan :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin

 Beiträge: 2855 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2025 Plateia, Canalis Visual Basic
|
erstellt am: 04. Sep. 2014 13:43 <-- editieren / zitieren --> Unities abgeben:          Nur für tappenbeck
|

| |
tappenbeck Mitglied Vermessungsingenieur
   
 Beiträge: 1218 Registriert: 30.05.2002
|
erstellt am: 06. Sep. 2014 10:33 <-- editieren / zitieren --> Unities abgeben:         
|