能解决问题的另送100(我只能加100),不够可以再加,请看我的帖子。
"高手帮忙,在线等待,急!!!!!!!!!!"

解决方案 »

  1.   

    http://expert.csdn.net/Expert/TopicView1.asp?id=2158874
      

  2.   

    楼主请问你在CSDN回答了几个问题?自认为满意的回复有几个?
      

  3.   

    我在CSDN回答的问题都是我经过编译测试之后才往上贴的,否则我不会在上面留帖。灌水区除外
      

  4.   

    victorycyz(中海,干活去,别在CSDN玩耍!) 我不是针对你,我们可以换个方向说,如果没有满意的回复,那我们来这里干什么,只是灌水还是干什么,如果有人会的话,应该给别人一个满意的回复,不然CSDN就失去了他的意思,你说呢?我们可以讨论,但是希望对事不要对人,就像我说斑竹,我不是指某个斑竹,我是指既然作为斑竹就应该把事情办好,我绝对没有不尊重斑竹的意思,他们也很辛苦,我们不能视而不见,可能意思产生了误解。我声明我很尊重斑竹。
      

  5.   

    你的问题试试下面的方法,打开设置窗口以后把上,左值改为0试试
    '可以通过调用Win32 API的PageSetupDlg函数实现
    Option ExplicitPrivate Type POINTAPI
         x As Long
         y As Long
    End Type
         
    Private Type RECT
         Left As Long
         Top As Long
         Right As Long
         Bottom As Long
    End Type
         
    Private Type PageSetupDlg
         lStructSize As Long
         hwndOwner As Long
         hDevMode As Long
         hDevNames As Long
         flags As Long
         ptPaperSize As POINTAPI
         rtMinMargin As RECT
         rtMargin As RECT
         hInstance As Long
         lCustData As Long
         lpfnPageSetupHook As Long
         lpfnPagePaintHook As Long
         lpPageSetupTemplateName As String
         hPageSetupTemplate As Long
    End Type
    Private psdlg As PageSetupDlg
    Private Declare Function PageSetupDlg Lib "comdlg32.dll" Alias "PageSetupDlgA" (pPagesetupdlg As PageSetupDlg) As LongPrivate Sub Command1_Click()
         
         psdlg.lStructSize = Len(psdlg)
         psdlg.hwndOwner = hWnd
         PageSetupDlg psdlg
        End Sub
      

  6.   

    dandy1437((乐天派!直面所有问题))非常感谢!这样只是能设置边界,像你所说一样设置成0后,就是0 ,没有最小边界产生。其实打印纸边上都有一圈为不可打印区域,我要得到这个不可打印区域的周边宽度,请再次指点!!!
      

  7.   

    Answer = MsgBox("confirm printing on " & Printer.DeviceName, vbYesNo)
    If Answer = vbNo Then Exit Sub'We decide to measure in centimeters
    Printer.ScaleMode = vbCentimeters'We use the A4 format paper (21 * 29.7 centimeters = 8.5 * 11 inches)
    'We check the physical borders of the PrinterHorizontalMargin = (21 - Printer.ScaleWidth) / 2
    VerticalMargin = (29.7 - Printer.ScaleHeight) / 2
    比如你设置为A4纸,用上述方法即可
      

  8.   

    其实用api
    PageSetupDlg就可以进行设置的
      

  9.   

    楼主,我上面说的话,只是想让你反思一下,站在别人的角度想一想,别人也没有义务一定给你一个满意的答复的,尤其是在遇到难题的时候,每个人都有看贴不回贴的权利。    "我在CSDN回答的问题都是我经过编译测试之后才往上贴的,否则我不会在上面留帖。灌水区除外", 看你这样的回复,促使我去查了一下你的所有的回贴,发现你只是在说大话而已啊。我根本就没有看到你有贴上来什么象样的代码,更谈不上编译测试之类的话了。    珍惜自己的ID,珍惜自己的信誉。兄弟!
      

  10.   

    snail2011(尘潇)说的是,我这人就是太较真。
      

  11.   

    不过回答质量有所下降的确是近来的趋势。
    同志们特别喜欢看源码……希望CSDN蒸蒸日上每一个成员都要有互相尊重、互相体贴的道德,我在这里唠叨了。
      

  12.   

    不要在争执了,大家都不容易,版主有理,楼主也有理,试想一下,在CSDN若贴了1个月的问题都没解决他还能好好说嘛,反过来也许是版主没看到或其它原因,可以理解!还是赶快做些实事吧!我快急坏了!大家帮忙看一下这个问题http://expert.csdn.net/Expert/topic/2168/2168893.xml?temp=.6571772多谢!多谢!多谢!多谢!多谢!多谢!多谢!多谢!多谢!多谢!多谢!多谢!多谢!
    多谢!多谢!多谢!多谢!多谢!多谢!多谢!多谢!多谢!多谢!多谢!多谢!多谢!
      

  13.   

    lihonggen0(李洪根,用.NET,标准答案来了) 谢谢你在此以及在原帖的代码,像下面这样
    HorizontalMargin = (21 - Printer.ScaleWidth) / 2
    VerticalMargin = (29.7 - Printer.ScaleHeight) / 2
    左右边界总和以及上下边界总和是得到了,但是实际上边界不是这样的,A4纵向来说
    使用HP LaserJet 2100:上边界是0.63,左边界是0.55,下边界是0.71,右边界是0.66
    使用HP LaserJet 2200 Series PCL 6:上边界是0.42,左边界是0.42,下边界是0.43,右边界是0.43
    A4横向来说
    使用HP LaserJet 2100:上边界是0.42,左边界是0.42,下边界是0.43,右边界是0.43
    使用HP LaserJet 2200 Series PCL 6:上边界是0.42,左边界是0.42,下边界是0.43,右边界是0.43
    单位都是厘米,这些都是最小值,我就是要在程序里得到这些值,我可能没说清楚,我不是要设置边界,而是要“得到”如上所说的这些最小边界值,指“得到”