本站首页    管理页面    写新日志    退出


«October 2023»
1234567
891011121314
15161718192021
22232425262728
293031


公告
暂无公告...

我的分类(专题)

日志更新

最新评论

留言板

链接


Blog信息
blog名称:VFP及Sql Server拙笔
日志总数:46
评论数量:107
留言数量:0
访问次数:428515
建立时间:2005年5月12日




[编程及数据库]Vfp控制Excel操作集
原创空间,  文章收藏,  网上资源,  读书笔记,  心得体会,  事件记录,  日后处理,  软件技术,  电脑与网络

老瓷 发表于 2009/1/4 0:27:40

◆访问EXCEL:ExcelSheet = GetObject('','Excel.Sheet')返回结果为类,则成功。例:ExcelSheet = GetObject('','Excel.Sheet')If Type("ExcelSheet")#'O' THEN=MessageBox( "访问Excel失败!请检查你的系统是否正确安装 Excel 软件!",48,"Excel不正常")RETURN ENDIF ◆创建EXCEL实例:oExcel=CreateObject("Excel.Application")该实例创建后,任何对EXCEL的操作都针对该实例进行,关闭EXCEL后应释放该实例变量:RELEASE oExcel ◆打开已存在的EXCEL文件:oExcel.WorkBooks.Open("&lcFileName") &&lcFileName为Excel文件名打开带有读写密码的文件:oExcel.WorkBooks.Open("&lcFileName",,.F.,,"&R_Pwd","&W_Pwd") &&lcFileName-文件名,R_Pwd-读密码,W_Pwd-写密码,第二个参数表示读写方式:.T.只读,.F.读写 ◆设置新增工作薄的工作表数:oExcel.SheetsInNewWorkbook=1 &&新建工作表数量定为1个 ◆新增EXCEL工作薄:oExcel.WorkBooks.Add ◆当前工作薄工作表总数:oExcel.WorkSheets.Count &&如:lnSheetCnt=oExcel.WorkSheets.count ◆新增EXCEL工作表:oExcel.Sheets.Add &&不带参数为增加至当前工作表之前在指定工作表后新建工作表:oExcel.Sheets.Add(,oExcel.Sheets(lnSheet),1,-4167) &&lnSheet为指定表号在最后工作表后新建工作表:oExcel.Sheets.Add(,lnSheetsCnt,1,-4167) &&lnSheetCnt为工作表总数 ◆激活工作表:oExcel.WorkSheets("Sheet1").Activate &&激活工作表1删除工作表:oExcel.WorkSheets("Sheet2").Delete &&删除工作表2命名工作表:oExcel.WorkSheets("Sheet3").Name="新表" &&重命名工作表3 ◆使EXCEL可视:oExcel.Visible=.T. ◆Excel的窗口控制:oExcel.WindowState = -4140 &&最小化=-4140,最大化=-4137,还原=-4143 ◆后台操作报警关闭:oExcel.DisplayAlerts=.F. &&关闭(.F.) 打开(.T.) ◆设置工作薄的标题:oExcel.Caption="Vfp控制Excel操作" ◆当前工作薄换名存盘:oExcel.ActiveWorkBook.SaveAs("&lcFileName") 换名存为文本文件:oExcel.ActiveWorkBook.Saveas("&lcFileName",-4158) 加密码换名存盘:oExcel.ActiveWorkbook.SaveAs(&lcFileName,-4143,[3721],[3721],.F., .F.) ◆工作薄存盘:oExcel.WorkBooks.Save ◆关闭工作薄:oExcel.WorkBooks.Close ◆退出EXCEL:oExcel.Quit &&关闭EXCEL后通常应释放实例变量:Release oExcel ◆打印当前工作簿:oExcel.ActiveWorkBook.PrintOut(1,oExcel.WorkSheets.count,1,.T.)*默认直接打印整个工作簿:oExcel.ActiveWorkBook.PrintOut()*参数1-数值:当前工作簿中进行打印的起始工作表号(默认1)*参数2-数值:当前工作簿中进行打印的结束工作表号(默认最末)*参数3-数值:打印份数(默认1)*参数4-是预览打印还是直接打印:.T.-预览打印,.F.-直接打印(默认.F.) ◆打印当前工作表:oExcel.ActiveSheet.PrintOut() &&共八个参数*参数1-数值:起始页号,省略则默认为开始位置*参数2-数值:终止页号,省略则默认为最后一页*参数3-数值:打印份数,省略则默认为1份*参数4-逻辑值:是否预览,省略则默认为直接打印(.F.)*参数5-字符值:设置活动打印机名称,省略则为默认打印机*参数6-逻辑值:是否输出到文件,省略则默认为否(.F.),若选.T.且参数8为空,则Excel提示输入要输出的文件名*参数7-逻辑值:输出类型,省略则默认为(.T.)逐份打印,否则逐页打印*参数8-字符值:当参数6为.T.时,设置要打印到的文件名 ◆用VFP控制EXECL的选择打印机的窗口oExcel.application.dialogs(8).show ◆预览当前工作表:oExcel.ActiveSheet.PrintPreview ◆当前工作表页面设置:oExcel.ActiveSheet.PageSetup &&如:With oExcel.ActiveSheet.PageSetup.CenterFooter="第"+"&P"+"页 共"+"&N"+"页" &&页脚中间.LeftFooter="制表人:"+AllTrim(lcUserName) &&页脚左边.rightfooter="制表日期:"+Dtoc(Date()) &&页脚右边.TopMargin=2.5/0.035 &&顶边距.BottomMargin=2.5/0.035 &&底边距.LeftMargin=1.4/0.035 &&左边距.RightMargin=0.5/0.035 &&右边距.FooterMargin=3.5/0.035 &&脚高距.PrintTitleRows = "$1:$3" &&固定打印的顶端标题行(第1-3行).Orientation = 1 &&打印方向: 1为纵向,2为横向 ◆当前工作表表格内容格式设置:oExcel.ActiveSheet.Columns(6).NumberFormatLocal = "0.0"   &&指定第6列的数字显示格式为一位小数oExcel.ActiveSheet.Columns(7).NumberFormatLocal = "yyyy-mm-dd"  &7指定第7列的日期显示格式为"yyyy-mm-dd"


阅读全文(15338) | 回复(5) | 编辑 | 精华
 


回复:Vfp控制Excel操作集
原创空间,  文章收藏,  网上资源,  读书笔记,  心得体会,  事件记录,  日后处理,  软件技术,  电脑与网络

海之恋(游客)发表评论于2011/1/9 10:58:57

如何将一个工作薄中的工作表替换另一个工作薄中的同名工作表。我打印输出时,需将打印模板中的工作表替换了旧的已输出的工作表,再进行数据写入。只会整个工作薄替换,不会单个工作表的替换。请高人指点。[(R)]


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Vfp控制Excel操作集
原创空间,  文章收藏,  网上资源,  读书笔记,  心得体会,  事件记录,  日后处理,  软件技术,  电脑与网络

souwolf(游客)发表评论于2010/4/12 9:30:01

感谢作者

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Vfp控制Excel操作集
原创空间,  文章收藏,  网上资源,  读书笔记,  心得体会,  事件记录,  日后处理,  软件技术,  电脑与网络

James(游客)发表评论于2010/1/11 14:25:38

谢谢作者!

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Vfp控制Excel操作集
原创空间,  文章收藏,  网上资源,  读书笔记,  心得体会,  事件记录,  日后处理,  软件技术,  电脑与网络

草民(游客)发表评论于2009/11/26 11:33:11

好贴子,非常感谢作者,希望将Vfp与Excel之间的操作命令写的越多越好,对我们的帮助和启发非常大,很实用,再次表示感谢!!!

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Vfp控制Excel操作集
原创空间,  文章收藏,  网上资源,  读书笔记,  心得体会,  事件记录,  日后处理,  软件技术,  电脑与网络

king(游客)发表评论于2009/3/10 10:36:21

这么好的帖子,倘若别人看不到,那么不是浪费楼主的心血吗?经过痛苦的思想斗争,我终于下定决心,我要把这个帖子一直往上顶,往上顶! T1 Cell Phone,T1 Cell Phone Black,T1 TV Phone, T1 Dual Card Cell Phone, T1 Quad Band Cell Phone, T1 Touch Screen Cell Phone,T1 Cell Phone wholesale, EPHONE M8, Business Cell Phone, 3GA+ Cell Phone, Hiphone I32, Cell Phone Watch,M88 Miphone,  MP4 Player with Video camera

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.031 second(s), page refreshed 144748187 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号