注册 登录
编程论坛 VFP论坛

表单返回

杂七杂八 发布于 2020-02-20 20:48, 3302 次点击
要求:运行这个表单后点击确定键,打开一张excel 表并对这张book1作编辑保存点击关闭再返回到这个表单界面
存在问题:打开excel后一闪而过

求教:代码怎么写,才能实现我的要求。谢谢!
只有本站会员才能查看附件,请 登录
14 回复
#2
杂七杂八2020-02-21 06:10
o=NewObject('Excel.Application')
 o.Workbooks.Open(sys(5)+curdir()+"book1")

  if  MESSAGEBOX("已生成,要打开EXCEL吗?",1+256,"提示")==1
     o.visible=.t.
     ***这里开始请教代码怎么写才能实现***
     ****
*!*        * RETURN
*!*         o.Workbooks.Close
*!*         o.Quit
*!*         Release oExcel
*!*         *close all
     Thisform.show
  EndIf
   o.Workbooks.Close
   o.Quit
   Release oExcel
  

Thisform.show
#3
吹水佬2020-02-21 09:13
要一直打开就不要:
   o.Workbooks.Close
   o.Quit
   Release oExcel
#4
杂七杂八2020-02-21 13:13
回复 3楼 吹水佬
谢谢🙏,是的,excel打开了。等我操作excel后单击关闭excel想回到表单界面,实现不了。
#5
杂七杂八2020-02-21 13:18
回复 3楼 吹水佬
谢谢🙏,是的,excel打开了。等我操作excel后单击关闭excel想回到表单界面,实现不了。
#6
wcx_cc2020-02-21 15:37
楼主打开 excel 的方式,是难达到要求的,即便加个 wait 或 messagebox()等 阻挡一下,用起来显得不应手。不要用这种常规方式打开。换换方式:
比如: 木瓜的 myfll,函数是:ShellExecWait('带路径的文件名','')。还有更简洁的方式,调用 WScript.Shell,更简单。
#7
gs25367856782020-02-22 16:14
朋友你下载以后,自己琢磨吧
只有本站会员才能查看附件,请 登录
#8
杂七杂八2020-02-23 20:29
回复 7楼 gs2536785678
谢谢,打开excel 的时间有点长。
#9
杂七杂八2020-02-23 20:33
回复 3楼 吹水佬
这样excel是打开了并显示.想在关闭excel后回到表单界面。
#10
吹水佬2020-02-23 21:12
以下是引用杂七杂八在2020-2-23 20:33:14的发言:

这样excel是打开了并显示.想在关闭excel后回到表单界面。

这样关闭excel后不是回到表单界面,是回到哪里了?
#11
wcx_cc2020-02-24 00:06
楼主的意思是不是这样的?(点击表单的'确定'按钮,表单消失了并打开了电子表格,修改完电子表格并关闭后,表单自动重新出现了)
如果是:只有简单的5行代码即可解决.
只有本站会员才能查看附件,请 登录



#12
杂七杂八2020-02-24 08:43
回复 10楼 吹水佬
只有本站会员才能查看附件,请 登录
#13
杂七杂八2020-02-24 08:43
回复 10楼 吹水佬
只有本站会员才能查看附件,请 登录
#14
杂七杂八2020-02-25 19:14
o=NewObject('Excel.Application')
 o.Workbooks.Open(sys(5)+curdir()+"book1")

  if  MESSAGEBOX("已生成,要打开EXCEL吗?",1+256,"提示")==1
     o.visible=.t.
     RETURN
     ***到这里能正常打开EXCE并编辑,完成后点击关闭excel后回不到表单界面。
     ***请教代码怎么写,才能实现回到原表单界面***
     …………
  EndIf

   o.Workbooks.Close
   o.Quit
   Release oExcel
 
Thisform.show
#15
杂七杂八2020-02-27 20:37
回复 7楼 gs2536785678
o=NewObject('Excel.Application')
 o.Workbooks.Open(sys(5)+curdir()+"book1")

  if  MESSAGEBOX("已生成,要打开EXCEL吗?",1+256,"提示")==1
     o.visible=.t.
     o.windowstate=-4137&&****Excel窗口最大化,-4140&&&EXCEL窗口最小化
  EndIf
   o.Workbooks.Close
   o.Quit
   Release oExcel
 Thisform.show
试过,成了。
1