下面是打印文件的代码,可以试试:
Sub 打印()
Workbooks.Open ("d:\xls\22.xls")
Application.DisplayAlerts = False '关闭屏幕提示'
'打印 "22.xls" 工作簿中的"Sheet1"工作表,从第1页到第1页,打印份数为1份'
Workbooks("22.xls").Sheets("Sheet1").PrintOut From:=1, To:=1, Copies:=1, Collate:=True
Workbooks("22.xls").Close
Application.DisplayAlerts = True '打开屏幕提示'
End Sub Sub 打开指定文件夹()
Dim Ret
jjj = "c:\pic\qlz110.jpg"
Ret = Shell("C:\Program Files\ACDSee\ACDSee.exe " & jjj, vbNormalFocus)
End Sub
填补空白这个估计要自己添加代码,例如判断一页的字符数。然后添加相应的空格。
这个行距调整,似乎不适合用VBA来处理!原因如下:
1.行距不是可以“无级调整”的,它只能以一定的“步进尺寸”变化的(好像是0.25磅)。
2.用VBA编码,通过计算的办法,好不容易计算出一个“最佳行高”,又可能因为与“步进尺寸”不一致,而需要做出微调;而微调后的结果,必然导致最后一页内容“不满”或“溢出”到下页。
因此,对于要求“每页都接近于满页”这样的需求,还是手工处理比较恰当!
要点:
1.先按照自己比较满意的效果,对全部内容设置一个统一的行高;
2.查看最后一页效果。
如果最后一页上的行数较少,就考虑减小已经设置的行高;
如果最后一页上的行数较多,就考虑加大已经设置的行高。
3.调整行高时,只调整一个最小步进单位;
4.如果调整所有行数的的行高后,导致了效果逆转,则撤销刚做的调整,转而调整部分行数的行高。
5.在第四步上反复重试,每次都根据最后一页的效果,改变调整行高的行数,直至满意为止。
Sub Insert()
Dim i As Long
For i = Range("A65536").End(xlUp).Row To 2 Step -1 '终止行到起始行
Rows(i).Resize(3).Insert ' 3 为要插入的行数
Next
End Sub
Sub Insert()Dim i As Long
For i = UsedRange.Rows.Count To 2 Step -1 '终止行到起始行
Rows(i).Resize(3).Insert ' 3 为要插入的行数
Next
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)