Documents.open 提示缺少对象?

esue181 2009-09-17 03:25:04
利用vbs在服务器上操作一个doc文档

set wApp=CreateObject("word.Application") 'OK
if err.number>0 then
response.write err.description&err.number
response.end
end
wApp.Documents.open "d:\doc\template.doc" '提示缺少对象
有人知道这个是什么问题吗?
...全文
299 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
esue181 2009-09-18
  • 打赏
  • 举报
回复
问题已经解决了.是权限的问题.应该是set wApp=CreateObject("word.Application")这个返回的wApp出了问题,才导致缺少对象的提示.但是不清楚为什么没有在这里报错.将组件管理器中word文档属性等位置的权限都改了以后问题就没了.
esue181 2009-09-17
  • 打赏
  • 举报
回复
请问改完权限需要重启IIS或者服务器吗?
hgc888 2009-09-17
  • 打赏
  • 举报
回复
hehr
esue181 2009-09-17
  • 打赏
  • 举报
回复
匿名账户改成管理员了还是不行....
凡夫与俗子 2009-09-17
  • 打赏
  • 举报
回复
我这边测试不报错,但是一直打不开。。。
hookee 2009-09-17
  • 打赏
  • 举报
回复
语句上没什么问题,装了Office的话,本地程序就能运行。
IIS的匿名账号设为Administrator的试试看.
esue181 2009-09-17
  • 打赏
  • 举报
回复
不知道方法一的和我写的有什么区别?我是为了后面对doc的书签进行替换,用方法二的话就不知道怎么定位文档里面的书签了.
[Quote=引用 2 楼 mailbao 的回复:]
參考方法一
-------------
Public Sub OpenFile(FilePath as String)
Dim oWord As Object
Dim oDoc As Object
Set oWord = CreateObject("Word.Application")
oWord.Visible = True
Set oDoc = oWord.Documents.Open(FilePath)
End Sub


參考方法二
----------------------
<% 
  response.ContentType="application/x-msword"   
  Const  adTypeBinary  =  1 
  Dim  strFilePath   
  strFilePath  =  "d:\doc\template.doc" 
  Set  objStream  =  Server.CreateObject("ADODB.Stream") 
  objStream.Open 
  objStream.Type  =  adTypeBinary 
  objStream.LoadFromFile  strFilePath   
  Response.BinaryWrite  objStream.Read 
  objStream.Close 
  Set  objStream  =  Nothing 
  %> 

[/Quote]
esue181 2009-09-17
  • 打赏
  • 举报
回复
err是VBS的默认对象,不是这个报错的
[Quote=引用 1 楼 sdsyzzz 的回复:]
因为计算机不知道你的err这个对象是哪来的,所以要报错,你应该先声明或者定义!
[/Quote]
esue181 2009-09-17
  • 打赏
  • 举报
回复
if是漏打了
[Quote=引用 4 楼 zxdldh007 的回复:]
<%
set wApp=CreateObject("word.Application")    'OK
if err.number>0 then
  response.write err.description&err.number
  response.end
endif    '少了个if吧
wApp.Documents.open "d:\doc\template.doc"
%>

[/Quote]
凡夫与俗子 2009-09-17
  • 打赏
  • 举报
回复
<%
set wApp=CreateObject("word.Application") 'OK
if err.number>0 then
response.write err.description&err.number
response.end
end if '少了个if吧
wApp.Documents.open "d:\doc\template.doc"
%>
xinyung 2009-09-17
  • 打赏
  • 举报
回复
你是在服务器上打开,试试在本地行不行?
mailbao 2009-09-17
  • 打赏
  • 举报
回复
參考方法一
-------------
Public Sub OpenFile(FilePath as String)
Dim oWord As Object
Dim oDoc As Object
Set oWord = CreateObject("Word.Application")
oWord.Visible = True
Set oDoc = oWord.Documents.Open(FilePath)
End Sub


參考方法二
----------------------
<%
response.ContentType="application/x-msword"
Const adTypeBinary = 1
Dim strFilePath
strFilePath = "d:\doc\template.doc"
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
%>
sdsyzzz 2009-09-17
  • 打赏
  • 举报
回复
因为计算机不知道你的err这个对象是哪来的,所以要报错,你应该先声明或者定义!

28,391

社区成员

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

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