本文将结合实例介绍VFP与Excel交互编程的方法,在VFP中除了使用OLE技术外,还可使用DDE技术与外部服务器进行数据交换,本文主要讲解VFP中使用OLE技术与Excel交换数据,Excel中借助内置的VBA使用VFP提供的Application对象来调用VFP中的一些功能。其功能可简述如下:VFP数据表“学生成绩.DBF”中含“学号、姓名、语文、数学”等字段,示例程序将从Excel工作簿“VFP交互.XLS”的工作表“查询”中用“条件”区域(一般为一个矩形区中的数据,该区域名称指定为“条件”,数据形如“语文>60”、“数学<90”等)中的数据作为查询的条件,用“连接条件”区域(一般为一个单元格,其值为“or”或者“and”)来获取组合“条件”的逻辑连接,并将该连接信息的内容以工作表的形式显示出来,然后调用VFP中针对给定表的SQL查询来找出给定条件的记录并显示到Excel中。下列程序均在VFP 6.0与Excel 2000中调试通过。
Excel驱动VFP
Excel内置的VBA语言(Visual Basic For Application)为Excel功能的扩展提供了便利的手段,用户可使用该语言直接驱动VFP完成数据检索等功能。程序首先生成一个VFP对象,然后用VFP的DoCmd方法执行VFP搜索命令串,其搜索结果再借助于VFP的DataToClip方法拷贝至剪切板,最后VBA将其粘贴至工作表的正确位置,为了每次运行时能将结果插入到工作表中,依次对操作的工作表以“搜索结果”、“搜索结果1”等进行编号。
Sub exceluseFox ()
Dim oFox As Object ’声明oFox为一个对象
Dim SCommand As String
’SQL对应的命令串变量
Dim cell As Variant
Dim choice As String
Dim join As String
Dim first As Boolean
Dim found As Boolean ’搜索结果标志,若表单中有搜索结果,则为真
Set oFox = CreateObject(“VisualFoxPro
.Application”)
’启动VFP,生成VFP对象
Sheets(“查询”).Select
’选择对应的工作表“查询”
join = Range(“连接条件”)
’在单一表格中的一个元素,其值为and或者or
choice = “” ’置连接串初值为空
first = True ’一般情况下连接串后需要加上逻辑连接符and 或 or,首次例外
For Each cell In Range(“条件”) ’产生连接条件,形成where语句的连接逻辑串
If first Then
choice = choice + cell ’形成第一次出现的where子句后的字符串
first = False
’修改首次进入标志,以后的连接均需要加上逻辑连接符
Else
choice = choice + “ ” + join + “ ” + cell
’join的值是and或者是or
End If
Next cell
Sheets.Add ’ 产生新的工作表单
’找一个不重复的工作表名
found = False
【VFP与Excel交互编程】相关文章:
儿童舞蹈教程:国标新手上路03-23
盐阜大众报报业集团(盐城)公开招聘《东方生活报》编辑记者的公告 2月25日到3月3日报名03-23
5月11日开始报名!2023年内蒙古鄂尔多斯市乌审旗秋季幼升小入学条件和流程公布03-23
与太阳比早的人高一学生作文03-23
2025年甘肃省交通运输厅所属事业单位招聘考试时间03-23
初中学校德育课程整合实施探究03-23
2015年美国化学工程专业排名03-23
遥远的她与它_400字03-23
VOA慢速英语:小型飞行恐龙与猫同大03-23
木雕与人生_1200字03-23
