vfp调用wordORexcel(一)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
vfp调用wordORexcel(一)
vfp调用word OR excel(一)
1.VFP全面控制EXCL
VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。
比如我们可以利用VFP 进行处理数据,而利用Excel的预览打印功能进行报表打印。
这就需要我们在VFP中直接来控制Excel。
下面就在开发VFP应用项目时对Excel的控制作一下介绍:
1.创建Excel对象
eole=CREATEOBJECT(′Excel.application′)
2.添加新工作簿
eole.Workbooks.add
3.设置第3个工作表为激活工作表
eole.Worksheets(″sheet3″).Activate
4.打开指定工作簿
eole.Workbooks.Open(″c:\temp\ll.xls″)
5.显示Excel窗口
eole.visible=.t.
6.更改Excel标题栏
eole.Caption=″VFP应用程序调用Microsoft Excel″
7.给单元格赋值
eole.cells(1,4).value=XM(XM为数据库字段名)
8.设置指定列的宽度(单位:字符个数)
eole.ActiveSheet.Columns(1).ColumnWidth=5
9.设置指定行的高度(单位:磅)
eole.ActiveSheet.Rows(1).RowHeight=1/0.035
(设定行高为1厘米,1磅=0.035厘米)
10.在第18行之前插入分页符
eole.Worksheets(″Sheet1″).Rows(18).PageBreak=1
11.在第4列之前删除分页符
eole.ActiveSheet.Columns(4).PageBreak=0
12.指定边框线宽度(Borders参数如下)
ole.ActiveSheet.Range(″b3:d3″).B orders(2).Weight=3
13.设置四个边框线条的类型
eole.ActiveSheet.Range(″b3:d3″).Borders(2).LineStyle=1
(其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)
14.设置页眉
eole.ActiveSheet.PageSetup.CenterHeader=″报表1″
15.设置页脚
eole.ActiveSheet.PageSetup.Cent erFooter=″第&P页″
16.设置页眉到顶端边距为2厘米
eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035
17.设置页脚到底边距为3厘米
eole.ActiveSheet.PageSetup.FooterMargin=3/0.035
18.设置顶边距为2厘米
eole.ActiveSheet.PageSetup.T opMargin=2/0.035
19.设置底边距为4厘米
eole.ActiveSheet.PageSetup.BottomMargin=4/0.035
20.设置左边距为2厘米
veole.ActiveSheet.PageSetup.LeftMargin=2/0.035
21.设置右边距为2厘米
eole.ActiveSheet.PageSetup.RightMargin=2/0.035
22.设置页面水平居中
eole.ActiveSheet.PageSetup.CenterHorizontally=.t.
23.设置页面垂直居中
eole.ActiveSheet.PageSetup.CenterVertically=.t. 24.设置页面纸张大小(1-窄行8511 39-宽行1411) eole.ActiveSheet.PageSetup.PaperSize=1
25.打印单元格网线
eole.ActiveSheet.PageSetup.PrintGridlines=.t. 26.拷贝整个工作表
edRange.Copy
27.拷贝指定区域
eole.ActiveSheet.Range(″A1:E2″).Copy
28.粘贴
eole.WorkSheet(″Sheet2″).Range(″A1″).PasteSpecial 29.在第2行之前插入一行
eole.ActiveSheet.Rows(2).Insert
30.在第2列之前插入一列
eole.ActiveSheet.Columns(2).Insert
31.设置字体
eole.ActiveSheet.Cells(2,1)=″黑体″32.设置字体大小
eole.ActiveSheet.Cells(1,1).Font.Size=25
33.设置字体为斜体
eole.ActiveSheet.Cells(1,1).Font.Italic=.t.
34.设置整列字体为粗体
eole.ActiveSheet.Columns(1).Font.Bold=.t.
35.清除单元格公式
eole.ActiveSheet.Cells(1,4).ClearContents
36.打印预览工作表
eole.ActiveSheet.PrintPreview
37.打印输出工作表
eole.ActiveSheet.PrintOut
38.工作表另为
eole.A ctiveWorkbook.SaveAs(″c:\temp\22.xls″)
39.放弃存盘
eole.ActiveWorkbook.saved=.t.
40.关闭工作簿
eole.Workbooks.close
41.退出Excel
eole.quit
2.VFP数据导出至EXCEL问题
这样设计:
oexl=createobject("excel.application")
oexl.workbooks.add
oexl.visible=.t.
oexl.workbooks(1).activate
oexl.cells(1,1).value="名称1"
oexl.cells(1,2).value="名称2"
oexl.cells(1,3).value="名称3"
3.如何在VFP5.0中利用EXCEL的功能做报表
在VFP中调用Excel要利用Automation。
所有Automation的步骤都一样,先建立对象,然后利用该对象实现VBA语句。
如果你对VBA不熟悉,也可以利用Excel的录制宏的功能得到相应的VBA语句。
下面就是一段打印预览报表的VFP程序:
objExcel = CreateObject("Excel.Application")
objExcel.Visible = 1
objExcel.Workbooks.Open("E:\JXCDOS\FILEDBF.DBF")
objExcel.ActiveSheet.PageSetup.PrintGridlines = 1
objExcel.ActiveWindow.SelectedSheets.PrintPreview
4.如何使用已有的Word模版新建一个文档
可以借助OLE Automation来做这件事。
如果你使用CreateObject("Word.Application")建立对象。
建立新文档的VBA语句为:
Documents.Add Template:="G:\Microsoft Office\Office\HTML.DOT", NewTemplate :=False
其中Template是你要引用的模板。
如果你使用CreateObject("Word.Basic")建立对象。
建立新文档的Word Basic语句为:FileNew("G:\Microsoft Office\Office\HTML.DOT")
下面是一个简单的VFP例子:
objWord=CreateObject("Word.Application")
objWord.Visible=1
ObjWord.Documents.Add("G:\Microsoft Office\Templates\中文信函和传真\典雅型信函.dot", 0)
5. VFP中使用CreatObject实现对Word文件进行操作的方法
public oleApp,fDoc
oleApp=CreateObject("Word.Application") &&创建应用程序对象oleapp
oleApp.Visible=.t. &&使Word文档可见
fDoc=oleApp.Documents.Add &&创建文档对象Fdoc
*在下一语句中将'欢迎光临Word世界!'换成你需要的内容送到Word文档,如果有多行,可重复此语句.
oleApp.Selection.TypeText( '欢迎光临Word世界!')
fDoc.SaveAs("c:\Test.doc") &&文件自动存盘为"c:\test.doc"
oleApp.Quit &&退出word
6.在vfp打开"F:\我的文档\vfp\表格控件.doc"的命令怎么写?
RELEASE loWord
PUBLIC loWord
loWord = CREATEOBJECT('word.basic')
*loWord.filenewdefault
loWord.filenew('F:\我的文档\vfp\表格控件.doc')
*-- 最大化 Word
loWord.appshow
7.在vfp创建"F:\我的文档\vfp\表格控件.doc"的命令怎么写?
VFP中使用CreatObject实现对Word文件进行操作的方法如下:oleapp=createobject("word.application") &&创建应用程序对象oleapp
oleapp.visible=.t. &&使Word文档可见
fdoc=oleapp.Documents.Add &&创建文档对象Fdoc
oleapp.Selection.TypeText( '欢迎光临Word世界!') &&在此语句可将'欢迎光临Word世界!'换成你需要的内容送到Word文档,如果有多行,可重复此语句.
fdoc.saveas("c:\test.doc") &&文件自动存盘为"c:\test.doc"
oleapp.quit &&退出word
8.轻松建立属于自己的 Word 模板
我们知道,当每次进入Word时,系统都会自动新建一个空白文档,并分配一个名称为“文档1”的文档。
而我们在实际应用中,常用到的不是这种默认设置。
如学校办公室经常上传、下达文件,每次将文件内容录完以后,都要进行字体、字号、纸型等多项设置。
是否有一种方法来简化文档的设置工作,使每次新建空白文档时直接打开这一设置好格式的文档呢?答案当然是肯定的,我们可以用Word的模板功能来实现。
任何Word文档都是以模板为基础进行创建的。
模板决定了文档的基本结构和设置的样式,模板就是包含有段落结构、字体样式和页面布局等元素的样式。
我们在新建一文档时实际上是打开了一个名为“normal.doc”的文件。
该文件的位置一般位于:C:WindowsApplication DataMicrosoftTemplates(也可通过开始菜单查找一个位置)文件夹下,具体操作方法如下:
1. 打开C:WindowsApplication DataMicrosoftTemplates文件夹下的“normal.doc”文档,将各项设置改成你所需的样式;
2. 点击文件下拉菜单中的“另存为”,在“另存为”对话框中输
入要保存的文件名,保存类型选择“文档模板”,单击“确定”;
3. 最后关闭该文档窗口。
以后每打开这一文件时,它的默认格式就是你在第1步设置的格式了。
编辑提示:1.此法对原文件normal.doc没有影响;
2.此法对WPS也适用。
只是“normal.wps”位于c \wps2000\template目录下。
怎么样?感觉是不是很方便,那就赶快试试吧,也可以根据需要多建几个模板哟!
9.数据库的内容转到EXECL文件中
COPY TO "c:\你的表.xls" TYPE XL5
eole=CREATEOBJECT('Excel.application') && 创建Excel对象
eole.Workbooks.Open("c:\你的表.xls") && 打开指定工作簿
eole.visible=.t. && 显示Excel窗口。