Hallo Kollegen,
ich hab hier einen VBA-Code mit dem ich PDF's erstellen kann.
Funktioniert auch soweit, aber immer nur ein Mal. Das heißt wenn ich den Code das zweite Mal durchlaufen lasse, kommt es zu einer Fehlermeldung:
Laufzeitfehler -2147417851(80010105)
Wie kann es sein das es nur einmal funktioniert? Ich muss Autocad immer wieder schließen und VBA neu laden, damit es wieder funktioniert
anbei der Code:
Die Fehlermeldung kommt bei: If PtObj.PlotToFile(Replace(ThisDrawing.FullName, "dwg", "pdf"), PlotConfig.ConfigName) Then
Sub CreatePDF()
Dim PtConfigs As AcadPlotConfigurations
Dim PlotConfig As AcadPlotConfiguration
Dim PtObj As AcadPlot
Dim BackPlot As Variant
'Create a new plot configuration with all needed parameters
Set PtObj = ThisDrawing.Plot
Set PtConfigs = ThisDrawing.PlotConfigurations
'Add a new plot configuration
PtConfigs.Add "PDF", False
'The plot config you created become active
Set PlotConfig = PtConfigs.Item("PDF")
'Use this method to set the scale
PlotConfig.StandardScale = acScaleToFit
'Updates the plot
PlotConfig.RefreshPlotDeviceInfo
'Here you specify the pc3 file you want to use
PlotConfig.ConfigName = "DWG To PDF.pc3"
'You can select the plot style table here
'PlotConfig.StyleSheet = ComboBox3.Value
PlotConfig.StyleSheet = "Acad.ctb"
'Specifies whether or not to plot using the plot styles
PlotConfig.PlotWithPlotStyles = True
'If you are going to create pdf files in a batch mode,
'I would recommend to turn off the BACKGROUNDPLOT system variable,
'so autocad will not continue to do anything until finishes
'the pdf creation
BackPlot = ThisDrawing.GetVariable("BACKGROUNDPLOT")
ThisDrawing.SetVariable "BACKGROUNDPLOT", 0
'Updates the plot
PlotConfig.RefreshPlotDeviceInfo
'Now you can use the PlotTofile method
If PtObj.PlotToFile(Replace(ThisDrawing.FullName, "dwg", ".pdf"), PlotConfig.ConfigName) Then
MsgBox "PDF Was Created"
Else
MsgBox "PDF Creation Unsuccessful"
End If
'If you wish you can delete th plot configuration you created
'programmatically, and set the 'BACKGROUNDPLOT' system variable
'to its original status.
PtConfigs.Item("PDF").Delete
Set PlotConfig = Nothing
ThisDrawing.SetVariable "BACKGROUNDPLOT", BackPlot
End Sub
Vielen Dank
[Diese Nachricht wurde von michimueller am 07. Sep. 2015 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP