| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Zeichnung wird nicht gedruuckt (589 mal gelesen)
|
Stechi Mitglied Informatiker
Beiträge: 75 Registriert: 17.01.2008 Hi Smoke2004,<P>und wie in VBA? Habe in VBA nichts äquivalentes gefunden.<P>Gruß<P>Stechi
|
erstellt am: 30. Apr. 2010 11:14 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte aus einem VB 6.0-Programm eine Zeichnung auf eine OCE-Anlage drucken. Es wird auch die Zeichnung gedruckt, aber nicht richtig. Sie wird immer abgeschnitten, egal welche Einstellungen ich vornehme. Ich verwende den Printmanager, der wie folgt deklariert ist: Code: Dim Oprintmanager as DrawingPrintManger
Der Code zum Drucken sieht so aus: Code: Oprintmanager.Printer = Name des Treiber bzw. Druckers ' Farbauswahl If optsw.value = True Then Oprintmanager.AllColorsAsBlack = True Else Oprintmanager.AllColorsAsBlack = False Oprintmanager.ColorMode = kPrintColorPalette End If ' Papierformatauswahl If cboPapierformat.text = "" Then MsgBox "Papierformat auswählen!" cboPapierformat.SetFocus Exit Sub Else 'Oprintmanager.Orientation = kPortraitOrientation Select Case cboPapierformat.text Case "A0" Oprintmanager.PaperSize = kPaperSizeA0 Oprintmanager.Orientation = kLandscapeOrientation Case "A1" Oprintmanager.PaperSize = kPaperSizeA1 Oprintmanager.Orientation = kLandscapeOrientation Case "A2" Oprintmanager.PaperSize = kPaperSizeA2 Oprintmanager.Orientation = kLandscapeOrientation Case "A3" Oprintmanager.PaperSize = kPaperSizeA3 Oprintmanager.Orientation = kLandscapeOrientation Case "A4" Oprintmanager.PaperSize = kPaperSizeA4 Oprintmanager.Orientation = kPortraitOrientation End Select End If ' Druckbereich festlegen If optGrenzen.value = True Then If CInt(right(txtFormat.text, 1)) >= CInt(right(cboPapierformat.text, 1)) Then Oprintmanager.ScaleMode = kPrintFullScale Else txtMaßstab.text = "Anpassen" Oprintmanager.ScaleMode = kPrintBestFitScale End If Else ' Anzeigen vom Zeichnungsmaßstab temp = Odrawdoc.ActiveSheet.DrawingViews(1).Scale Select Case temp Case "1" txtMaßstab.text = "1 : 1" Case "0,5" txtMaßstab.text = "1 : 2" Case "0,2" txtMaßstab.text = "1 : 5" Case "0,1" txtMaßstab.text = "1 : 10" Case "0,05" txtMaßstab.text = "1 : 20" Case "0,02" txtMaßstab.text = "1 : 50" Case "2" txtMaßstab.text = "2 : 1" Case "5" txtMaßstab.text = "5 : 1" Case Else MsgBox " Das eingebene Format gibt es nicht! Es gibt nur folgende Format: 1 : 1, 1 : 2, 1 : 5, 1 : 10, 1 : 20, 1 : 50, 2 : 1 und 5 : 1! Bitte Format dementsprechend in der Drawing View(1) ändern!" Exit Sub End Select Oprintmanager.ScaleMode = kPrintCurrentWindow End If ' Druckseiten festlegen If optaktSeite.value = True Then Oprintmanager.PrintRange = kPrintCurrentSheet Else Oprintmanager.PrintRange = kPrintAllSheets End If ' Drehung festlegen If fraDrehung.Enabled = True Then If opt0°.value Then Oprintmanager.Rotate90Degrees = False Else Oprintmanager.Rotate90Degrees = True End If Else Oprintmanager.Rotate90Degrees = True End If If cboPlotter.text = "OCE_9800" Then Oprintmanager.PrintToFile ("C:\Temp\oceout.plt") ' Ermitteln des letzten Backslashes im String For i = 1 To Len(Odrawdoc.FullFileName) If Mid$(Odrawdoc.FullFileName, i, 1) = "\" Then pos = i End If Next i NAME = Mid(Odrawdoc.FullFileName, pos + 1, Len(Odrawdoc.FullFileName)) tmp = Plotexe & " C:\Temp\oceout.plt@&@" & Odrawdoc.ActiveSheet.Width * 10 & " mm x " & Odrawdoc.ActiveSheet.Height * 10 & " mm" & "&@&" & NAME ausfuehrung = Shell(tmp, vbNormalFocus)
Anmerkung: "Plotexe" ist eine Variable, die im Programm gesetzt wird und für den Shell-Anweisung gebraucht wird. Mir scheint, daß die Einstellungen nicht an den Druckertreiber (hier: OCE9800) weitergegeben werden. Warum nicht? Ziussatzinformation: Der Treiber für die OCE-Anlage wurde neu installiert und wieder zurückgesetzt, sodaß wieder der alter Treiber aktiv ist! Für jeden Hinweis bin ich dankbar! Gruß Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stargazer Mitglied Dipl. Ing.
Beiträge: 35 Registriert: 02.04.2005
|
erstellt am: 05. Mai. 2010 20:57 <-- editieren / zitieren --> Unities abgeben: Nur für Stechi
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|