求救!我在HTML文件中打开Word文件,我想直接在打开的Word文件中修改,并且通过HTTP方式保存回去,请问应该怎么做?我打开Word文件时就启动了客户机端的Word软件

faye 2000-08-09 02:36:00
...全文
4039 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
TOKA 2001-09-27
  • 打赏
  • 举报
回复
保存痕迹可以在Word中调用word的修订功能,应为每个用户做的修订都会保存在word文件中
Michael 2001-04-24
  • 打赏
  • 举报
回复
请问VictorYu(唯鱼),我在试验你的程序时发现CreateObject("Word.Application")不成功;另外我是要打开一个已存在的文件,用GetObject也不行(word文件放在Web服务上), 请问如何解决??
我的目的仅是完成打开、修改与打印文档,不需保存。
谢谢各位
Pzher 2001-04-24
  • 打赏
  • 举报
回复
VictorYu(唯鱼) 的办法不错~~~
具体还可以使用UBB代码来做页面,把修改的地方的字体颜色和大小改变~~~
leonchen 2001-04-23
  • 打赏
  • 举报
回复
装了Word就有
yongyue2000i 2001-04-22
  • 打赏
  • 举报
回复
CreateObject("Word.Application")
这个组件哪里可以找到?
iif 2001-04-21
  • 打赏
  • 举报
回复
关注
faye 2000-08-16
  • 打赏
  • 举报
回复
VictorYu:我要实现的是一个Web上的收发文流程的程序,比如说,一个发文流程,首先是发文拟稿,并且把要发文的文件以附件的形式上传上去,后面的流程就对发文的附件进行核稿,有无错别字等,因此随便那个地方都有可能进行修改,最后对正式的文件进行发文。。。你对这个流程有什么看法,如何实现他比较好?多谢
faye 2000-08-15
  • 打赏
  • 举报
回复
兄弟们,可不可以用数据库的Blob类型字段进行处理,望指教,VictorYu,再帮我想一想?
VictorYu 2000-08-15
  • 打赏
  • 举报
回复
保存修改痕迹是会有点麻烦.
正如我说过的,内部网的实现可以是不用拘泥于形式。
重新看看你的问题。
一共要实现两点。
第一:实现在客户端生成WORD文档。这一个已经可以实现。
第二:可以将用户的修改痕迹。
这一点的实现现在会有两种方案。
一、在客户端开启WORD。把客户的修改存回服务器。(当然,这种方法目前还没有一个网友能给出一个好的解决方案)
二、很简单,把用户可能进行修改的东东提取出来。放在网页上(用INPUT,用TEXTAREA,用什么都可以),每次用户的修改都进入数据库。在数据库中记录“修改痕迹”;如果用户要生成的WORD文件中有修改痕迹。可以在生成客户端WORD文件时将修改痕迹从数据库中取出,放到生成的文件中。这个实现过程可能有点饶。不过每一步都是蛮简单的。



qiujoe 2000-08-13
  • 打赏
  • 举报
回复
我想,
如果将WORD文件以流的方式保存在数据库中是不是可以保存回去?
请大家指正
linyu 2000-08-13
  • 打赏
  • 举报
回复
上面的实现浏览和打印是够了,但是是没有办法存回去的,更不可能保存修改痕迹。
可能要等WORD2001了。
要实现这些功能,用NOTES好了
VictorYu 2000-08-11
  • 打赏
  • 举报
回复
to faye
SQL有专门的记录,谁对数据库的数据进行什么修改.
呵呵,你说的这个问题我们原来就解决了
faye 2000-08-11
  • 打赏
  • 举报
回复
我在客户端已经用word程序把服务器端的word文档打开(通过修改注册表)
另:我所需要的是通过word程序把每个人的修改、删除都能显示出来即所谓的痕迹保存。
cjlong 2000-08-11
  • 打赏
  • 举报
回复
word可内置于IE,直接使用连接到一个word文件,即可在浏览器上通过HTTP方式启动客户端Word程序把他打开。但要回传,还需用上载组件。
1、试一试将网页分为两贞,一个上传,一个打开word,我没试过。
2、如你也是局域网,可将word文件放到一共享文件夹。将权限设为读写。
VictorYu 2000-08-11
  • 打赏
  • 举报
回复
你好
我的经验也是在企业内部网中。
以前遇见过同样类型的问题。有一点我们一直没有解决的,在客户端使用HTTP开启WORD方式。这种方式可以很容易的看见WORD文档,但是修改会很麻烦。

我的建议(也是原来使用的方法)
在网页上将WORD文档要使用的所有信息列出。可以让用户进行修改。修改之后提交到服务器端。
这样可以保证所有的用户看见同样的信息。(让数据库的信息同步比较容易罗,呵呵)
当用户需要WORD文档时,从服务器端读出信息。用模板(直接的客户端VBSCRIPT)生成一个WORD文档。用户可以进行打印文档等等操作。也就是有客户端脚本开启WORD.
如果这个方法可以用在你的内部网中,我可以给你比较详细的说明。


faye 2000-08-11
  • 打赏
  • 举报
回复
VictorYu:
你好!
我说明几点:
我是在Intranet中。
1、Word文件本身就存放在服务器端,在浏览器上通过HTTP方式启动客户端Word程序把他打开,进行修改保存。
2、由于服务器端的Word文件是共享的,如果两个人同时打开这份文档,其中一个人的修改,就不能在另外一个人中有所体现,本来一旦有人打开这份Word文档,另外一个人再打开时,则会提醒他已有人打开,我要的就是这种效果。谢谢!
VictorYu 2000-08-11
  • 打赏
  • 举报
回复
to faye
我提出来的是一个已经有应用的思路, 大体是分成几块。
1、数据库的提交,将用户的信息提交到服务器端。
2、在本地打开一个WORD文档,下面这个代码你可以试试

<script LANGUAGE="VBScript">
Const wdAuto = 0
Const wdGray25 = 16

Const wdAlignParagraphLeft = 0
Const wdAlignParagraphCenter = 1
Const wdAlignParagraphRight = 2

Const wdTextureNone = 1
Const wdFindContinue = 1
Const wdReplaceAll = 1


Dim objWordApp ' Microsoft Word Application object
Dim objTable
Dim nCurrentRow
dim nTableIndex
Function BuildPlanDoc
changedata()
Dim bResult
Dim myRange
Dim objData, szTemp
Dim nLen
Dim nAbsolutePosition

nTableRows = 2
'Create Word Application object
Set objWordApp = CreateObject("Word.Application")

if objWordApp <> "Microsoft Word" then
alert ("Microsoft Word can not be launched !")
bResult = false
else
objWordApp.Documents.Add
objWordApp.WindowState = wdWindowStateNormal
objWordApp.ActiveWindow = "更新统计"
objWordApp.visible = true
bResult = true
end if

Set objData = document.all ("GetInfo?).recordset

objWordApp.ActiveDocument.PageSetup.LeftMargin = 20
objWordApp.ActiveDocument.PageSetup.RightMargin = 20

Set myRange = objWordApp.ActiveDocument.Paragraphs.Add.Range
objWordApp.ActiveDocument.Tables.Add myRange, objData.RecordCount + 1, 3
myRange.Font.Size = 10

Set objTable = objWordApp.ActiveDocument.Tables(1)
objTable.Borders.Enable = TRUE
objTable.Rows(1).Range.Font.Bold = True
objTable.Rows(1).Range.Font.Size = 10
objTable.Cell(1, 1).Range.InsertAfter "题目"
objTable.Cell(1, 2).Range.InsertAfter "目录"
objTable.Cell(1, 3).Range.InsertAfter "字数"

if objData.RecordCount <> 0 then
objData.MoveFirst
do while not objData.EOF
if Left(objData("Name").value, 6) = "Create" then
objTable.Cell(nTableRows, 1).Range.InsertAfter objData("Title").value & "(共" & Right(objData("Name").value, Len(objData("Name").value) - 6) & "篇)"
else
objTable.Cell(nTableRows, 1).Range.InsertAfter objData("Title").value
end if

objTable.Cell(nTableRows, 2).Range.InsertAfter objData("Directory").value

objTable.Cell(nTableRows, 3).Range.InsertAfter objData("Size").value / 2
nTableRows = nTableRows + 1
objData.MoveNext
loop

end if
objWordApp.Activate
End Function



</script>

这是我写一将一个数据绑定控件中的数据写在WORD文档中生成一个表格。
其中GetInfo是数据绑定控件。有Title, Directory, size三个项目。

如果还有问题,可以发mail给我。我的OICQ是9407579
faye 2000-08-11
  • 打赏
  • 举报
回复
VictorYu:
请给我比较详细的说明,我的Email地址是:zhuyg9501@telekbird.com.cn
谢谢!
VictorYu 2000-08-09
  • 打赏
  • 举报
回复
你是说在把客户端WORD上的修改传到服务器端?
没有什么好的办法.
可以把生成的WORD档用文件方式传回去,不过WORD一般比较大,传回去会很慢的.

28,390

社区成员

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

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