所有文章均来自网络(除测试总结部分),如果涉及到版权问题请与我联系,我会及时删除~~~~

直接调用Excel中的函数的方法(转贴)

上一篇 / 下一篇  2007-01-19 08:36:29

51Testing软件测试网e4R;^%bS.jMZ

直接调用Excel中的函数的方法,示例如下:51Testing软件测试网Vh(dhI:e:X|n^
[Copy to clipboard]
X+q$Vz:h"h!|:I'{0CODE:51Testing软件测试网1O|yDq.iX Ni P
close;51Testing软件测试网cnM&mi9\2ic/B
<%51Testing软件测试网+~0g;h3X/S
Set ōExcel= CreateObject("excel.application")51Testing软件测试网/|s~dc4y,y
oExcel.Visible = True  'Excel是否可视,若赋值为True则可视,但速度会慢得多
\ f`^P[?m0oExcel.Workbooks.Add51Testing软件测试网m&RGc!bU7S|)U U!x
Set ōSheet = oExcel.Workbooks(1).Worksheets("sheet1")
#a;^JB2~y0oSheet.Activate51Testing软件测试网,cwQ.G,k2Qy]7`
  oSheet.Cells(1, 1) = 151Testing软件测试网]C3wM3ul w
  oSheet.Cells(1, 2) = 2
/D]uY z*fZ0  oSheet.Cells(1, 3) = "=SUM(A1:B1)"51Testing软件测试网S{@*}*?d1R&^3@
  oSheet.Cells(1, 4) = "=AVERAGE(A1:B1)"51Testing软件测试网OZ?Xi
Set ōExcel = Nothing51Testing软件测试网#UfU#V+AFQ6LvD
%>51Testing软件测试网6H"y^v&OzC!q'A$vs
VBS控制Excel的一些常见方法:51Testing软件测试网\Ln3[i9@
(一) 使用动态创建的方法

e%Yd6KV VnR051Testing软件测试网]V[6t&A&_w

首先创建 Excel 对象,使用ComObj:51Testing软件测试网%omzshv`;B|

,xBSg0oZ$O p0oExcel = CreateObject( "Excel.Application" )51Testing软件测试网8p[F0J(c

y H ^QA7u} B01) 显示当前窗口:
"y1~b,r\bjb s0oExcel.Visible = True51Testing软件测试网;a%q dPufB

51Testing软件测试网V*PJ'KIvaANY

2) 更改 Excel 标题栏:51Testing软件测试网s3M ~V;c#Bv2n3W
oExcel.Caption = "应用程序调用 Microsoft Excel"51Testing软件测试网*h#m4xx ^

wKa5q+r03) 添加新工作簿:
GsF^,A0oExcel.WorkBo感谢对我们的支持~s.Add51Testing软件测试网;G{$n0qJ r

51Testing软件测试网YYG |?-y7QC'd9F

4) 打开已存在的工作簿:
"rz'n/dG;~f!tKdL&Cz0oExcel.WorkBo感谢对我们的支持~s.Open( "C:\Excel\Demo.xls" )51Testing软件测试网8Jf2Iw/h

51Testing软件测试网 _oG7Na%rq

5) 设置第2个工作表为活动工作表:
Gw vC rU4R'X0oExcel.WorkSheets(2).Activate51Testing软件测试网5M&hX$i x%^3g
51Testing软件测试网 eM%p3K@f'])V
oExcel.WorksSheets( "Sheet2" ).Activate

qcfP!vE+O051Testing软件测试网#l*Uw:i!L m`9n \

6) 给单元格赋值:
:E"|l T [l7I8m3b4p6J0oExcel.Cells(1,4).Value = "第一行第四列"51Testing软件测试网[2eT1G;}N

1l9e5P9l+^*Ddl6V07) 设置指定列的宽度(单位:字符个数),以第一列为例:51Testing软件测试网kJE hU K"bB|
oExcel.ActiveSheet.Columns(1).ColumnsWidth = 551Testing软件测试网StB-BX:x7qq

hNleKQ8q08) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:51Testing软件测试网jgS2ycB&q,W ?
oExcel.ActiveSheet.Rows(2).RowHeight = 1/0.035 ' 1厘米51Testing软件测试网$t r{3T!Z&F-z1uaQ

51Testing软件测试网x VL;g'~){'Gi!deA*L

9) 在第8行之前插入分页符:
6n+c]rV8` LR0oExcel.WorkSheets(1).Rows(8).PageBreak = 151Testing软件测试网0S"~ f i)N \

51Testing软件测试网%kx^F9^n

10) 在第8列之前删除分页符:
3QW~%Vs;dw'M0oExcel.ActiveSheet.Columns(4).PageBreak = 051Testing软件测试网 L#q4tp4dSW%a1@

51Testing软件测试网 al}` ?#nxIb!bkB

11) 指定边框线宽度:51Testing软件测试网o/Dby:j%@
oExcel.ActiveSheet.Range( "B3:D4" ).Borders(2).Weight = 3
(f|d+O:DE0W&}01-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )51Testing软件测试网`%O/t/T9@mgrY

51Testing软件测试网l'L)I1N!wp P

12) 清除第一行第四列单元格公式:51Testing软件测试网$vd[ @.Etv"pP
oExcel.ActiveSheet.Cells(1,4).ClearContents51Testing软件测试网ZO5NW$dM F2r _

G8I;]+[$h013) 设置第一行字体属性:
7Hj%qB R6i Y0oExcel.ActiveSheet.Rows(1).Font.Name = "隶书"51Testing软件测试网&X"B*Uiri&lYG
oExcel.ActiveSheet.Rows(1).Font.Color = clBlue51Testing软件测试网oQ/H9g x)t
oExcel.ActiveSheet.Rows(1).Font.Bold = True51Testing软件测试网?2U#b+?\
oExcel.ActiveSheet.Rows(1).Font.UnderLine = True

"XR8] C6BQ"`i0

A6G_!XvL014) 进行页面设置:51Testing软件测试网s4G"FGJ

51Testing软件测试网F$K2w7P\:U/JF m[

a.页眉:51Testing软件测试网"s;~oPlYF
oExcel.ActiveSheet.PageSetup.CenterHeader = "报表演示"
zd&oFXr"C0b.页脚:
hx*o9zU5p0oExcel.ActiveSheet.PageSetup.CenterFooter = "第&P页"
A!lY*P7oJ)g1e)`yv }0c.页眉到顶端边距2cm:51Testing软件测试网\!L)F'T3li#M`
oExcel.ActiveSheet.PageSetup.HeaderMargin = 2/0.035
:n9m(Lz4M$z0d.页脚到底端边距3cm:51Testing软件测试网q$bE.h:pZ%@`
oExcel.ActiveSheet.PageSetup.HeaderMargin = 3/0.035
?m)`aq.H` Q#Z!w0e.顶边距2cm:
rK q#kV4J(|0oExcel.ActiveSheet.PageSetup.TopMargin = 2/0.03551Testing软件测试网O\7i.sQ#w
f.底边距2cm:
(xxD^TV1[!? V0oExcel.ActiveSheet.PageSetup.BottomMargin = 2/0.03551Testing软件测试网0Ib*Kuc{ T~?r!Y
g.左边距2cm:
(~N1sz ?C0oExcel.ActiveSheet.PageSetup.LeftMargin = 2/0.03551Testing软件测试网kMl'@i
h.右边距2cm:51Testing软件测试网 K6i%T!A/B!Bl8v${-G\
oExcel.ActiveSheet.PageSetup.RightMargin = 2/0.035
qX)q5f(h$o0Nd E0i.页面水平居中:51Testing软件测试网H9`G pR
oExcel.ActiveSheet.PageSetup.CenterHorizontally = 2/0.03551Testing软件测试网 UA9c__4[0i9mX
j.页面垂直居中:
.@lL$FH6Kv0oExcel.ActiveSheet.PageSetup.CenterVertically = 2/0.03551Testing软件测试网9Qv p/X6r s
k.打印单元格网线:51Testing软件测试网5I:mC7q-~K
oExcel.ActiveSheet.PageSetup.PrintGridLines = True

-~,K!gqx"J0

9Fo'jNm4_&Zu015) 拷贝操作:51Testing软件测试网l{C5X{x1e

51Testing软件测试网 L1c;}By l/l

a.拷贝整个工作表:51Testing软件测试网 r[`"C UY U
oExcel.ActiveSheet.Used.Range.Copy
2]6M3^h6A4Z%O0b.拷贝指定区域:51Testing软件测试网`si y {'i{;^|
oExcel.ActiveSheet.Range( "A1:E2" ).Copy
K7wpf0?U:t?0c.从A1位置开始粘贴:51Testing软件测试网K%c#pN1ZJ;n
oExcel.ActiveSheet.Range.( "A1" ).PasteSpecial
Pb3G'SMu$T Vw0d.从文件尾部开始粘贴:51Testing软件测试网Rj:x S{ Jvt"G
oExcel.ActiveSheet.Range.PasteSpecial51Testing软件测试网,d Xq#a%atR3vG

51Testing软件测试网mV"VM2W$w&y

16) 插入一行或一列:51Testing软件测试网 fY}6L5]5ic#X+R5n
a. oExcel.ActiveSheet.Rows(2).Insert51Testing软件测试网%@Z5s-T!g
b. oExcel.ActiveSheet.Columns(1).Insert51Testing软件测试网2D-N`!rIj.K3xb

hX`9n TT0UJ017) 删除一行或一列:51Testing软件测试网xb7`ls:`JK
a. oExcel.ActiveSheet.Rows(2).Delete51Testing软件测试网|Zje6F4~,Y A
b. oExcel.ActiveSheet.Columns(1).Delete

.rt!P P]@*P'@0

{1Y#d4z*fOmr,b018) 打印预览工作表:
;Q)[ ?@2m%J%j_]S0oExcel.ActiveSheet.PrintPreview

9o"LE:~ d%q051Testing软件测试网R(t KWO` pB

19) 打印输出工作表:51Testing软件测试网8M8xD"T$T+s0KYS*G
oExcel.ActiveSheet.PrintOut51Testing软件测试网o0E9h}u&V5y}E'TS;Kv9v

51Testing软件测试网LYN%te4DA7tWM

20) 工作表保存:51Testing软件测试网&d"z(] di9|z _2W
if not oExcel.ActiveWorkBo感谢对我们的支持~.Saved then
wVX8fX xkGNB,q0oExcel.ActiveSheet.PrintPreview51Testing软件测试网1pol8Bcc }#_J];k

51Testing软件测试网W-muq{Zd6C8Y#I4?

21) 工作表另存为:
X{7gU-L0oExcel.SaveAs( "C:\Excel\Demo1.xls" )51Testing软件测试网)cd ` Q?6E6hsf3a

n2@ t;F%v \F{)]022) 放弃存盘:
0}+~3~,y,Jr0oExcel.ActiveWorkBo感谢对我们的支持~.Saved = True51Testing软件测试网)b'R |q X }

V uu*F8]}#k023) 关闭工作簿:
Ld'N$e6H0oExcel.WorkBo感谢对我们的支持~s.Close

|;i0L$C {}x3A0

R5xcm(i~5c Z8~V$a024) 退出 Excel:51Testing软件测试网-O n4p"rD
oExcel.Quit51Testing软件测试网Z$AWLW z9PZ

51Testing软件测试网&dod+g d2y.r

(二) 使用VBS 控制Excle二维图51Testing软件测试网+}"FR"MW;}}1G8u

vU0ok nI-?01)选择当第一个工作薄第一个工作表51Testing软件测试网3S+]7e7BB}
set ōSheet=oExcel.Workbo感谢对我们的支持~s(1).Worksheets(1)

Bf1l`GDd;J0

U[T j1V0yJ3CFG02)增加一个二维图
N z!Ey(t5S(|Zw0achart=oSheet.chartobjects.add(100,100,200,200)51Testing软件测试网D6TQ%M\BE

51Testing软件测试网u9[5c.[%A6j IJ

3)选择二维图的形态
{hN!l g'r Q0achart.chart.charttype=4

N `t#\9t0

BZ8r9p(o[6\9|04)给二维图赋值51Testing软件测试网"a"rg2sH%A
set series=achart.chart.seriescollection
M@AQW[9o0range="sheet1!r2c3:r3c9"51Testing软件测试网-]8fZFn_)j"l3R$Pe
series.add range,true

"Rm.Z1u6Yk!l P~051Testing软件测试网9c{j Ui:cI4\/|w

5)加上二维图的标题
&| g-t,H@5G]:X3iY0achart.Chart.HasTitle=True51Testing软件测试网+WX"l(gke{5wHxK
achart.Chart.ChartTitle.Characters.Text=" Excle二维图"51Testing软件测试网 Z.`*X.r7V"lm Lu pM

51Testing软件测试网*z7@u tgKb@,E8G

6)改变二维图的标题字体大小
`1P ]#LO1F0k0achart.Chart.ChartTitle.Font.size=18

t X`-qV!it*eCVY/?051Testing软件测试网$Cv iDc

7)给二维图加下标说明
v4~lYT0achart.Chart.Axes(xlCategory, xlPrimary).HasTitle = True
QP2Ox.E"b di0achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "下标说明"51Testing软件测试网9x:eJbq'C)c&|^&x

Oc4{H\.}` X08)给二维图加左标说明
&egp`.iz'X8bTl0achart.Chart.Axes(xlValue, xlPrimary).HasTitle = True51Testing软件测试网kW o3]$Kc:s
achart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "左标说明"51Testing软件测试网 M"B UO i3{

/PH3W'?%P7tl ~09)给二维图加右标说明51Testing软件测试网M QbQTD
achart.Chart.Axes(xlValue, xlSecondary).HasTitle = True
2P(l4Fpc4~ wC0achart.Chart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "右标说明"51Testing软件测试网\-Tb8Tq(T"A0O

b'S!@a J2SNDg010)改变二维图的显示区大小
f&?r s7k0achart.Chart.PlotArea.Left = 551Testing软件测试网?*H#w0y |:Ti
achart.Chart.PlotArea.Width = 22351Testing软件测试网|fjp4@;e;O c
achart.Chart.PlotArea.Height = 108

pb7pB? Ro8v3Xx051Testing软件测试网g5T0pG%Ve

 51Testing软件测试网0ch U1MX e5QS


TAG: 其它相关

 

评分:0

我来说两句

日历

« 2024-05-06  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 43731
  • 日志数: 61
  • 建立时间: 2007-01-15
  • 更新时间: 2007-07-23

RSS订阅

Open Toolbar