VB6で使用していたPRINTER.SCALEWIDTHとHEIGHTについて
教えていただきたいのですが、
VB2005では、
WKScaleWidth = PrintDialog1.Document.DefaultPageSettings.PaperSize.Width
WKScaleHeight = PrintDialog1.Document.DefaultPageSettings.PaperSize.Height
で値を求めた後、後続の処理を実行したのですが、
VB6.0の値と違うため、
うまく動作しません。
ちなみに以下のような値が返却されます。
【VB6】
プリンタ:EPSON PM-970C
フォント:MS 明朝 フォントサイズ:10 サイズ:A4 210X297mm 印刷の向き:縦
Printer.ScaleWidth ・・・ 96.4
Printer.ScaleHeight ・・・ 66.15
プリンタ:NEC MultiWriter 210S
フォント:MS 明朝 フォントサイズ:10 サイズ:A4 印刷の向き:縦
Printer.ScaleWidth ・・・ 94.4
Printer.ScaleHeight ・・・ 67.77917
----------------------------------------------------------------------------------------------------
【.NET】
プリンタ:EPSON PM-970C
フォント:MS 明朝 フォントサイズ:10 サイズ:A4 210X297mm 印刷の向き:縦
WKScaleWidth ・・・ 827
WKScaleHeight ・・・ 1169
プリンタ:NEC MultiWriter 210S
フォント:MS 明朝 フォントサイズ:10 サイズ:A4 印刷の向き:縦
WKScaleWidth ・・・ 827
WKScaleHeight ・・・ 1169
<後続の処理では、Printer.ScaleHeightを上記で求めた値にしている >
If LwkPrnTate > (Printer.ScaleHeight - 3) Then
Printer.NewPage '改ページ
Printer.EndDoc
Printer.ScaleMode = 4
Printer.FontSize = 10
LwkPrnTate = 7
LwkPrnYoko = 0
LwkPage = LwkPage + 1
Call GPrnMeisaiRyoMidasiProc(LwkPage) '見出し
End If
何か設定の仕方がまずいのでしょうか?
VB2005の値からVB6.0の値にあわせる方法がありますでしょうか?
また、VB6.0の方は、PRINTER.SCALEMODEや
プリンターの機種によってPRINTER.SCLEWIDTHやHEIGHTがかわるようですが、
VB2005ではWKScaleWidthやWKScaleHeightは同じ値が返却されます。
何かご存知でしたら教えてください。