百度空间 | 百度首页 
 
查看文章
 
统计Excel打印页数
2007年09月09日 星期日 20:54

'Using an XLM macro in VBA

Sub ShowPageCount()
     PageCount = 0
     For Each sht In Worksheets
         sht.Activate
         Pages = ExecuteExcel4Macro("Get.Document(50)")
         PageCount = PageCount + Pages
     Next sht
     MsgBox "Total Pages = " & PageCount
End Sub


'Using VBA


Sub NumberOfPrintedPages()
     Worksheets(1).DisplayAutomaticPageBreaks = True
     HorizBreaks = Worksheets(1).HPageBreaks.Count
     HPages = HorizBreaks + 1
     VertBreaks = Worksheets(1).VPageBreaks.Count
     VPages = VertBreaks + 1
     NumPages = HPages * VPages
     Worksheets(1).DisplayAutomaticPageBreaks = False
     MsgBox NumPages
End Sub


类别:office技巧 | 添加到搜藏 | 浏览() | 评论 (4)
 
最近读者:
 
网友评论:
2
2008年01月19日 星期六 23:40 | 回复
来你的博客看看,祝你新的一年里更快乐,草根的故事等您回踩! 草根的天空!草根的世界!草根的故事——给心灵一个倾诉的舞台!
 
3
2008年03月31日 星期一 15:16 | 回复
谢谢!
 
4
2008年07月11日 星期五 12:02 | 回复
第二个改改吧: 'Using VBA Sub NumberOfPrintedPages() Dim sh As Excel.Worksheet Dim bChange As Boolean, aPageCount As Integer For Each sh In Worksheets bChange = False If sh.DisplayAutomaticPageBreaks = False Then bChange = True sh.DisplayAutomaticPageBreaks = True End If HorizBreaks = sh.HPageBreaks.Count HPages = HorizBreaks + 1 VertBreaks = sh.VPageBreaks.Count VPages = VertBreaks + 1 numpages = HPages * VPages aPageCount = aPageCount + numpages If bChange Then sh.DisplayAutomaticPageBreaks = False End If Next MsgBox aPageCount End Sub
 
5
2008年07月11日 星期五 19:15 | 回复
方法二大部分情况下不准. 方法一偶尔不准.
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu