关于vfp控制excel、word的常用东东
头大 mailto:ppp1117@163.com
大家对vfp中通过OLE调用excel、word完成报表、数据转换等功能还感兴趣,请按以下步骤得到完整的VBA帮 助:
1、安装ms office 97/2000;
2、启动excel、word,单击“工具”-“宏”-“Visual Basic编辑器”进入,再选“帮助”菜单即可(注 意:第一次使用VBA帮助会提示插入光盘安装VBA帮助的)。
现将excel下常见的东东搜集整理如下: 1.创建Excel对象
_ole_excel = CreateObject(\"Excel.Application\") 2.打开指定工作表
_ole_excel.WorkBooks.Open(\"工作表文件名\") && 要打开的工作表名(xls)必须是全路径 3.添加新工作簿
_ole_excel.WorksBooks.Add 4.激活指定的工作簿
_ole_excel.WorkSheets(\"工作簿名\").Activate 5.设置Excel对象为可见,一般为调试用 _ole_excel.visible = .t. 6.更改Excel对象标题栏
_ole_excel.Caption = \"VFP程序OLE调用Excel\" 7.给单元格赋值
_ole_excel.cells(行,列).value = 变量 && 重要,一般由VFP传递数据给excel即由此句,可以是 VFP支持的任何数据
8.设置指定列的宽度
_ole_excel.ActiveSheet.Columns(列).ColumnWidth = 字符个数 9.设置指定行的高度(默认单位:磅)
_ole_excel.ActiveSheet.Rows(行).RowHeight = 1/0.035 && 设定行高为1厘米,1磅=0.035厘米 10.在第18行之前插入分页符
_ole_excel.WorkSheets(\"Sheet1\").Rows(18).PageBreak = 1 11.在第4列之前删除分页符
_ole_excel.ActiveSheet.Columns(4).PageBreak = 0 12.设置四个边框线条的类型及风格
_ole_excel.ActiveSheet.Range(范围).Borders(线型).LineStyle = 1 && 范围指起止的单元格, 如\"B1:H9\";
Borders为边框线条:1-左,2-右,3-顶,4-底,5-斜线\\,6-斜线/;
LineStyle为线型参数:1-细实线,2-细虚线,……4-点虚线,……,9-双细实线 13.指定边框线宽度(Borders为边框线条,参见上条;默认单位:磅) _ole_excel.ActiveSheet.Range(范围).Borders(线型).Weight = 2 14.设置页眉
_ole_excel.ActiveSheet.PageSetup.CenterHeader = \"什么什么报表\" 15.设置页脚
_ole_excel.ActiveSheet.PageSetup.CenterFooter = \"第&P页\" 16.设置页眉到顶端边距
_ole_excel.ActiveSheet.PageSetup.HeaderMargin = 2/0.035 && 2厘米 17.设置页脚到底边边距
_ole_excel.ActiveSheet.PageSetup.FooterMargin = 3/0.035 && 3厘米 18.设置顶边距
_ole_excel.ActiveSheet.PageSetup.TopMargin = 3/0.035 && 3厘米 19.设置底边距
_ole_excel.ActiveSheet.PageSetup.BottomMargin = 3/0.035 && 3厘米 20.设置左边距
_ole_excel.ActiveSheet.PageSetup.LeftMargin = 3/0.035 && 3厘米 21.设置右边距
_ole_excel.ActiveSheet.PageSetup.RightMargin = 3/0.035 && 3厘米 22.设置页面水平居中
_ole_excel.ActiveSheet.PageSetup.CenterHorizontally = .t. 23.设置页面垂直居中
_ole_excel.ActiveSheet.PageSetup.CenterVertically = .t. 24.设置页面纸张大小,重要!很多网友需要的东东
_ole_excel.ActiveSheet.PageSetup.PaperSize = 纸张类型 && 下面列出常见的纸张;
mk:@MSITStore:D:\\VFP知识\\在VFP中控制OFFICE的文章集合\\VFPOFFICE.chm...2010-06-15
关于vfp控制excel、word的常用东东Page 2 of 3
可为下列 XlPaperSize 常量之一(某些打印机可能不支持所有的这些纸张大小); 常量 数值 意义;
xlPaperLetter 1 Letter (8-1/2 in. x 11 in.) xlPaperA3 8 A3 (297 mm x 420 mm) xlPaperA4 9 A4 (210 mm x 297 mm)
xlPaperA4Small 10 A4 Small (210 mm x 297 mm) xlPaperA5 11 A5 (148 mm x 210 mm) xlPaperB4 12 B4 (250 mm x 3 mm) xlPaperB5 13 B5 (182 mm x 257 mm)
xlPaperFanfoldUS 39 U.S. Standard Fanfold (14-7/8 in. x 11 in.) xlPaperUser 用户自定义 25.打印单元格网线
_ole_excel.ActiveSheet.PageSetup.PrintGridLines = .t. 26.拷贝整个工作表
_ole_excel.ActiveSheet.UsedRange.Copy 27.拷贝指定区域
_ole_excel.ActiveSheet.Range(范围).Copy 28.粘贴
_ole_excel.WorkSheet(\"工作簿\").Range(单元格).PasteSpecial && 单元格如\"K9\" 29.在第2行之前插入一行
_ole_excel.ActiveSheet.Rows(2).Insert 30.在第2列之前插入一列
_ole_excel.ActiveSheet.Columns(2).Insert 31.设置字体
_ole_excel.ActiveSheet.Cells(行,列).Font.Name = \"黑体\" 32.设置字体大小(默认单位:点)
_ole_excel.ActiveSheet.Cells(行,列).Font.Size = 16 33.设置字体为斜体
_ole_excel.ActiveSheet.Cells(行,列).Font.Italic = .t. 34.设置整列字体为粗体
_ole_excel.ActiveSheet.Columns(列).Font.Bold = .t. 35.合并单元格,重要!
_ole_excel.Worksheets(\"工作簿名\").Range(范围).merge && 范围必须指定起止的单元格, 如\"A1:B4\"
36.撤销合并单元格,上述操作的逆操作
_ole_excel.Worksheets(\"工作簿名\").Range(范围).unmerge
37.在单元格中设置公式(重要,一般可以用来实现计算汇总、求平均等很多功能)
_ole_excel.cells(行,列).value = \"=公式\" && 可以使用所有VBA内部函数,如sum()等。注意:不 能使用VFP的函数啊!
38.清除单元格中的公式
_ole_excel.cells(行,列).ClearContents 39.打印预览工作表,
_ole_excel.ActiveSheet.PrintPreview 40.打印输出工作表
_ole_excel.ActiveSheet.PrintOut 41.工作表另存为
_ole_excel.ActiveWorkBook.SaveAs(\"新的工作表文件名\") 42.放弃存盘
_ole_excel.ActiveWorkBook.Saved = .t. && 注意:一般得执行此句,免得出现保存对话框!很多网 友说excel退出后仍然驻留内存就因未正确处理保存操作! 43.关闭工作簿
_ole_excel.WorkBooks.Close 44.退出Excel _ole_excel.Quit
现将word下常见的东东搜集整理如下: 1.创建word对象
_ole_word = CreateObject(\"Word.Basic\") 2.打开指定文档
_ole_word.FileOpen(\"文档名\") && 要打开的文档(doc)必须是全路径 -------------------------------------- excel函数:
mk:@MSITStore:D:\\VFP知识\\在VFP中控制OFFICE的文章集合\\VFPOFFICE.chm...2010-06-15
关于vfp控制excel、word的常用东东Page 3 of 3
1、COUNT(value1,value2, ...)返回参数的个数。利用函数 COUNT 可以计算数组或单元格区域中数字项的个 数。
2、COUNTIF(range,criteria)计算给定区域内满足特定条件的单元格的数目。 Range 为需要计算其中满足条件的单元格数目的单元格区域。
Criteria 为确定哪些单元格将被计算在内的条件,其形式可以为数字、表达式或文本。例如,条件可以表 示为 32、\"32\"、\">32\"、\"apples\"。
3、COUNTBLANK(range)计算指定单元格区域中空白单元格的数目。
即使单元格中含有返回值为 \"\"(空文本)的公式,该单元格也会计算在内,但包含零值的单元格不计算在 内。
4、COUNTA(value1,value2, ...)返回参数组中非空值的数目。利用函数 COUNTA 可以计算数组或单元格区域 中数据项的个数。
value1, value2, ... 所要计数的值,参数个数为 1~30 个。在这种情况下,参数值可以是任何类型,它 们可以包括空字符 (\"\"),但不包括空白单元格。如果参数是数组或单元格引用,则数组或引用中的空白单元 格将被忽略。如果不需要统计逻辑值、文字或错误值,请使用函数 COUNT。
▲生成Excel文件如何设定最适合的列宽?
●eole.Columns(\"B:B\").EntireColumn.AutoFit
-------------------------------------------------- COUNT(value1,value2, ...)
倒底如何调用才能知道EXCEL当前 SHEET的总行数与总列数??
愚昧。看不懂。只好烦请你详细说明。
刚试验: 35.合并单元格,重要!
_ole_excel.Worksheets(\"工作簿名\").Range(范围).merge && 范围必须指定起止的单元格, 如\"A1:B4\"
好象也合并不了! myexcel.worksheetd(\"e:\\zzz\\xls99.xls\").range(\"a1:b4\").merge ------------------------------------------------- 1、当前行、当前列没意义; 2、水平居中:
_ole_excel.WorkSheets(\"Sheet1\").Range(\"A1:A5\").HorizontalAlignment = xlHAlignCenter 垂直居中:
_ole_excel.WorkSheets(\"Sheet1\").Rows(2).VerticalAlignment = xlVAlignCenter 3、合并的是工作簿而非工作表!你那句是指工作表啊 ---------------------------------------------- 当前的总行数、总列数:
.ActiveSheet.UsedRange.rows.count
.ActiveSheet.UsedRange.columns.count --------------------------------------------- ▲能够让打开的窗口作为VFP的子窗口吗? ●_ole_excel.visible = .t.
▲请问各位高手,在VFP6.0中生成Execl表格,如何设置“顶端标题行”和“左边标题列” ●
With ActiveSheet.PageSetup
.PrintTitleRows = \"$1:$3\" .PrintTitleColumns = \"\" End With ●
eole.ActiveSheet.PageSetup.PrintTitleRows = \"$1:$1\" eole.ActiveSheet.PageSetup.PrintTitleColumns = \"$A:$A\"
mk:@MSITStore:D:\\VFP知识\\在VFP中控制OFFICE的文章集合\\VFPOFFICE.chm...2010-06-15
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务