800分请教一个问题!!!

jwmarger 2003-04-15 07:34:53
问题:如何在一个网页中点击一个按钮,就可以调用一个空的word文档,就是调用机器上的word程序,但不知程序安装在什么位置?
======================================
曾有解决方案:程序如下(梅花雨提供):
<script language=javascript>
var wsh=new ActiveXObject("wscript.shell");
wsh.run("WINWORD.EXE");
</script>
=======================================
但是存在这样的一个问题,就是这段脚本在htm页中,直接点击可以毫无问题的调用(除了弹出一个安全警告),但是一旦放在把它放在IIS虚拟目录下并设为默认页,在地址栏上键入我的网站地址(http://coolpig),就会弹出这样的信息:
Automation server can't create object,这是为什么?希望知道的能尽快的答复我,如果问题能够解决你将得到800分的奖励(要在我其他各版的帖子回复一下).
我已经在多个版中发了帖子,你可以通过搜索该标题和jwmarger.请尽快答复!!
很急~~~~~~~~~~~~~~~~
=======================================
希望联系:jw-marger@163.com 6498359
...全文
77 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
cboy2003 2003-04-18
  • 打赏
  • 举报
回复
up
daojj 2003-04-18
  • 打赏
  • 举报
回复
gz
jwmarger 2003-04-18
  • 打赏
  • 举报
回复
你们的方法,我怎么实现不了呢?
这到底是什么原因?
<script language=javascript>
var wsh=new ActiveXObject("wscript.shell");
wsh.run("WINWORD.EXE");
</script>
这里好像还有个环境变量,跟着有关系吗?
leeeel 2003-04-17
  • 打赏
  • 举报
回复
实在是无此必要。
brothder 2003-04-17
  • 打赏
  • 举报
回复
我有一个非常好的办法,代码如下:
<%
response.Expires = 0
response.Buffer = True
response.Clear
response.ContentType = "application/msword"
response.AddHeader "Content-Disposition", "filename=test.doc"
response.End
%>
blues-star 2003-04-17
  • 打赏
  • 举报
回复
<script>
var tmp = new ActiveXObject("Word.Application");
tmp.Visible = true;
</script>

你所说的现象是正常的。


var tmp = new ActiveXObject("Word.Application");
tmp.Visible = true;


把这两行保存成c:\RunWord.js
然后运行cmd(Command)
执行命令Cscript c:\RunWord.js

这样是没有提示的,因为它是本地脚本
出现提示,因为他是别人网站(其实是你自己的)上的脚本,如果我在脚本中加入Fso等,就可以删除浏览者机器上的文件,这是谁都不想看到的,所以,IE要加安全提示。
maomaosy 2003-04-17
  • 打赏
  • 举报
回复
在“组建服务”中加入Word.Application
在Word.Application设置她的权限就可以在服务段使用了
jwmarger 2003-04-17
  • 打赏
  • 举报
回复
骆驼你的程序也出了那样的问题。
哇~~~~~~~~~~~~~~~~~~~~~~~
wang11912 2003-04-15
  • 打赏
  • 举报
回复
不太明白你的意思,如果在客户端调用WORD可以用
createobject("word.document")
然后用VBA操作WORD就可以啊,
Automation server can't create object我估计是权限问题,运行dcomcfg看看
ChinaOk 2003-04-15
  • 打赏
  • 举报
回复
不可以。除非你在客户端安装一个自己写的activex来实现这个功能。
安全性的问题。所以利用漏洞,或者其他什么不正式的方式都不可行。
wsj 2003-04-15
  • 打赏
  • 举报
回复
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<SCRIPT>
function EditWord(savePath)
{
var oWordApp = new ActiveXObject("Word.Application");
oWordApp.Visible = true;
oWordApp.Activate();
var oWordDoc = oWordApp.Documents.Add(savePath);
oWordApp.ActiveWindow.Visible = true;
oWordApp.ActiveWindow.Activate();
oWordApp.ActiveWindow.WindowState = 0;
oWordDoc.Activate();

var rngCurrent = oWordDoc.Application.ActiveDocument.Content.GoToNext(2)
var tabCurrent = oWordDoc.Application.ActiveDocument.Tables.Add(rngCurrent,4,4)
oWordDoc.Tables(1).Rows(1).Cells(1).Range.InsertAfter("cell1 content");
oWordDoc.SaveAs(savePath,0);
}
</script>
<BODY>
<span style="cursor:hand;color:blue" onclick="EditWord('c://test.doc')">click to open new document</span>
<P> </P>

</BODY>
</HTML>
bjt_ 2003-04-15
  • 打赏
  • 举报
回复
参考IE5的几个典型漏洞,其中有能实现该功能的。
liuqinyi 2003-04-15
  • 打赏
  • 举报
回复
如果想去掉的话,可以在internet选项里面中把安全等级降低,允许不安全的activeX存在,不过,其他的客户端呢?
为什么要打开一个空的word呢?如果仅仅是空的话,那么你可以使用FSO+stream来建立一个空的**.doc 的文档呀,这样也是可以的呀。就是在服务端。无法在浏览器端。
liuqinyi 2003-04-15
  • 打赏
  • 举报
回复
和你的系统没有关系,和IE中对activeX组件的安全等级有关系的。
建议不要这样,给客户端照成一种非常的不安全感,可以考虑使用其他的一些办法。
xieqi 2003-04-15
  • 打赏
  • 举报
回复
我用了这个代码。
<script language=javascript>
var wsh=new ActiveXObject("wscript.shell");
wsh.run("WINWORD.EXE");
</script>
可以打开的。
我想可能和系统有关。我用的是windows XP ,IE6.0。
你用这个系统试试看。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧