VBA,打印区域只要有内容就补全空白行命令怎么设置?

VBA,打印区域只要有内容就补全空白行命令怎么设置?,第1张

下面是打印文件的代码,可以试试:

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11826209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存