最新WPS办公软件学习教程_免费企业办公软件下载_金山WPS Office官网论坛

 找回密码
 
查看: 7467|回复: 14

[VBA/VBS教程] 【VBA For ET 教材连载系列】八十

[复制链接]

397

主题

72

听众

3057

积分

测试体验团员

Rank: 14Rank: 14Rank: 14Rank: 14

该用户从未签到

金币
3
威望
5028
帖子
2011
精华
11

特殊贡献奖 最佳教程奖 活跃会员奖

发表于 2010-5-8 18:22 |显示全部楼层
分享到: 新浪微博 腾讯微博
Sheets对象应用案例详解 (七)
! V3 U! v2 s* M3 e5 n, L7 }本节演示与工作表打印相关案例,包括打印工作表已用区域、批量打印工作表和批量设置页脚。  f6 L8 h1 H( o/ j2 q/ c

% p" p$ O3 o0 n" D一:打印工作表已用区域3 `. n& s3 S- d
案例要求:' y, V4 v& i% I& ]
打印活动工作表的已用区域。! z. I9 P8 i$ a( ^% L
知识要点:PrintArea \PrintOut
+ G- k$ c$ n! o& e实现步骤
8 t; q% i9 s  q5 F; w/ c9 S  O- S9 U) ^9 a' M, d
1).单击菜单【插入】\【模块】;8 w; m& Z4 a4 U' O
2 X5 \  T- d9 l$ Z3 U: a& _
2).在模块代码窗口输入以下代码:
$ V2 M% }$ l, ^4 O2 m: ~0 r________________________________________________
9 D3 p  [2 N2 s0 n  E# {
) N( R+ f$ }# O) N
Sub 打印工作表已用区域()% @9 ?2 I% R0 f2 r" P# s7 L
'设置打印区域
0 m2 k4 Z4 z) S7 z" b    ActiveSheet.PageSetup.PrintArea = ActiveSheet.UsedRange.Address0 @1 U7 o/ K& }+ \
    ActiveSheet.PrintOut    '打印数据
8 J1 N! {0 Q( I/ v9 K% oEnd Sub" ~3 w% U) q2 i2 X  k
________________________________________________

; y( C* V* Y7 A! {( y3)光标置于代码中任意位置,并按F5键执行代码,活动工作表的已用区域将立即开始打印。9 m2 P3 y( r  O; S7 X) @
语法补充% w' _5 z. `& Z6 h+ ]. H* r
1.PageSetup.PrintArea 代表以要打印的区域,String 类型,可读写。即通过Msgbox语句可以获得当前表的打印区域址,而直接对它赋值则可以实现设置新的打印区域。2 v& O% _$ k. [  i, d3 x5 h. K
2.PrintOut代表打印,它有9个可选参数,各参数含义见下表:
7 ~+ [) U' r  n0 Y. M  e: [, z, Q' W
/ S5 B3 C0 L& }( k. [* p# X0 ^
名称

/ B% \( u0 s. l, M9 L
说明
# M; a" Y3 @6 C4 r* ~
From
: G+ v0 x+ o4 W) J$ R7 ?8 B7 z
打印的开始页号。如果省略此参数,则从起始位置开始打印。
8 Z5 G  x/ w+ G% A( Y2 m
To
; y* s4 H0 d% q& `7 J
打印的终止页号。如果省略此参数,则打印至最后一页。

8 U- Q" [* L6 k' E
Copies
' |6 H3 `1 u- S' c. a3 r$ |' [4 ^
打印份数。如果省略此参数,则只打印一份。
- G! ?2 v6 z0 d8 p0 b2 m
Preview
+ z9 t( q! ?6 c: s
如果为 True,Microsoft Excel 将在打印对象之前调用打印预览。如果为 False(或省略该参数),则立即打印对象。
5 H" K0 J5 F/ b* q% G0 x5 c$ E6 n
ActivePrinter

8 `  v1 R4 n/ |) h
设置活动打印机的名称。
/ u0 r) M# ?0 N# X+ S
PrintToFile
/ u7 n3 u$ n  V% h! F" M
如果为 True,则打印到文件。如果没有指定 PrToFileName,Microsoft Excel 将提示用户输入要使用的输出文件的文件名。
& O# h* U7 d+ X; H' Y% L0 S$ o( [6 a
Collate

& T  Q# s/ X5 c" U$ E
如果为 True,则逐份打印多个副本。
/ ?2 u7 U6 C# q; n1 l, t6 [
PrToFileName
2 N+ T* g/ v9 p2 Y: v" Y0 O; D! w: V
如果 PrintToFile 设为 True,则该参数指定要打印到的文件名。

& w; w) b4 Y' _6 B  c6 @2 Z
IgnorePrintAreas
6 E3 ^6 R5 ^  K( @' }: Z! @
如果为 True,则忽略打印区域并打印整个对象。
( U3 G* y9 D2 W4 W* E. |# \! G

/ f% y4 b- V$ ]1 M; J( k. Z3 D( R- q+ a& J

- F0 ^# m6 R8 i" l
4 r$ f+ p2 r6 \二:批量打印工作表
- H8 h0 c% C! {" t4 e+ v& C9 F
案例要求:# p7 u8 M! {6 Y: |1 }
当打活动工作簿中所有工作表。2 S* i" S9 f2 O8 i8 m1 h- t
知识要点:PrintOut
. j+ L4 ^) i  ~! C7 o+ ~2 J6 I实现步骤. t" F3 i$ B( ^1 \$ w( s

1 I- r" ~! ^- U  I" i; N1).单击菜单【插入】\【模块】;
7 ^; N. T# A( d- o& H0 V+ E: `" U! B" D/ |+ c, ^. W
2).在模块代码窗口输入以下代码:7 S- B: \  K4 y; c3 r! _" S) j1 w& L
________________________________________________

! Z& @) U! j1 k$ z+ O" I* @3 g0 r' ^& [2 v3 ~% z! P0 K
Sub 打印总表以外的工作表()
: J# n: P* l! k! n# S/ g7 N    Dim sht As Worksheet '声明一个工作表变量
7 Y- S5 _6 J: k4 k; L    For Each sht In Worksheets '遍所有工作表7 `; c9 E; t: G; [
        If Not IsEmpty(sht.UsedRange) Then '如果不是空表
8 T* G/ n, [; M            sht.PrintOut '打印工作表- F! w' a* ~: S, q
        End If
: i. P7 F1 c/ _8 |) p' H) m& d    Next1 X. {1 m; O. u3 _* y
End Sub
3 r, t$ \+ V9 g. }( i- J' q1 r________________________________________________
. l) v$ p6 [1 U  Y& n+ Z; I% A
4 ?2 d8 O# H8 q; _, w3)光标置于代码中任意位置,并按F5键执行代码,活动工作簿中所有非空表都会瞬间打印出来
8 S2 i6 \* I  ~4 L  O- m5 R9 J# a语法补充:
5 W+ d; O: O3 e) H6 U$ }' v1.UsedRange代表工作表的已用区域,如果已用区域是空白的,那么通过IsEmpty判断时将返回True# k. G& }# Q. F! g# A

  J( Z( \8 E% \/ X2 N9 {三:批量设置页脚
: d+ N" q7 P" H4 @# W8 n案例要求:

$ D7 S8 I+ D0 }- O- L( u瞬间设置所有工作表的页脚,包括日期和页安适
+ Y+ {- G- i/ U5 v4 [. i7 G" z$ Z知识要点:PageSetup6 C+ H" g# D7 K# P; Q8 `2 N
实现步骤:
# e2 q8 c$ P. t9 L3 z- I+ I
% ^" M. e7 G) }
1).单击菜单【插入】\【模块】;# M( s1 a4 k) V4 V4 t6 a6 ?  w" _

# T% F; w: _. y2).在模块代码窗口输入以下代码:9 ]0 J4 ?. b- p" _* O% D6 ^0 u& Q1 c
________________________________________________5 M  w2 ^* b8 n2 _7 ]

, S) P1 t+ }; o( V, V+ o) {Sub 批量设置页脚()
) `7 e6 @& Y  o5 i  Dim sht As Object   '声明对象变量,只能用Object,否则遇到图表会出错( ?1 H- E5 C3 D8 i4 `2 I  ]" u6 P
  For Each sht In Sheets  '遍历所有表
1 q$ i* W, F0 i& l; L  T    If sht.Name <> "总表" Then '如果不是"总表"
; K* K! X& D+ t1 T, ?      With sht.PageSetup    '页面设置% _- i% }" d# `5 v0 S; ?
        .LeftFooter = "&D"    '左边显示日期
* V! Z. w) ^) N( I        .RightFooter = "&P页 总&N"    '右边显示页数
. t: m+ d/ C5 R* d% ?6 ?' g  h4 q. u% D      End With
' J% P! b% ]' X8 v    End If
8 m+ @2 @- {; Z; y; J6 @. k) v$ d: K8 w- X  Next
7 o: g" a6 ]/ mEnd Sub" _) z) V: }3 s& Z! ~$ g* @
________________________________________________. t  n+ c) G" P; @) {7 M
- k/ A9 L) O. z' @* W7 g  [
3)光标置于代码中任意位置,并按F5键执行代码,所以工作表都将自动添加页脚。下图是预览状态下的页脚。
; a, _6 V. n+ h! _" K8 X( B* ^4 N2 U  H* C8 o
# {0 R+ J8 d1 \3 y& m% F
图80.1 页脚预览
& R% @" [' C5 Z. s语法补充:! B# m1 B9 @3 o* B
1.PageSetup代表页面设置,它有很多子对象,可以完成“页面设置”对话框中的所有功能设置。
1 m# h8 Q$ v  L: l1 N/ i2.LeftFooter和RightFooter分别代表页脚的左端和右键,设置项“"&D"”表示当前日期,如果需要时间则改用“"&T"”;“"第&P页 总&N页" ”中的“P”代表当前页的编号,而参数“N”代表总页数。

, G( j. ]' h7 n8 A  g! y7 \6 v# F+ k1 N6 M3 i+ R6 {
[ 本帖最后由 罗刚君 于 2010-5-8 18:25 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,

5

主题

0

听众

1842

积分

LV.8

Rank: 8Rank: 8

签到天数: 41 天

[LV.5]常住居民I

金币
347
威望
4997
帖子
488
精华
0
发表于 2010-5-8 21:30 |显示全部楼层
学习,写罗版!
实习生实习......
回复

使用道具 举报

0

主题

0

听众

312

积分

LV.4

Rank: 4

该用户从未签到

金币
6
威望
838
帖子
66
精华
0
发表于 2013-10-21 21:26 |显示全部楼层
继续学习。
回复

使用道具 举报

110

主题

18

听众

2万

积分

LV.17

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

签到天数: 1186 天

[LV.10]以坛为家III

金币
2075
威望
66962
帖子
4077
精华
0

优秀会员奖 活跃会员奖

发表于 2014-12-7 16:36 |显示全部楼层
学习一下     
回复

使用道具 举报

110

主题

18

听众

2万

积分

LV.17

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

签到天数: 1186 天

[LV.10]以坛为家III

金币
2075
威望
66962
帖子
4077
精华
0

优秀会员奖 活跃会员奖

发表于 2015-4-5 10:46 |显示全部楼层
jsdbplt 发表于 2014-12-7 16:36 , _6 w8 x! x3 U( A1 \. ~# Y- l
学习一下
( `  B! f4 ?2 Q7 u: o* U
了解一下            
回复

使用道具 举报

110

主题

18

听众

2万

积分

LV.17

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

签到天数: 1186 天

[LV.10]以坛为家III

金币
2075
威望
66962
帖子
4077
精华
0

优秀会员奖 活跃会员奖

发表于 2015-7-19 20:58 |显示全部楼层
jsdbplt 发表于 2015-4-5 10:46
2 Q9 F& T5 \$ i5 b了解一下

- ~& w1 e8 U4 I参考一下                        
回复

使用道具 举报

110

主题

18

听众

2万

积分

LV.17

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

签到天数: 1186 天

[LV.10]以坛为家III

金币
2075
威望
66962
帖子
4077
精华
0

优秀会员奖 活跃会员奖

发表于 2015-11-15 07:16 |显示全部楼层
再看一下                  
回复

使用道具 举报

15

主题

28

听众

1万

积分

活动策划团员

Rank: 14Rank: 14Rank: 14Rank: 14

签到天数: 1191 天

[LV.10]以坛为家III

金币
3574
威望
40369
帖子
11242
精华
0

WPS粉丝团 活跃会员奖 活动策划团 测试体验团 重阳节勋章 优秀会员奖

发表于 2015-11-15 09:18 |显示全部楼层
& a1 Z3 x# n: `* r
感谢分享,支持楼主
回复

使用道具 举报

110

主题

18

听众

2万

积分

LV.17

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

签到天数: 1186 天

[LV.10]以坛为家III

金币
2075
威望
66962
帖子
4077
精华
0

优秀会员奖 活跃会员奖

发表于 2016-3-13 06:53 |显示全部楼层
jsdbplt 发表于 2015-11-15 07:16
; ]/ V/ M+ s$ l$ e( P$ W7 f再看一下
7 z+ ?9 w8 s+ K2 g
继续看                  
回复

使用道具 举报

3

主题

10

听众

9726

积分

LV.15

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

签到天数: 1190 天

[LV.10]以坛为家III

金币
1948
威望
26626
帖子
2797
精华
0

优秀会员奖

发表于 2016-3-13 08:38 |显示全部楼层
4 C3 v* A- n7 a. i2 U" S* y/ x
来学习教程!支持!
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 更多账号登录:

快速回帖:

fastpost

WPS论坛更新日志|WPS Office官方论坛     

GMT+8, 2017-11-25 09:50

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部