直接调用Excel中的函数的方法(转贴)
直接调用Excel中的函数的方法,示例如下:51Testing软件测试网Vh(dhI:e:X|n^
[Copy to clipboard]
X+q$Vz:h"h!|:I'{0CODE:51Testing软件测试网1O|yDq.iXNi 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软件测试网]C3wM3ulw
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@
(一) 使用动态创建的方法
首先创建 Excel 对象,使用ComObj:51Testing软件测试网%omzshv`;B|
,xBSg0oZ$O p0oExcel = CreateObject( "Excel.Application" )51Testing软件测试网8p[F0J(c
y
H ^QA7u}
B01) 显示当前窗口:
"y1~b,r\bjbs0oExcel.Visible = True51Testing软件测试网;a%q dPufB
2) 更改 Excel 标题栏:51Testing软件测试网s3M~V;c#Bv2n3W
oExcel.Caption = "应用程序调用 Microsoft Excel"51Testing软件测试网*h#m4xx ^
wKa5q+r03) 添加新工作簿:
GsF^,A0oExcel.WorkBo感谢对我们的支持~s.Add51Testing软件测试网;G{$n0qJ r
4) 打开已存在的工作簿:
"rz'n/dG;~f!tKdL&Cz0oExcel.WorkBo感谢对我们的支持~s.Open( "C:\Excel\Demo.xls" )51Testing软件测试网8Jf2Iw/h
5) 设置第2个工作表为活动工作表:
GwvCrU4R'X0oExcel.WorkSheets(2).Activate51Testing软件测试网5M&hX$i x%^3g
或51Testing软件测试网
eM%p3K@f'])V
oExcel.WorksSheets( "Sheet2" ).Activate
6) 给单元格赋值:
:E"|l
T
[l7I8m3b4p6J0oExcel.Cells(1,4).Value = "第一行第四列"51Testing软件测试网[2eT1G;}N
1l9e5P9l+^*Ddl6V07) 设置指定列的宽度(单位:字符个数),以第一列为例:51Testing软件测试网kJEhU 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
9) 在第8行之前插入分页符:
6n+c]rV8`LR0oExcel.WorkSheets(1).Rows(8).PageBreak = 151Testing软件测试网0S"~ f i)N\
10) 在第8列之前删除分页符:
3QW~%Vs;dw'M0oExcel.ActiveSheet.Columns(4).PageBreak = 051Testing软件测试网L#q4tp4d SW%a1@
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
12) 清除第一行第四列单元格公式:51Testing软件测试网$vd[@.Etv"pP
oExcel.ActiveSheet.Cells(1,4).ClearContents51Testing软件测试网ZO5NW$dMF2r_
G8I;]+[$h013) 设置第一行字体属性:
7Hj%qB
R6iY0oExcel.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
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.页面垂直居中:
.@[4PlL$FH6Kv0oExcel.ActiveSheet.PageSetup.CenterVertically = 2/0.03551Testing软件测试网9Qvp/X6r s
k.打印单元格网线:51Testing软件测试网5I:mC7q-~K
oExcel.ActiveSheet.PageSetup.PrintGridLines = True
9Fo'jNm4_&Zu015) 拷贝操作:51Testing软件测试网l {C5X{x1e
51Testing软件测试网 L1c;}Byl/la.拷贝整个工作表:51Testing软件测试网
r[`"C
UYU
oExcel.ActiveSheet.Used.Range.Copy
2]6M3^h6A4Z%O0b.拷贝指定区域:51Testing软件测试网`siy{'i{;^|
oExcel.ActiveSheet.Range( "A1:E2" ).Copy
K7w pf0?U:t?0c.从A1位置开始粘贴:51Testing软件测试网K%c#pN1ZJ;n
oExcel.ActiveSheet.Range.( "A1" ).PasteSpecial