VFP全面控制EXCEL.docx

上传人:b****6 文档编号:7550036 上传时间:2023-05-11 格式:DOCX 页数:10 大小:23.32KB
下载 相关 举报
VFP全面控制EXCEL.docx_第1页
第1页 / 共10页
VFP全面控制EXCEL.docx_第2页
第2页 / 共10页
VFP全面控制EXCEL.docx_第3页
第3页 / 共10页
VFP全面控制EXCEL.docx_第4页
第4页 / 共10页
VFP全面控制EXCEL.docx_第5页
第5页 / 共10页
VFP全面控制EXCEL.docx_第6页
第6页 / 共10页
VFP全面控制EXCEL.docx_第7页
第7页 / 共10页
VFP全面控制EXCEL.docx_第8页
第8页 / 共10页
VFP全面控制EXCEL.docx_第9页
第9页 / 共10页
VFP全面控制EXCEL.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

VFP全面控制EXCEL.docx

《VFP全面控制EXCEL.docx》由会员分享,可在线阅读,更多相关《VFP全面控制EXCEL.docx(10页珍藏版)》请在冰点文库上搜索。

VFP全面控制EXCEL.docx

VFP全面控制EXCEL

最近正好有空,看到不少人对VFP控制EXCEL有兴趣,现将上次的“精华贴"重新整理一下,供各位爱好者参考!

oExcel。

Selection。

NumberFormatLocal="@"&&把被选定的单元格设为文本格式

1、对象的创建与关闭  *******************************

eole=CREATEOBJECT('Excel.application')                   &&创建Excel对象

eole.Workbooks。

add                                       &&添加新工作簿

eole。

Worksheets(”sheet3").Activate                       &&设置第3个工作表为激活工作表

eole。

Workbooks。

Open(”D:

\ABC\11.xls”)                     &&打开指定工作簿

eole。

visible=。

t.                                         &&显示Excel窗口

eole。

visible=。

F。

                                         &&不显示Excel窗口

eole。

Caption="VFP应用程序调用MicrosoftExcel”             &&更改Excel标题栏

eole。

ActiveWorkbook.SaveAs(”D:

\ABC\22。

xls")              &&工作表另为

eole。

ActiveWorkbook。

saved=。

t.                            &&放弃存盘

eole。

ActiveSheet.UsedRange。

Copy                          &&拷贝整个工作表

eole。

ActiveSheet。

Range("A1:

E2”)。

Copy                     &&拷贝指定区域

eole.WorkSheet("Sheet2”)。

Range(”A1").PasteSpecial        &&粘贴

eole。

ActiveWorkbook.Save                                 &&存盘(自动存盘不提问)

eole。

Workbooks.close                                     &&关闭工作簿

eole。

quit                                                &&退出Excel

2、单元格的设置  ***********************************

eole.ActiveSheet。

Columns(”D:

D").Delete                   &&删除列

eole.ActiveSheet.Columns(”A:

B”).Delete                   &&删除列

eole.ActiveSheet.Columns

(1)。

ColumnWidth=20               &&列的宽度(单位:

字符个数)

eole。

ActiveSheet。

Columns

(2)。

ColumnWidth=30

eole。

ActiveSheet。

Columns("C:

BE").ColumnWidth=9.5

eole。

Selection。

Columns.AutoFit                           &&最适合的列宽

eole.ActiveSheet。

Range(”b3:

d3”)。

Borders

(2).Weight=3      &&指定边框线宽度

                          (其中Borders参数:

1-左、2-右、3-顶、4-底、5-斜、6-斜/;

                               LineStyle值:

1与7-细实、2-细虚、4-点虚、9-双细实线)

eole。

ActiveSheet.Range("A1:

BE29").Borders

(1).LineStyle=1&&设置四个边框线条的类型

eole.ActiveSheet。

Range(”A1:

BE29")。

Borders

(2)。

LineStyle=1&&设置四个边框线条的类型

eole.ActiveSheet.Range(”A1:

BE29").Borders(3)。

LineStyle=1&&设置四个边框线条的类型

eole。

ActiveSheet.Range("A1:

BE29”).Borders(4)。

LineStyle=1&&设置四个边框线条的类型

eole.ActiveSheet.Rows

(1).Insert                          &&在第1行之前插入一行

eole。

ActiveSheet。

Columns

(2).Insert                       &&在第2列之前插入一列

eole.cells(1,2)。

value="ABTMC"                            &&给单元格赋值

eole。

cells(2,2)。

value=”&BBBB"                            &&给单元格赋值

eole.ActiveSheet.Cells(1,4)。

ClearContents                &&清除单元格公式

eole。

ActiveSheet.Rows

(1)。

RowHeight=1/0。

035               &&设置指定行的高度(单位:

磅)

                                                         *(行高为1厘米,1磅=0.035厘米)

eole。

ActiveSheet.ROWS

(1)。

Font.Name=”黑体"                &&设置字体

eole。

ActiveSheet.ROWS

(1)。

Font。

Size=14                    &&设置字体大小

eole。

ActiveSheet.ROWS

(1).Font。

Bold=。

t。

                   &&设置整行字体为粗体

eole.ActiveSheet.Cells(1,1)。

Font。

Italic=。

t.              &&设置字体为斜体

eole。

Range(”A3:

BE3”)。

select

eole。

selection.WrapText=。

T.                            &&自动换行

eole.selection。

HorizontalAlignment=3                     &&水平方向 2左对齐,3居中,4右对齐

eole.selection.VerticalAlignment=2                     &&垂直方向 1靠上 ,2居中,3靠下

eole.Range(”A2:

B2”).select

eole.selection。

MergeCells=。

T。

                          &&合并单元

eole.selection。

HorizontalAlignment=2                     &&水平方向 2左对齐,3居中,4右对齐

eole.selection。

VerticalAlignment=2                     &&垂直方向 1靠上 ,2居中,3靠下

eole。

Range("A5:

M5”)。

select

eole。

Selection.Interior.ColorIndex=34                  &&设置行颜色为[淡兰]

eole。

ActiveSheet。

Range(”A1:

BE29”).NumberFormatLocal=;

"_*#,##0。

00_;_*—#,##0。

00_;_*"+"-"+"?

_;_@_"  &&指定区域内的数字显示格式

3、打印页面的设置  *********************************

eole。

ActiveSheet.PageSetup.HeaderMargin=2/0。

035          &&设置页眉到顶端边距为2厘米  

eole。

ActiveSheet.PageSetup。

FooterMargin=3/0.035          &&设置页脚到底边距为3厘米

eole.ActiveSheet。

PageSetup。

TopMargin=4/0.035             &&设置顶边距为4厘米

eole。

ActiveSheet。

PageSetup.BottomMargin=4/0。

035          &&设置底边距为4厘米

eole.ActiveSheet。

PageSetup.LeftMargin=2/0.035            &&设置左边距为2厘米

eole.ActiveSheet。

PageSetup.RightMargin=2/0.035           &&设置右边距为2厘米

eole.ActiveSheet。

PageSetup。

CenterHorizontally=.t.        &&设置页面水平居中

eole。

ActiveSheet.PageSetup.CenterVertically=。

t.          &&设置页面垂直居中

eole.ActiveSheet。

PageSetup.PaperSize=8                   &&设置页面纸张大小

                                                           (1-窄行851139-宽行1411)

eole.ActiveSheet.PageSetup.Orientation=2                 &&横向

eole.ActiveSheet。

PageSetup。

PrintTitleRows="$1:

$3"        &&定义固定行

eole.ActiveSheet.PageSetup.PrintTitleColumns="$A:

$C”     &&定义固定列

eole.ActiveSheet.PageSetup.CenterHeader=”&14&BTMC"      &&设置页眉

eole。

ActiveSheet.PageSetup。

CenterFooter=”表__第&P页"      &&设置页脚

eole。

Worksheets(”Sheet1")。

Rows(18)。

PageBreak=1           &&在第18行之前插入分页符

eole.ActiveSheet.Columns(4)。

PageBreak=0                  &&在第4列之前删除分页符

eole。

ActiveSheet。

PageSetup.PrintGridlines=.t.            &&打印单元格网线

eole。

ActiveSheet.PrintPreview                            &&打印预览工作表

eole.ActiveSheet。

PrintOut                                &&打印输出工作表

oExcel.ActiveSheet.PageSetup.Zoom=90&&缩放90%

4、记录条数的利用  *********************************

一般来讲,EXCEL表的来源为DBF文件,列、行应该是可以预知的

USE111

COUNTTOAAA

USE

FWQ  ="A3:

M”+ALLT(STR(AAA+?

))  ?

为EXCEL表插入的行数

eole.ActiveSheet.Range(FWQ)。

Borders

(1).LineStyle=1       &&设置四个边框线条的类型

eole.ActiveSheet。

Range(FWQ).Borders

(2).LineStyle=1       &&设置四个边框线条的类型

eole.ActiveSheet。

Range(FWQ).Borders(3).LineStyle=1       &&设置四个边框线条的类型

eole.ActiveSheet。

Range(FWQ).Borders(4).LineStyle=1       &&设置四个边框线条的类型

5、VFP下直接调用EXCEL、WORD文件  *********************************

DECLAREINTEGERShellExecuteINshell32。

DLLINTEGERHWND,STRING,;

                        STRINGlpszFile,STRING,STRING,INTEGER

operate=”open"

ShellExecute(0,operate,"C:

\111.XLS",0,0,1)               &&EXCEL文件

ShellExecute(0,operate,”C:

\111。

DOC”,0,0,1)               &&WORD文件

****************************************

VFP全面控制EXCEL

本文来自CSDN博客:

http:

//blog。

VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。

比如我们可以利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。

这就需要我们在VFP中直接来控制Excel。

下面就在开发VFP应用项目时对Excel的控制作一下介绍:

*!

*1.创建Excel对象

oExcel=Createobject("Excel.application")

*!

*2.添加新工作簿

oExcel。

Workbooks。

Add

 

*!

*3.设置第3个工作表为激活工作表

oExcel.Worksheets("sheet3”)。

Activate

 

*!

*4.打开指定工作簿

oExcel。

Workbooks.Open(”c:

\temp\ll。

xls")

 

*!

*5.显示Excel窗口

oExcel。

Visible=.T.

 

*!

*6.更改Excel标题栏

oExcel。

Caption=”VFP应用程序调用MicrosoftExcel"

 

*!

*7.给单元格赋值

oExcel。

cells(1,4).Value=XM(XM为数据库字段名)

 

*!

*8.设置指定列的宽度(单位:

字符个数)

oExcel。

ActiveSheet.Columns

(1)。

ColumnWidth=5

 

*!

*9.设置指定行的高度(单位:

磅)

oExcel。

ActiveSheet。

Rows

(1).RowHeight=1

(设定行高为1磅,1磅=0。

035厘米)

oExcel.ActiveSheet。

Rows("50:

100")。

RowHeight=1&&设置第50行至100行的高度

 

*!

*10.在第18行之前插入分页符

oExcel。

Worksheets("Sheet1").Rows(18).PageBreak=1

 

*!

*11.在第4列之前删除分页符

oExcel.ActiveSheet。

Columns(4).PageBreak=0

 

*!

*12.指定边框线宽度(Borders参数如下)

ole。

ActiveSheet.Range(”b3:

d3”)。

BorderS

(2).Weight=3

 

*!

*13.设置四个边框线条的类型

oExcel.ActiveSheet.Range("b3:

d3”)。

BorderS

(2).LineStyle=1

(其中Borders参数:

1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:

1与7-细实、2-细虚、4-点虚、9-双细实线)

 

*!

*14.设置页眉

oExcel.ActiveSheet.PageSetup。

CenterHeader="报表1”

 

*!

*15.设置页眉(字体大小)

oExcel。

ActiveSheet。

PageSetup.CenterHeader="&50报表1"&&’&'后面的50可以自定义,表示字体的大小

 

*!

*16.设置页脚

oExcel.ActiveSheet.PageSetup。

CenterFooter="第&P页"

 

*!

*17.设置页脚(字体大小)

oExcel。

ActiveSheet.PageSetup。

CenterFooter="&28第&P页"&&'&'后面的28可以自定义,表示字体的大小

 

*!

*18.设置页眉到顶端边距为2厘米

oExcel。

ActiveSheet。

PageSetup。

HeaderMargin=2/0.035

 

*!

*19.设置页脚到底边距为3厘米

oExcel。

ActiveSheet。

PageSetup。

FooterMargin=3/0。

035

 

*!

*20.设置顶边距为2厘米

oExcel。

ActiveSheet.PageSetup.TopMargin=2/0.035

 

*!

*21.设置底边距为4厘米

oExcel.ActiveSheet.PageSetup。

BottomMargin=4/0.035

 

*!

*22.设置左边距为2厘米

oExcel.ActiveSheet.PageSetup.LeftMargin=2/0。

035

 

*!

*23.设置右边距为2厘米

oExcel。

ActiveSheet。

PageSetup.RightMargin=2/0。

035

 

*!

*24.设置页面水平居中

oExcel.ActiveSheet.PageSetup。

CenterHorizontally=。

T.

 

*!

*25.设置页面垂直居中

oExcel。

ActiveSheet。

PageSetup。

CenterVertically=。

T.

 

*!

*26.设置页面纸张大小(1-窄行851139-宽行14119:

A4)

oExcel。

ActiveSheet.PageSetup.Papersize=1

 

*!

*27.打印单元格网线

oExcel.ActiveSheet.PageSetup。

PrintGridlines=。

T。

 

*!

*28.拷贝整个工作表

oExcel。

ActiveSheet.UsedRange。

Copy

 

*!

*29.拷贝指定区域

oExcel.ActiveSheet。

Range(”A1:

E2")。

Copy

 

*!

*30.粘贴

oExcel。

WorkSheet(”Sheet2”)。

Range("A1")。

PasteSpecial

 

*!

*31.在第2行之前插入一行

oExcel。

ActiveSheet。

Rows

(2)。

Insert

 

*!

*32.在第2列之前插入一列

oExcel。

ActiveSheet.Columns

(2)。

Insert

 

*!

*33.设置字体

oExcel。

ActiveSheet.Cells(2,1).Font。

Name=”黑体”

 

*!

*34.设置字体大小

oExcel。

ActiveSheet.Cells(1,1)。

Font。

Size=25

 

*!

*35.设置字体为斜体

oExcel.ActiveSheet.Cells(1,1).Font。

Italic=。

T.

 

*!

*36.设置整列字体为粗体

oExcel.ActiveSheet。

Columns

(1).Font.Bold=。

T。

 

*!

*37.清除单元格公式

oExcel。

ActiveSheet。

Cells(1,4).ClearContents

 

*!

*38.打印预览工作表

oExcel.ActiveSheet.PrintPreview

 

*!

*39.打印输出工作表

oExcel.ActiveSheet。

PrintOut

 

*!

*40.oExcel。

CommandBars

(1)。

Controls

(1).accChild(18).Execute&&打印(菜单序号18为Excel2003的‘打印’项)

&&不同版本Excel的菜单序号可以通过以下程序取得

*(需要在VFP7.0以上运行)

oXls=Getobject("","excel。

sheet”)

XlApp=oXLS。

Application

XlSheet=XlApp。

ActiveSheet

bars=xlapp。

CommandBars.Count

Str1=’’

Fori=1Tobars

   Str1=Str1+Chr(13)+Alltrim(Str(i))+'、'+xlapp.CommandBars(i).accName+’(NAME:

’+xlapp.CommandBars(i)。

Name+’INDEX:

'+Alltrim(Str(xlapp.CommandBars(i)。

Index))+')'

   bars2=mandbars(i)。

accChildCount

   Forj=1Tobars2

       Try

           obj=mandbars(i)。

Controls(j)

           Str1=Str1+Chr(13)+’’+Alltrim(Str(j))+'、'+mandbars(i)。

Controls(j)。

accname+’(ID:

'+Alltrim(Str(xlapp.CommandBars(i).Controls(j)。

Id))+’)'

           Fork=1Toobj。

accChildCount

               Try

                   IfNotEmpty(obj。

Controls(k).accname)

                       Str1=Str1+Chr(13)+’’+Alltrim(Str(k))+'、'+obj。

Controls(k)。

accName+'(ID:

’+Alltrim(Str(obj。

Controls(k).Id))+')’

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2