在VFP中直接来控制Excel复习进程Word下载.docx

上传人:b****2 文档编号:4549698 上传时间:2023-05-03 格式:DOCX 页数:21 大小:21.54KB
下载 相关 举报
在VFP中直接来控制Excel复习进程Word下载.docx_第1页
第1页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第2页
第2页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第3页
第3页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第4页
第4页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第5页
第5页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第6页
第6页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第7页
第7页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第8页
第8页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第9页
第9页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第10页
第10页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第11页
第11页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第12页
第12页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第13页
第13页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第14页
第14页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第15页
第15页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第16页
第16页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第17页
第17页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第18页
第18页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第19页
第19页 / 共21页
在VFP中直接来控制Excel复习进程Word下载.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

在VFP中直接来控制Excel复习进程Word下载.docx

《在VFP中直接来控制Excel复习进程Word下载.docx》由会员分享,可在线阅读,更多相关《在VFP中直接来控制Excel复习进程Word下载.docx(21页珍藏版)》请在冰点文库上搜索。

在VFP中直接来控制Excel复习进程Word下载.docx

在第18行之前插入分页符

oExcel.WorkSheet("

Sheet2"

).Range("

A1"

).PasteSpecial&

粘贴

**ActiveWorkbook属性

oExcel.ActiveWorkbook.SaveAs("

\temp\22.xls"

工作表另存为

oExcel.ActiveWorkbook.saved=.T.&

放弃存盘,避免出现保存对话框

oExcel.ActiveWorkbook.Save&

存盘

oExcel.ActiveWorkbook.Close(.F.)&

oExcel.ActiveWorkbook.Protect('

密码'

.T.,.T.)&

保护工作薄(第一个.T.:

保护工作簿结构,第二个.T.:

保护工作簿窗口)

**ActiveSheet属性

oExcel.ActiveSheet.UsedRange.Copy&

拷贝整个工作表

oExcel.ActiveSheet.PrintPreview&

打印预览工作表

oExcel.ActiveSheet.PrintOut&

打印输出工作表

oExcel.ActiveSheet.Protect('

.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.)&

保护工作表

oExcel.ActiveSheet.Protection.AllowEditRanges.Add("

区域3"

oExcel.ActiveSheet.Range("

A2:

D5"

))&

设置允许用户编辑区域

**表格列属性

oExcel.ActiveSheet.Columns

(2).Insert&

在第2列之前插入一列

oExcel.ActiveSheet.Columns

(1).ColumnWidth=5&

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

字符个数)

oExcel.ActiveSheet.Columns(4).PageBreak=0&

在第4列之前删除分页符

oExcel.ActiveSheet.Columns

(1).Font.Bold=.T.&

设置整列字体为粗体

**表格行属性

oExcel.ActiveSheet.Rows

(2).Insert&

在第2行之前插入一行

oExcel.ActiveSheet.Rows

(1).RowHeight=1&

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

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

oExcel.ActiveSheet.Rows("

50:

100"

).RowHeight=1&

设置第50行至100行的高度

**表格范围属性

oExcel.Range("

A4:

c4"

).HorizontalAlignment=1&

水平(1-默认、2-靠左、3-居中、4-靠右、5-填充、6=两端对齐、7=跨列居中、8=分散对齐)

).VerticalAlignment=2&

垂直(1=靠上、2=居中、3=靠下、4=两端对齐、5=分散对齐)

C4"

).WrapText=.F.&

文本自动换行

oExcel.ActiveSheet.Range("

B5"

).Merge=.T.&

合并单元格

A1:

E2"

).Copy&

拷贝指定区域

b3:

d3"

).BorderS

(2).Weight=3&

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

).BorderS

(2).LineStyle=1&

设置四个边框线条的类型

(其中Borders参数:

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

LineStyle值:

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

**页面设置

WITHoExcel.ActiveSheet.PageSetup

.CenterHeader="

报表1"

设置页眉

50报表1"

设置页眉(字体大小),'

'

后面的50可以自定义,表示字体的大小

.CenterFooter="

第&

P页"

设置页脚(LeftFoot:

居左,CenterFooter:

居中,RightFooter:

居右)

28第&

P页共&

N页"

设置页脚(字体大小),'

后面的28可以自定义,表示字体的大小

.HeaderMargin=2/0.035&

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

.FooterMargin=3/0.035&

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

.TopMargin=2/0.035&

设置顶边距为2厘米

.BottomMargin=4/0.035&

设置底边距为4厘米

.LeftMargin=2/0.035&

设置左边距为2厘米

.RightMargin=2/0.035&

设置右边距为2厘米

.CenterHorizontally=.T.&

设置页面水平居中

.CenterVertically=.T.&

设置页面垂直居中

.Papersize=1&

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

A4)

.Orientation=1&

设置纸张方向(1-竖向,2-横向)

.PrintTitleRows="

$1:

$2"

设置顶端标题行,(每页都打印行标头(每页顶部出现的单元格的行))

.PrintGridlines=.T.&

打印单元格网线

.Zoom=75&

设置缩放比例为75%

ENDWITH

**单元格设置

WITHoExcel.ActiveSheet.Cells(1,1)&

第一行第一列单元格

.Font.Name="

黑体"

字体名字

.Font.Size=25&

大小

.Font.Italic=.T.&

为斜体(Bold-粗体)

.Value="

数值"

.ClearContents&

清除单元格公式

*以下为一些过程

*检测当前目录是否有同名的EXCEL表,如果有先删除,再另存

If!

File(Sys(5)+Curdir()+"

result.xls"

oExcel.ActiveWorkbook.SaveAs(Sys(5)+Curdir()+"

Else

lcFileName=loExcel.GetSaveAsFilename("

result"

"

Excel(*.xls),*.xls"

If!

Empty(lcFileName)

IfFile(lcFileName)

DeleteFile(lcFileName)

Endif

oExcel.ActiveWorkbook.SaveAs(lcFileName)

Endif

*拷贝整个工作表(含格式)

oExcel.activesheet.cells.Copy&

拷贝

oExcel.sheets

(1).Select&

选择第一工作表

oExcel.ActiveSheet.Paste&

oExcel.ActiveSheet.Cells(3,4).Value&

ActiveSheet为当前的Sheet工作薄名字,Cells(3,4).value为第3行第4列的值

*显示某个单元格的批注内容

d:

\TEST\testa.xls"

oExcel.Visible=.T.

?

).Comment.Text&

显示B5单元格的批注内容

oExcel.Workbooks.Close

oExcel.Quit

ReleaseoExcel

*将当前工作表中的已用区域(只读)存入数组。

strPath='

D:

\TEST\123.xls'

LocaloExcel

Excel.Application"

oExcel.WorkBooks.Open(strPath)

arrTableInfo=oExcel.ActiveSheet.UsedRange.Value&

将当前工作表中的已用区域(只读)存入数组。

InsertInto表名FromarrTableInfo

*!

*设置excel批注的字体(excel2000实现了,如下:

ole.Range("

a3"

).Comment.Shape.Select&

此命令要求批注的Visible=.t.

ole.Selection.Font.Size=9

ole.Selection.Font.Name="

ole.Selection.Font.bold=.F.

注:

该组命令要求先选中批注框,否则写成ole.Range("

).Comment.Shape.Font.Size=9则出错,不知为何!

*如何取得当前EXCEL表中工作表的数目及各工作表的名称?

Clear

LocallnSheetCount

EXCEL.APPLICATION"

oExcel.WORKBOOKS.Open("

\111\321.xls"

WithoExcel

lnSheetCount=.WorkBooks

(1).Sheets.Count&

统计工作表数量

Endwith

当前EXCEL表中工作表的数目为:

+Alltrim(Str(lnSheetCount))

ForEachoMyVarInoExcel.sheets

?

当前EXCEL表中工作表的名称分别为'

+oMyVar.Name&

显示Excel表中所有工作表

NextoMyVar

oExcel.WORKBOOKS.Close&

*如何用编程的方法打开有密码的Excel文件?

*Excel文件加了密码,如何在VFP中用编程的方式把密码输入,使Excel文件打开

oExcel=Createobject('

Excel.application'

\22.xls"

*这样还有一个密码的对话框出来,需要输入密码才能打开文件。

*如何用编程的方法直接打开有密码的Excel文件?

.F.,.F.,,"

123"

"

456"

"

表示打开权限的密码,

表示修改权限的密码.

*如何将一个已知路径的图片插入到excel中.

oExcel.ActiveSheet.PictureS.Insert("

图片文件名"

*能不能指定在某一位置或区域放置图片并控制图片显示大小呢?

oExcel.SHEETS

(1).Select

位置"

).Select

)).Select

oExcel.Selection.ShapeRange.LockAspectRatio=.T.

oExcel.Selection.ShapeRange.Height=57

*类型为字符型的字段输出到excel中,前面的零被自动去掉,例如“009877”变为“9877”,怎么解决?

*方法1.在字符串前面加半角单引号“'

”,

*例如:

oExcel.Cells(1,1).Value="

0123"

*或用变量

cString="

+"

其中0123可以取自表中一个字段

oExcel.Cells(1,1).Value=cString&

o.Range("

).value=cString

*方法2.

oExcel.CELLS(1,1).Select&

或eole.Range("

E1"

oExcel.Selection.NumberFormatLocal="

@"

把被选定的单元格设为文本格式

给所选单元格覆值

*获取Excel记录数

loXls=Createobject("

excel.application"

bookExcel=loXls.Application.Workbooks.Open("

f:

\pz.xls"

nrows=bookExcel.Worksheets('

pz'

UsedRange=nrows.UsedRange

r=UsedRange.Rows.Count&

有数据的总行数

c=UsedRange.Columns.Count&

有数据的总列数

loXls.Workbooks.Close

loXls.Quit

*在EXCEL中如何在打开文件的同时自动执行一个宏命令。

只要将宏的命名为AUTO_OPEN即可。

如果要在文件关闭时运行,则命名为auto_close。

*在VFP中可以执行EXCEL的选择性粘贴吗?

.Range("

A2"

).PasteSpecial("

xlPasteValues"

会出错

).PasteSpecial(3)&

也会出错

只好这样了

*如何才能只粘贴值呢?

xlPasteValues=-4163

oExcel.Selection.Copy

B1"

)._PasteSpecial(xlPasteValues)

*注意:

在Excel中,"

是一个常量,它的值是一个数值型的:

-4163

).Copy

B3"

).PasteSpecial(8)&

粘贴行、列宽

).PasteSpecial(-4122)&

粘贴格式

*本程序通过将原dbf表拷成excel格式,然后导入并设置报表格式

Paratablename

Localhb1Asexcel.Application

Wait"

正在导出数据,请稍侯……"

WindowAt20,30Timeout1

bhaveerror=.F.&

定义一个变量判断是否发生错误

Try

hb1=Createobject("

Catch

Messagebox("

请检查你是否已安装microsoftexcel应用程序!

0,"

提示"

bhaveerror=.T.

Endtry

Ifbhaveerror=.T.

Return

IfRight(curr_path,1)<

>

\'

curr_path=curr_path+"

\"

ctablename=tablename+"

_excel"

filepath=curr_path+"

temp\sheet1.xls"

*filepath="

File(filepath)

数据源的excel文件未生成,报表生成被终止!

HB1.workbooks.Open(filepath)

HB1.SHEETS("

sheet1"

hb1.sheets

(1).Rows

(1).entirerow.Insert

Sele(ctablename)

nfieldcount=Fcount()

nreccount=Reccount()

hbdygs="

+Chr(nfieldcount+64)+"

2"

HB1.Range(hbdygs).Select

****合并两行作为报表标题*************

HB1.Selection.HorizontalAlignment=3&

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

HB1.Selection.VerticalAlignment=2&

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

HB1.Selection.WrapText=.F.&

HB1.Selection.Orientation=0&

HB1.Selection.AddIndent=.F.&

HB1.Selection.ShrinkToFit=.F.&

HB1.Selection.MergeCells=.T.&

HB1.Range(hbdygs).FormulaR1C1="

请输入报表标题"

HB1.Range(hbdygs).Characters.Font.Name="

隶书"

HB1.Range(hbdygs).Characters.Font.FontStyle="

常规"

HB1.Range(hbdygs).Characters.Font.ColorIndex=1&

字符颜色

***根据数据源表结构的宽度设置列的宽度********

CopyStruExteTotemp\term_stru

Sele0

Usetemp\term_stru

Select(ctablename)

Fori=1Tonfieldcount

cvalue=Allt(Field(i))

Selectterm_stru

LocaForLower(Allt(field_name))==cvalue

IfFound()

columnname=Chr(i+64)+"

:

+Chr(i+64)

hb1.Columns(columnname).ColumnWidth=field_len

Sele(ctablename)

Endfor

Seleterm_stru

Use

activecellname=Chr(nfieldcount+64)+Allt(Str(nreccount+3))

*************设置数据区域的字体格式***************

HB1.Range("

A3:

+activecellname).Characters.Font.Name="

宋体"

+activecellname).Characters.Font.Size=9

+activecellname).Select

hb1.Selection.BorderS

(1).LineStyle=.T.

hb1.Selection.BorderS

(2).linestyle=.T.

hb1.Selection.BorderS(3).linestyle=.T.

hb1.Selection.BorderS(4).linestyle=.T.

hb1.ActiveWorkbook.SaveAs("

\aa.xls"

hb1.Application.Visible=.T.

*HB1.ACTIVEWORKBOOK.SAVE&

自动保存数据

*HB1.ACTIVEWORKBOOK.CLOSE&

关闭当前工作簿

*HB1.QUIT

*复制Sheet工作表

EFILENAME='

\你的Excel表名.XLS'

EFILENAME"

oExcel.SHEETS

(1).Copy(Null,oExcel.SHEETS

(1))&

把第1个工作表复制到第1个工作表之后

oExcel.SH

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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