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

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

[VBA/VBS教程] 【WPS出书】利用VBA打造一款WPS演示版简易四则计算器

[复制链接]

318

主题

22

听众

4779

积分

LV.12

Rank: 12Rank: 12Rank: 12

该用户从未签到

金币
96
威望
8218
帖子
3819
精华
12

最佳教程奖 世博会馆馆长

发表于 2010-7-26 07:13 |显示全部楼层
分享到: 新浪微博 腾讯微博
WPS独家约稿文章,严禁任何网站或刊物转载
6 M1 p1 j  @' L: A- C
- e: l" K+ }7 |. Z2 k! s

2 ~% {6 E* H. ~0 M! c! J7 L! q/ R
“Yes I can!”没有做不到,只有想不到!
——利用VBA打造一款WPS演示版简易四则计算器

8 |- Z, u6 y9 U
/ p% ~0 A* J& w+ c2 b
WPS演示强大的简报制作功能早已经被用户所接受,但谁又能想到,在它简明快捷的操作界面背后,还有许多不为人知的秘密。笔者发现,只要为WPSOffice安装vba环境,借助于控件工具箱中的相关控件,通过简单的编程即可轻松打造出一款简易的四则计算器(如图1)。
3 A: |  y: j9 i- o+ l1 F9 |
! q! L3 \0 v7 K9 N  l
  n: G$ D6 X  T/ T' O) f! [
图1

" j$ O2 |( X2 \7 G' {" |
; I; I& l& u0 S: N& U: n具体操作方法如下:
7 Y" h; ?1 G# @+ c
) f8 E6 o- r7 h1、运行WPS演示2010新建一张空白幻灯片,将其背景设为深灰色,利用绘图工具绘制出两个圆角矩形,并将其填充色设为蓝绿色,线条色设为无色(如图2)。5 m, v( G3 R# r; d8 G: ~5 ]6 K
$ f) S5 c* o% H( D. C6 ^7 m# L

5 u, |. x6 L  A2 k) {9 k* n. ~1 L2 h
图2

! s0 I) G' q: i( w! M, `9 o5 A8 W1 Z! \. v2 }. v' i8 x8 x5 l  f
2、依次插入四个文本框,输入相关提示性的文字,合理设置文字的字体、字号、颜色(如图3)。( Q3 W% q# t$ i6 |: e& q

4 e: n; `- g: c4 x+ g# @) d- Q

1 d- p* @6 d! y) O- [/ s$ f
图3
& n9 K: d" D5 f# ^
0 ]. t# X$ d3 y" V: n$ x6 T: P" r6 x
3、在“常用工具栏”右侧的空白位置单击鼠标右键,在弹出的快捷菜单中单击“控件工具箱”命令(如图4),请出今天的主角。/ J8 D/ f" t" a  w6 a

1 o' t  e3 _9 g- B0 I5 D# ]
( L) }* z/ H* O# S  k( Q/ h
图4
+ `5 {6 e  y, T* \- x5 ~. p

7 E7 I, \; f  n  U: C* v# w4、单击“控件工具箱”里的“文本框”按钮,按下鼠标左键拖动,在合适位置绘制出三个文本框(如图5)。
  _8 P! M7 u9 d& D, @( H
' ^3 o+ i4 Y+ P/ M  F# @% D9 {" p
, j) G1 P, j$ V# d) q
图5

! }& I6 V. p0 q  C, o- v/ O- k% d2 T1 @4 l, c
5、单击“控件工具箱”里的“命令按钮”按钮,按下Shift同时拖动鼠标,在合适位置绘制出四个正方形命令按钮后,再松开Shift键,绘制出一个长方形命令按钮(如图6)。0 _1 t( Q7 O" u2 L, `

" {9 @* X+ U$ v) G0 C

6 _' R5 t, F5 u& S( @. a
图6
' o2 `9 g8 a1 b- p. Z

' M! P  C: K7 ]3 x/ {/ f" N& v6、在第一个文本框控件上单击鼠标右键,在弹出的快捷菜单里单击“属性”命令(如图7),0 f/ k$ Z( o' O* K1 r# \
4 \/ K/ ^2 ?. D' g
4 @- A; o* y$ v8 b9 B
图7

& y! B! u; e# ?1 o7 C1 Y+ K; G9 L) x' |
在弹出的“属性”对话框里,单击“Font”选项右侧的“…”按钮(如图8),
) A& N& J( c. G5 v# R, |/ |( j/ p! v& [) O( r' j

$ ?/ z- t0 `  @; u8 g
图8

, W5 X: y1 m( {4 l& O7 B8 k" J! V: z  ~) q1 I! _  A+ a; C8 x
在弹出的“字体”对话框里设置文本的相关属性(如图9);
/ Q  o8 g* V9 K) d3 |6 ?
# M- @& k0 c  G/ Z" D
- [' f6 B; S' k& _  @
图9
2 R. b, U. q6 d5 Y/ z: G( ^3 @
+ U9 `' b4 A$ {  F3 Y
依次设置另外两个文本框的字体属性。
# i1 B, a9 D& @% D6 A+ {1 G- T- T5 K- X- L
7、选中第一个命令按钮,将其“Caption”属性改为“+”(如图10),再单击“Font”选项右侧的“…”按钮,在弹出的“字体”对话框里设置文本的相关属性。依次将其余几个命令按钮的“Caption”属性分别改为“-、*、/、清空”,并设置文本的相关属性。
  L$ B6 {$ r0 K2 V% ]! @4 }, w. N: {' O: L) e3 H( S

& d1 A3 U: M* u
图10

: z9 N  N5 x( L% b& `
  Y- ^# H* ~% W# B8、现在到了最关键的一步,双击第一个文本框控件,在弹出的“Microsoft Visual Basic”代码窗口中输入以下语句(如图11)后关闭代码窗口。
, }5 a- W6 d+ y2 S* s( R! i& t8 T8 N8 G5 U
3 v; l* Z6 K0 O6 u* d  J
图11

+ G7 A9 w2 P8 k- [" V
" c8 ~* [7 r3 v) KOption Explicit
9 i/ j( N2 B' Z" j% ~: W( A; a8 j% Y# h( N" q1 |2 t  K: `
Dim op1 As Double% i5 `! ^* C/ {9 G7 ]1 b5 k% p4 t

) D7 _% Q: ]& |  z/ [Dim op2 As Double* G6 w" f. o: B# X. C: v& b& Q

6 j" Q7 P" h# E$ m% X4 ?' `* d) X8 P0 xDim sum As Double' ~, Q3 J4 ~; s2 |* c7 I- A

# s) m; s$ ^2 OPrivate Sub CommandButton5_Click()
# b: E: O( H+ U: o8 i: E6 l6 ~1 e7 c( v
TextBox1.Value = ""
5 Y6 A+ v% ?# F! {7 y: |* ~
$ c% q, Z# c, E, X6 ?! p2 y' qTextBox2.Value = ""5 u, r- H  K7 ?0 Y$ ?# w$ E9 r
) R: d$ @3 A: M- r! K
TextBox3.Value = ""  U* t$ a; ]/ {0 d* ^$ i
; Z3 K4 B" K! ^2 E$ l
End Sub1 J- D' N- Z0 v0 H9 t. ~

! n4 d) ~8 h3 k- [Private Sub CommandButton1_Click()
1 X) x6 R! o' J( U5 v% h/ N+ _' ^2 P! Q
op1 = Val(TextBox1.Text)0 Y% H( e& B7 }, ?& M5 E

& I, R% w9 v$ Bop2 = Val(TextBox2.Text)( W; \  k1 U, d  g+ d6 \8 L3 z2 F
) f$ M; C  {1 N# S! I  F
sum = op1 + op2
; i: L8 V5 Y5 M% w3 O/ ?" |* D+ O6 J5 n1 |2 X2 Q6 W, Y
TextBox3.Text = Str$(sum)
- X& g* H* g, S; ]" H0 Z. q- `. N2 @: E; I# o& T) u
End Sub* R8 e3 o8 b9 L" c. r+ j
7 @9 n: ^  n2 S
Private Sub CommandButton2_Click()
9 n- x, Q# A/ j
7 G6 w% w9 J9 Vop1 = Val(TextBox1.Text)$ J- R" x; u9 c! D8 L+ z
0 j' I: @3 q; k
op2 = Val(TextBox2.Text)6 ?7 z. [+ K1 {' v8 P
* {- c/ Q7 ]+ H7 G
sum = op1 - op2
& G, i% ?( M) @, A( M. _
7 y5 ?% }: y) |& c9 ^TextBox3.Text = Str$(sum)5 n* z  B) V8 j2 `0 Z

  H+ G9 @4 g0 P" X6 V8 _1 v% \% PEnd Sub
) S6 l9 D/ }1 _$ N! g; u! M6 z& k) \1 \4 j
Private Sub CommandButton3_Click()( ~+ M8 _/ O/ ]2 b2 O6 U
! Z9 r" w: }* X* a& W
op1 = Val(TextBox1.Text)
" K: C1 J3 V# ^. Q
* I# D0 a4 z" e' Q( O" fop2 = Val(TextBox2.Text)! t2 a- v% @$ Y5 d) \+ p

8 j3 g" R, ^& d7 k, }sum = op1 * op2. O# R/ L% L7 `

# ^0 q6 H% V# ITextBox3.Text = Str$(sum)
: }" E, ^+ O1 X5 L
! E$ D. x2 O, W" H/ B3 }$ \End Sub- o8 T1 p  s% \& b. T& v% q

' @3 k; H, ?) mPrivate Sub CommandButton4_Click()5 \/ @* \. z  W

6 J3 [- t( C: J6 S1 U+ Vop1 = Val(TextBox1.Text)/ v& _) M  U$ c1 m! x

. W) Z  D6 Q( k& u8 F7 T0 oop2 = Val(TextBox2.Text)% p3 w# ]/ s5 {# J3 c8 u9 M

5 b' ~' }! [6 GIf op2 = 0 Then TextBox2.Text = "“0”不能作除数!" Else TextBox3.Text = Str$(op1 / op2)
3 h+ e/ u: _. ^& W2 b) V8 G( ~; n
End Sub. B* S( [9 @$ U' K
2 N1 ^$ r. R, n/ z

: }5 ]- r2 v; G% ^4 Q8 X2 R6 t! P+ {Private Sub TextBox1_Change()
7 ?- g  L' |" P4 p0 c6 @$ r, H" o
4 H2 \" n: U7 P+ f
. h1 W% K; S. J* aEnd Sub
  _1 Y( a5 b* h5 `! s4 `+ [7 E! d  W" y1 T! L

. u6 `- o  C5 ^3 X$ X2 HPrivate Sub TextBox2_Change()3 z3 O: X9 ]0 d  n& }! I2 r+ N
. x8 b; T5 I( u  K; T( m

. ]' g: d" L3 {' X9 P% V% REnd Sub
, e% Z3 S" U: T  \6 s( [+ K% c$ [8 m3 d) }
' d" F; T, h6 Z+ b9 Y
    存作品后,按下F5键放映幻灯片,在前两个文本框控件里输入相关数值后,单击相应的运算按钮,即可看到运算结果(如图1)。( o! @2 \5 L( v

. L# _* K2 G: R: @% p0 c    熟练掌握VBA工具以后,利用WPS演示还可以轻松完成更加复杂的任务,敬请一试。& p* k# Y6 O+ ?4 R9 m) D. Q0 w5 i
, W$ \- M0 I" r+ x( G% \

# B' [- Y3 c% z, k% K
全文完

本帖子中包含更多资源

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

与屠夫、北方等朋友合著《揭秘——优秀PPT这样制作》,电子工业出版社出版。
宣传片视频:http://v.youku.com/v_show/id_XMjg5MTc5NDUy.html
当当网:http://product.dangdang.com/product.aspx?product_id=22452344&ref=comm_1_A
我的微博:http://weibo.com/1688891097/
我的优酷:http://v.youku.com/v_show/id_XMjM5NzA5NDU2.html

318

主题

22

听众

4779

积分

LV.12

Rank: 12Rank: 12Rank: 12

该用户从未签到

金币
96
威望
8218
帖子
3819
精华
12

最佳教程奖 世博会馆馆长

发表于 2010-7-26 07:19 |显示全部楼层
8、现在到了最关键的一步,双击第一个文本框控件,在弹出的“Microsoft Visual Basic”代码窗口中输入以下语句(如图11)后关闭代码窗口。

7 W" \4 {4 u! n, I. l
6 B2 o4 j3 y! B. H9 u% l
. W- U" D: v5 F0 d0 f, q8 Y0 n5 t
Option Explicit

8 `6 k. a% }8 H7 T  K% Q9 T% A8 N
Dim op1 As Double

7 u6 O" |. o: h+ b
Dim op2 As Double

9 S+ t  F' q( o8 o6 j" w! x) W2 Y
Dim sum As Double

) V: t; F6 I2 W0 v/ M- c' L
Private Sub CommandButton5_Click()

& G! R/ L) ]& T8 J* j
TextBox1.Value = ""

  j( T) A- r7 V2 A
TextBox2.Value = ""

8 v3 Q/ j2 w& z
TextBox3.Value = ""

0 R) q5 k% I& |* j6 n
End Sub
5 P( d9 |; @7 p8 W% d. a
Private Sub CommandButton1_Click()

# V4 Z8 ~; \3 W" b0 F
op1 = Val(TextBox1.Text)
0 v- K, g! Y! T3 U: {
op2 = Val(TextBox2.Text)

' p$ p2 F# H9 O6 d
sum = op1 + op2
" z0 h7 h+ n8 Y5 M! K! K' x  z
TextBox3.Text = Str$(sum)

) U1 C+ M! ?3 x1 a2 Q. ^
End Sub
* }  H& P! S* M
Private Sub CommandButton2_Click()

: M4 P7 l( b3 [, c/ ]2 O3 U
op1 = Val(TextBox1.Text)
% N& |4 y3 B! ]! V% D! y$ j
op2 = Val(TextBox2.Text)
/ V2 ?, t6 f- Y; o) S9 q0 @6 w$ I8 v
sum = op1 - op2

. ~# j- Q$ W" G* U
TextBox3.Text = Str$(sum)
5 {5 X* Y7 N8 M- x. Z: x# X
End Sub

. s& R( d9 o! u
Private Sub CommandButton3_Click()

! c% R  H  y, \' {
op1 = Val(TextBox1.Text)

) H6 R$ f# ]2 F
op2 = Val(TextBox2.Text)

" g4 X2 y* y! g/ ?% d
sum = op1 * op2
! j1 C% ]1 v/ `& W/ T- d7 {( d
TextBox3.Text = Str$(sum)

0 V: N) t" I* U3 v; X3 j
End Sub

0 ?8 G4 m  \1 {; x1 M
Private Sub CommandButton4_Click()

+ f  T$ y- ]9 R& W
op1 = Val(TextBox1.Text)
: @' ]% I' u0 I8 y; V
op2 = Val(TextBox2.Text)
" O5 h$ s3 Z) |* S
If op2 = 0 Then TextBox2.Text = "“0”不能作除数!" Else TextBox3.Text = Str$(op1 / op2)

) ~( x* r3 ~7 A, j. B$ k- s
End Sub
' h" c2 u" w3 i: V; N
7 E3 X3 h# I2 U; g* c2 Y
Private Sub TextBox1_Change()
* O' y7 u6 {+ z
! y- ~* f4 c$ l+ B- v1 g
End Sub
) {# R2 L  f  V5 T2 `

5 y2 j, a( J3 y% N* J7 s8 f1 V, `
Private Sub TextBox2_Change()
9 A4 C$ g" ?# n6 c& H3 Y
1 Q" T7 ]* i/ n
End Sub

4 O5 V( Z' @4 d& M5 `
0 D0 Z. A  c$ |  ]0 q
    存作品后,按下F5键放映幻灯片,在前两个文本框控件里输入相关数值后,单击相应的运算按钮,即可看到运算结果(如图1)。
% Y/ A  W0 F7 K
    熟练掌握VBA工具以后,利用WPS演示还可以轻松完成更加复杂的任务,敬请一试。
* u; f& t! H- X) m! V
) y) y5 }6 j! `

2 |! C1 F, O  V- T6 f

6 @/ d3 h: r7 i7 o; X
    说明:以上代码是通过对其他朋友作品的分析、改造获取的,由于时间久远,原作者信息已经忘记,特此说明并致谢意。
8 k2 q+ e' N; m1 g# D& y

本帖子中包含更多资源

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

与屠夫、北方等朋友合著《揭秘——优秀PPT这样制作》,电子工业出版社出版。
宣传片视频:http://v.youku.com/v_show/id_XMjg5MTc5NDUy.html
当当网:http://product.dangdang.com/product.aspx?product_id=22452344&ref=comm_1_A
我的微博:http://weibo.com/1688891097/
我的优酷:http://v.youku.com/v_show/id_XMjM5NzA5NDU2.html
回复

使用道具 举报

134

主题

2

听众

1148

积分

LV.6

Rank: 6Rank: 6

签到天数: 1 天

[LV.1]初来乍到

金币
24
威望
2255
帖子
626
精华
2

灯谜超人 最佳教程奖

发表于 2010-7-26 07:27 |显示全部楼层
后两句代码是没用的。
- i0 T& n# a+ T, m5 L! O3 xPrivate Sub TextBox1_Change()$ y+ z  _. c: k+ F7 A
End Sub7 V; \1 y7 R3 r4 T
Private Sub TextBox2_Change()$ @1 ^% e! y$ B) w- l
End Sub
回复

使用道具 举报

38

主题

11

听众

3735

积分

版主

PHP+MING

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

该用户从未签到

金币
182
威望
8743
帖子
1429
精华
1
发表于 2010-7-26 07:56 |显示全部楼层
有了控件的支持,如虎添翼了!
回复

使用道具 举报

9

主题

0

听众

120

积分

LV.2

Rank: 2

该用户从未签到

金币
15
威望
129
帖子
37
精华
0
发表于 2010-7-26 10:06 |显示全部楼层
不错
回复

使用道具 举报

318

主题

22

听众

4779

积分

LV.12

Rank: 12Rank: 12Rank: 12

该用户从未签到

金币
96
威望
8218
帖子
3819
精华
12

最佳教程奖 世博会馆馆长

发表于 2010-7-26 12:27 |显示全部楼层
感谢北方兄指正!那两句代码是后来测试文件时双击控件自动产生的,可以去掉的。:)
与屠夫、北方等朋友合著《揭秘——优秀PPT这样制作》,电子工业出版社出版。
宣传片视频:http://v.youku.com/v_show/id_XMjg5MTc5NDUy.html
当当网:http://product.dangdang.com/product.aspx?product_id=22452344&ref=comm_1_A
我的微博:http://weibo.com/1688891097/
我的优酷:http://v.youku.com/v_show/id_XMjM5NzA5NDU2.html
回复

使用道具 举报

166

主题

4

听众

3105

积分

LV.10

Rank: 10Rank: 10Rank: 10

该用户从未签到

金币
2
威望
6271
帖子
2122
精华
0

灯谜超人 测试体验团

发表于 2010-7-26 12:55 |显示全部楼层
过来支持一下。思路明晰。。。。继续出精品啊。
回复

使用道具 举报

54

主题

30

听众

1万

积分

测试体验团员

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

签到天数: 738 天

[LV.9]以坛为家II

金币
2524
威望
23920
帖子
8084
精华
0

WPS粉丝团 活跃会员奖 测试体验团

发表于 2010-8-31 13:25 |显示全部楼层
过来支持一下。思路明晰。。。。继续出精品啊。
回复

使用道具 举报

54

主题

30

听众

1万

积分

测试体验团员

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

签到天数: 738 天

[LV.9]以坛为家II

金币
2524
威望
23920
帖子
8084
精华
0

WPS粉丝团 活跃会员奖 测试体验团

发表于 2010-9-5 15:06 |显示全部楼层
:victory: :victory:
回复

使用道具 举报

7

主题

0

听众

78

积分

LV.2

Rank: 2

签到天数: 1 天

[LV.1]初来乍到

金币
1
威望
181
帖子
30
精华
0
发表于 2014-3-27 16:32 |显示全部楼层

/ @+ _& m. ]5 B4 n# h签与不签,我还是会签到
回复

使用道具 举报

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

快速回帖:

fastpost

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

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

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部