发新话题
打印

请大家多多帮忙!!!

请大家多多帮忙!!!

如何把服务器端的两个DOC文件内容合并,生成一个新文件?

TOP

Selection  对象  
本对象代表一个窗格中的选定内容。该选定内容可以包括文档中的一个区域,也可以仅包括插入点。  
注意    每个窗格中只能有一个  Selection  对象,而且只能激活一个  Selection  对象。  
使用  Selection  对象  
可用  Selection  属性返回  Selection  对象。下例层叠选定内容(如果需要)并将插入点移至当前行尾。  
Selection.EndKey  Unit:=wdLine,  Extend:=wdMove  
下例更新选定内容中的域。  

If  Selection.Fields.Count  >=  1  Then  Selection.Fields.Update  
可用  Type  属性返回选定内容类型(例如,选定内容是一块内容还是一个插入点)。下例当选定内容为插入点时将选定内容变为当前段。  

If  Selection.Type  =  wdSelectionIP  Then  
       Selection.Paragraphs(1).Range.Select  
End  If  
可用  Information  属性返回有关选定内容的信息。下例当选定内容在表格中时显示该表格的行数和列数。  

If  Selection.Information(wdWithInTable)  =  True  Then  
       MsgBox  "Columns  =  "  _  
               &  Selection.Information(wdMaximumNumberOfColumns)  _  
               &  vbCr  &  "Rows  =  "  _  
               &  Selection.Information(wdMaximumNumberOfRows)  
End  If  
可用  Select  方法选定文档中的一个项目。下例选定活动文档中的第一个书签并将其显示为红色。  

If  ActiveDocument.Bookmarks.Count  >=  1  Then  
       ActiveDocument.Bookmarks(1).Select  
       Selection.Font.ColorIndex  =  wdRed  
End  If  
Selection  对象还包括了几种用于扩展或移动当前选定内容的方法。例如,可以将  MoveDown  方法的  Extend  参数设为  wdExtend。下例在活动窗口中选定接下的三段。   

With  Selection  
       .StartOf  Unit:=wdParagraph,  Extend:=wdMove  
       .MoveDown  Unit:=wdParagraph,  Count:=3,  Extend:=wdExtend  
End  With  
说明  

可用  Range  属性从  Selection  对象返回一个  Range  对象。下例将变量  myRange  定义为所选范围。  

Set  myRange  =  Selection.Range  
记录宏时,宏记录器经常将变化记录到  Selection  对象。下列宏将文档的起始两个词设为加粗格式,并新添一段。  

Selection.HomeKey  Unit:=wdStory  
Selection.MoveRight  Unit:=wdWord,  Count:=2,  Extend:=wdExtend  
Selection.Font.Bold  =  wdToggle  
Selection.MoveRight  Unit:=wdCharacter,  Count:=1  
Selection.TypeParagraph  
下例完成与上例相同的操作,但不使用  Selection  对象。  

Set  myRange  =  ActiveDocument.Range(Start:=0,  _  
       End:=ActiveDocument.Words(2).End)  
myRange.Bold  =  True  
myRange.InsertParagraphAfter  
每个窗格中只能有一个  Selection  对象;但在一个文档中可以有多个  Range  对象。一个  Range  对象代表了文档中一个已选定或未选定的范围。用  Range  对象可很方便地进行文档操作。详细内容,请参阅处理  Range  对象。

TOP

Selection对象是作为Word.Application的一个属性存在的.  
上面的代码是在Word  VBA中的用法。  
在ASP中使用必须经过适当的转换  
例如ASP中必须显式指定Word.Application对象  
ASP不支持命名参数语法  
ASP不支持MsgBox等界面类的方法调用

TOP

<%  
set  wordApp=createobject("word.application")   
set  wordDoc=createobject("word.document")   
strDocFile="..\1.doc"  
set  wordDoc=wordApp.documents.open(strDocFile)   
wordDoc.SaveAs  "..\11.doc"  

在这里操作你的文档副本,对于内容定位你可以使用Bookmarks定位,也就是说你在模板文件中定义你需要操作内容区域为书签  
然后用  
if  WordDoc.bookmarks.exists("你的书签名称")  then  
       WordDoc.bookmarks("你的书签名称").select  
       wordApp.selection.xxxxx    (这里就是操作selection的内容了,根据需要你可以直接访问  
                                                           selection的tables,  rows,  cells,  Characters,  
                                                           columns,  Comments,Fields,InlineShapes等等对象结合,  
                                                           进行你说需要的限定范围内的任何对象集合操作  
                                                           [包括对象修改,新增,删除,查找等任何功能])  
end  if  
你用strDocContent=wordDoc.content  
当然会丢失格式了  


wordDoc.close   
wordApp.quit        '注意,任何操作必须记得调用wordapp的quit,否则将流失系统资源,导致应用服务器被锁定  
set  wordDoc=nothing   
set  wordApp=nothing  %>

TOP

其实如何操作Word最简单的方法就是你在Word中操作,用宏记录器在Word  VBA中记录一个宏操作,然后查看宏代码,按找我上面说的VBA向VBS转换的规则进行转换就对了.

TOP

发新话题