| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1497 人关注过本帖, 2 人收藏
标题:[求助]VFP 如何 调用VBA 中的SORT
取消只看楼主 加入收藏
xuxinxu
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-4-13
结帖率:0
收藏(2)
已结贴  问题点数:20 回复次数:5 
[求助]VFP 如何 调用VBA 中的SORT
图片附件: 游客没有浏览图片的权限,请 登录注册


这句在VFP中如何实现?以下是我的尝试,但是最后一句出错

程序代码:
*!*    *********************************************************
eole=Createobject('Excel.application')
If Type("eole")#"O"
    Wait Clear
    Messagebox( "访问Excel失败!请检查你的系统是否正确安装 Excel 软件!",48,"系统")
    Return To Master
Endif
eole.Visible=.F.
*eole.Workbooks.Add
eole.Workbooks.Open("C:\Users\Administrator\Desktop\duo\四高一低20211107.xls")
eole.ActiveWindow.WindowState = 2 &&最大化
eole.Worksheets('sheet1').Activate
eole.displayalerts=.F.
*eole.SheetsInNewWorkbook=1 &&设定新工作簿中有几个工作表
eole.ActiveWindow.WindowState = 2 &&最大化


eole.Range("B2:N8").Select  
eole.selection.sort("四高一低",1)     


出现的错误是

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

四高一低20211107.zip (8.21 KB)


[此贴子已经被作者于2021-11-7 08:34编辑过]

搜索更多相关主题的帖子: VBA 调用 SORT VFP Excel 
2021-11-07 08:23
xuxinxu
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-4-13
收藏
得分:0 

ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("N3:N8"), SortOn:=0, Order:=2, DataOption:=0

上面一句在VBA中运行正常
下面这句在VFP中运行出现语法错误

eole.ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("N3:N8"), SortOn:=0, Order:=2, DataOption:=0
下面这句显示“不能识别的命令谓词”
eole.ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add (Key:=Range("N3:N8"), SortOn:=0, Order:=2, DataOption:=0)
真不知道如何调用这些带参数的命令
2021-11-07 09:27
xuxinxu
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-4-13
收藏
得分:0 
语法验证通过,却没起作用,我再琢磨

程序代码:
eole.Range("B2:N8").Select
eole.ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
eole.ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add (eole.range("N3:N8"),0, 1, 0)
    With eole.ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange (eole.Range("B2:N8"))
        .Header = 1
        .MatchCase = 0
        .Orientation = 1
        .SortMethod = 1
        &&.Apply
    EndWith 


这是录的宏改编的

现在已经找到了没起作用的原因,最后一句 .Apply 被注释了

[此贴子已经被作者于2021-11-7 10:54编辑过]

2021-11-07 09:54
xuxinxu
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-4-13
收藏
得分:0 
回复 4楼 xuxinxu
程序代码:
eole.Range("B2:N8").Select
eole.ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
eole.ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add (eole.range("N3:N8"),0, 2, 0)
*eole.ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add (Key:=Range("N3:N8"), SortOn:=0, Order:=2, DataOption:=0) &&(range("B2:N8"),0, 2, 0)
    With eole.ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange (eole.Range("B2:N8"))
        .Header = 1
        .MatchCase = 0
        .Orientation = 1
        .SortMethod = 1
        .Apply
    EndWith 

刚才没起作用是因为 .Apply 因出错被注释了
2021-11-07 10:46
xuxinxu
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-4-13
收藏
得分:0 
回复 7楼 吹水佬

佩服,精确,简洁,谢谢

[此贴子已经被作者于2021-11-7 11:28编辑过]

2021-11-07 10:49
xuxinxu
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-4-13
收藏
得分:0 
回复 5楼 独木星空
谦虚了
2021-11-07 12:13
快速回复:[求助]VFP 如何 调用VBA 中的SORT
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018712 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved