需求是这样,好多个excel文件,我要选择其中的一些,在选择的excel中有的sheet是需要双面打印,有的不需要,怎么弄,给点思路,不知道程序该怎么写,我想可以让他们把需要双面打印的excel改好名字,区分哪些里有需要双面打印的,然后改sheet的名字,知道文件里有哪个sheet来双面打印,但是怎么控制纸张呢,双面打印都是先打奇数页然后统统翻过来一起打,而有的反面我是不需要打的

解决方案 »

  1.   

    用VBA操作比较好.
    你先在EXCEL中用宏记录下你的操作,
    然后在VB中执行VBA的代码.
      

  2.   

    With excelApp.ActiveSheet
       .PageSetup.LeftMargin = 10 '左边距
       .PageSetup.RightMargin = 10 '右边距
       .PageSetup.TopMargin = 25 '上边距
       .PageSetup.BottomMargin = 10 '下边距
       .PageSetup.HeaderMargin = Application.InchesToPoints(0.290551181102362) '页眉
       .PageSetup.FooterMargin = Application.InchesToPoints(0.290551181102362) '页脚
       .PageSetup.CenterHorizontally = True '是否垂直居中,'打印页面是否水平居中
       .PageSetup.CenterVertically = False
       .PageSetup.Orientation = 2 '设置打印方向:1为纵向打印,2为横向打印
       .PageSetup.PaperSize = 9 '设置打印纸的类型,例如A3为8,A4为9
       .PageSetup.Zoom = 43 '设置页面缩放的百分比
        .PrintPreview '打印预览
        .PrintOut '直接打印
       .PrintOut Copies:=1, Collate:=True '双面打印
    End With
      

  3.   

    Collate 不是双面打印,是指在多份打印时是否逐份打印。A)如果打印机本身支持双面打印
    你可以通过设置打印区域,让所有单面打印的内容紧跟一个空白页(比如列 A-H 为需要单面打印的内容,就将空白的列 I-P 设为紧跟的空白打印页)。
    直接用打印机的双面打印功能就可以了。B)如果打印机不支持
    http://wenda.tianya.cn/wenda/thread?tid=0604919d9ebc025b
      

  4.   

    With excelApp.ActiveSheet 
      .PageSetup.LeftMargin = 10 '左边距 
      .PageSetup.RightMargin = 10 '右边距 
      .PageSetup.TopMargin = 25 '上边距 
      .PageSetup.BottomMargin = 10 '下边距 
      .PageSetup.HeaderMargin = Application.InchesToPoints(0.290551181102362) '页眉 
      .PageSetup.FooterMargin = Application.InchesToPoints(0.290551181102362) '页脚 
      .PageSetup.CenterHorizontally = True '是否垂直居中,'打印页面是否水平居中 
      .PageSetup.CenterVertically = False 
      .PageSetup.Orientation = 2 '设置打印方向:1为纵向打印,2为横向打印 
      .PageSetup.PaperSize = 9 '设置打印纸的类型,例如A3为8,A4为9 
      .PageSetup.Zoom = 43 '设置页面缩放的百分比 
        .PrintPreview '打印预览 
        .PrintOut '直接打印 
      .PrintOut ManualDuplexPrint=true,Copies:=1, Collate:=True '双面打印(逐份打印)
    End With