注册 登录
编程论坛 VFP论坛

指定工作薄

杂七杂八 发布于 2021-09-06 22:02, 1548 次点击
FUNCTION fun()
    oExcel.WorkBooks.Open(cDefPath + ALLTRIM(rstj.fname))
    oAS = oExcel.ActiveSheet
    ret = oExcel.CountA(oAS.Range("B:B")) - 1
    oExcel.WorkBooks.Close
    nCount = nCount + ret
    RETURN ret
ENDFUNC
代码如上
 此句   oAS = oExcel.ActiveSheet  想修改为打开“部门”的工作薄,
只有本站会员才能查看附件,请 登录

不知道如何改?求教!
7 回复
#2
sdta2021-09-07 00:40
* 激活指定名称的工作表
oExcel.WorkSheets("部门").Activate()

* 激活第一个工作表
oExcel.WorkSheets(1).Activate()

* 激活NAME为 SHEET1 的工作表
oExcel.WorkSheets("Sheet1").Activate()
#3
杂七杂八2021-09-07 06:34
回复 2楼 sdta
谢谢!
#4
schtg2021-09-07 19:31
好!
#5
杂七杂八2022-07-11 20:52
程序代码:
Function   fun()
    oExcel.workbooks.Open(cDefpath + alltrim(rstj.fname))  &&&打开指定电子表格文件
   * oAs =  oExcel.ActiveSheet                              &&&激活当前活动工作薄
    oAs =  oExcel.worksheets("考勤表").Activate()              &&&指定激活"考勤表"SHEET作为当前活动工作薄
    ret =  oExcel.CountA(oAs.Range("B:B")) - 1             &&&&按B列统计
    oExcel.workbooks.CLOSE
    nCount =  nCount + ret
    return ret
endfunc

我把第三行改为第四行运行,结果出现
只有本站会员才能查看附件,请 登录

原第三行命令运行正常
不知道为什么原因。
操作环境:vfp6.0、excel2007
#6
杂七杂八2022-07-11 20:53
回复 2楼 sdta
能帮我修正吗?谢谢你!
#7
sostemp2022-07-12 11:22
oExcel.worksheets("考勤表").Activate()          &&&指定激活"考勤表"SHEET作为当前活动工作薄
oAs=oExcel.ActiveSheet                              &&&激活当前活动工作薄
#8
杂七杂八2022-07-12 18:20
回复 7楼 sostemp
非常感谢
明白了先指定后激活,可用。
1