标题:一台装有office的计算机上,如何点击vfp一个表单上的按钮,打开c盘根目录的 ...
只看楼主
vfpp314
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2016-3-18
结帖率:66.67%
已结贴  问题点数:10 回复次数:5 
一台装有office的计算机上,如何点击vfp一个表单上的按钮,打开c盘根目录的一个word文档?
一台装有office的计算机上,如何点击vfp一个表单上的按钮,打开c盘根目录的一个word文档?

也就是说,什么命令可以起到双击这个word文档的效果?

我现在是这么写的:  run/n3 C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE C:\路径\文件.Xls  

但是这只在office默认安装路径才有效,如果office 安装在其他盘的话,就不对了。

[此贴子已经被作者于2016-4-8 16:59编辑过]

搜索更多相关主题的帖子: Microsoft office 计算机 Office 根目录 
2016-04-08 16:39
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:5 
用Ole,多查查资料,你提的要求要打开一个WORD,但是,后来你又跟的是“C:\路径\文件.Xls”,搞不清你到底是要打开WORD还是EXCEL了?
程序代码:
* 以下是VFP打开WORD的示例:
tcFileDestination="D:\TXT\政策\回款任务计算规则.docx"
oleapp=Createobject('Word.application')
oleapp.DisplayAlerts=.f.
oleapp.Documents.Open(tcFileDestination) &&打开目标文件
oleapp.Visible=.t.
以上是打开WORD的示例,打开EXCEL的大同小异,你自己琢磨吧。

2016-04-08 17:03
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
得分:0 
* Get Word Doc
WordDoc = Getfile("DOC,DOCX", "Get Word Doc")
If File( WordDoc ) = .F.
    Wait Window "你没有选择 DOC 文件"
    Return  && 取消打开
Endif

* 避免二次打开同一个 DOC 文件
nHandle = Fopen( WordDoc, 12)
Fclose( nHandle )
If nHandle < 0
    Wait Window "你已经打开了该文件"
    Return  && 取消再次打开
Endif

* Create Word Object, load the Doc
oWord = Createobject("Word.Application")
oWord.Visible = .T.
oDocument = oWord.Documents.Open( WordDoc )

*!*    oWord.ActiveDocument.Close
*!*    oWord.Quit

*!*    oWord = Null
*!*    Release oWord


[此贴子已经被作者于2016-4-8 17:26编辑过]


民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-04-08 17:24
云中飞燕
Rank: 1
等 级:新手上路
威 望:1
帖 子:6
专家分:0
注 册:2014-5-28
得分:0 
回复 3楼 aaaaaa
CREATEOBJECT("Word.Application")
在2007版本中出错,只能在Word2003版本及之前使用
大神知道 2007版本中究竟是什么命令吗?
2016-06-10 16:07
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
得分:0 
如果是:CREATEOBJECT("Word.Application") 这句命令出错的,应该是你的 Office 有问题,比如是洁版/克隆版,或者是服务注册问题;
如果是打开 Docx 文件出错的,你应该下载一个 2003 升级为 2007 版的一个插件。

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-06-10 20:20
wangxinlj
Rank: 1
等 级:新手上路
威 望:1
帖 子:5
专家分:0
注 册:2016-6-14
得分:0 
可以調用PAI函數:

&& 借用3樓的 WordDoc
LOCAL lnRtn
DECLARE  LONG ShellExecute IN "shell32.dll" Long hwnd, String lpOperation, String lpFile,;
                                            String lpParameters, String lpDirectory, Long nShowCmd
lnRtn=ShellExecute(0, .NULL., WordDoc, .NULL., .NULL., 1)

2016-06-14 16:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-463416-1-1.html




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

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