为什么要写出这个问题呢?因为,在word文档的打印过程中,打印设置里面有一个可选项为“全部”、“奇数页”、“偶数页”,而作为人们常用的execl文档,却没有这个功能,所以,必须采用“宏”来实现这个功能。----------------------单击菜单工具-宏-录制新宏在弹出的录制新宏对话框中设定新的宏名“手动双面打印”将宏保存在“个人宏工作簙”中单击确定后,按停止录制宏按钮按“Alt+F11”进入MicrosoftVisualBasic编辑器。在编辑器中新建模块1,刚才录制的“手动双面打印”宏命令中输入如下代码(两条虚线之间的VB代码):-------------------------------------Sub手动双面打印()DimPagesAsLongDimmyBottonNumAsIntegerDimmyPrompt1AsStringDimmyPrompt2AsStringmyPrompt1=在打印时发生错误,请检查你的打印机设置myPrompt2=请将出纸器中已打印好一面的纸取出并将其放回到送纸器中,然后按下确定,继续打印Pages=ExecuteExcel4Macro(Get.Document(50))'统计总页数OnErrorResumeNextIf(Pages=0)Then'如果为零,说明没有可打印内容,退出程序MsgBoxMicrosoftExcel未发现任何可以打印的内容,0+48ExitSubEndIfIf(Pages=1)Then'判断是否只有一页,如果是,只打印第一页,然后退出ActiveSheet.PrintOutIfErr.Number=1004ThenMsgBoxmyPrompt1,0+48'提示用户发生打印错误EndIfExitSubEndIfFori=1ToPagesStep2'设置循环,打印奇数页ActiveSheet.PrintOutFrom:=i,To:=iIfErr.Number=1004ThenMsgBoxmyPrompt1,0+48ExitSubEndIfNextimyBottonNum=MsgBox(myPrompt2,1+48)'提示用户取出纸张,确认后继续打印If(myBottonNum=1)ThenForj=2ToPagesStep2'打印偶数页ActiveSheet.PrintOutFrom:=j,To:=jNextjEndIfEndSub---------------------------------------按Alt+Q返回到工作表窗口,单击菜单工具”→“自定义”,在弹出的自定义对话框中选择“命令”选项卡,在命令选项卡中选择“宏”→“自定义按钮”。拖动自定义按钮道任务栏上,右键单击自定义按钮图标(宏的快捷图标),在弹出的对话框中将“自定义按钮(&C)”更名为“手动双面打印(&C)”,然后再单击“指定宏”在弹出的“指定宏”对话框中选择我们刚才创建的宏。到此,命令基本添加完毕!打开Execl工作簙,单击刚创建的宏按钮,程序就会自动先打印所有奇数页,然后提示取出纸张,确认后再打印所有偶数页,基本类似于Word的手动双面打印。到此就讲完了,不需要了解太深入,只要会操作就可以了。。。打印文档时,按alt+f11,打开vbs,选择要打印文档,然后按模块1,在模块1情况下按执行。