注意:必须将IE的安全设置中的对没有标记安全的Active。。。选择启用,否则js报Automation服务器错误
<HTML>
    
<HEAD>
        
<title>index</title>
        
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        
<meta name="CODE_LANGUAGE" Content="C#">
        
<meta name="vs_defaultClientScript" content="JavaScript">
        
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
        
<script language='javascript'>
          
var os__localPath = "c:\\";
//保存的文件名
   var os__localFile = "defaultFileWord.htm";
   
var os__xmlDom = new ActiveXObject("MSXML2.DOMDocument");
   
var os__xmlFSO ;

   
//保存数据到当前客户端(可以传入一个要保存的文件名).
   function os_SaveToLocal()
   
{
    
var _saveAs = "";
    
if(arguments.length > 0)
     _saveAs 
= arguments[0+ "";
    
else
     _saveAs 
= os__localFile;
     
    
try
    
{        
     
if(os__xmlFSO == null)
      os__xmlFSO 
= new ActiveXObject("Scripting.FileSystemObject");   
   
    }

    
catch(e){window.alert(e);}
   }
  
   
   
//Word转化为Html文件
   function WorcChangeHtml()
   
{
    
var os_xmlFSO;
                                
//获得上传控件对象
    var objUpFile = window.document.Form1.updFile;
    
//获得客户端Word文件路径和文件
    var UpFileValue = window.document.Form1.updFile.value;
    
if(os__xmlFSO == null)
      os__xmlFSO 
= new ActiveXObject("Scripting.FileSystemObject");      
     
    
try
    
{
     
if(window.document.Form1.updFile.value == "")
     
{
      alert('请选择对应的Word文件');
      objUpFile.focus();
     }

     
else if(UpFileValue.indexOf(".doc"== -1)
     
{
      alert('您选择的不是Word文件 \r\n请选择正确的Word文件');
      objUpFile.focus();
     }
    
     
else if(!os__xmlFSO.FileExists(objUpFile.value))
     
{
      alert('对应的Word文件不存在');
      objUpFile.focus();     
     }

     
else
     
{
      
var wdFormatHTML = 8;
      
var objWord = new ActiveXObject("Word.Application");
      objWord.Application.Visible 
= false;
      
var objDoc = objWord.Documents.Open(UpFileValue);
      objDoc.SaveAs(os__localPath
+os__localFile, wdFormatHTML);
      window.document.Form1.updFile.value 
= "";
      objDoc.Close();
      objWord.Quit();
      
var GetHtml = GetLine();
       
var iBeginIndex = GetHtml.indexOf("MsoNormal><span");
     
var iEndIndex = GetHtml.lastIndexOf("span></p>");

      
      GetHtml 
=  GetHtml.substring(iBeginIndex+14,iEndIndex);
      
//GetHtml = GetHtml.replace("</body>","</div>");
      iBeginIndex = GetHtml.indexOf(">");
      iEndIndex 
= GetHtml.lastIndexOf("<");
      GetHtml 
=  GetHtml.substring(iBeginIndex+1,iEndIndex);
      
//将转化后的值赋给页面控件txtIdea的值,我为了将Word值保存进数据库所以用<input type = //"hidden" ..            如果将Word内容显示可以考虑 window.document.Form1."你的显示控件//ID".innerText =  GetHtml;
      //window.document.Form1.txtIdea.innerText= GetHtml;
      alert('导出html文件成功');
     }

    }

    
catch(e){window.alert(e);}
   }

   
   
//读取文本文件
   function GetLine()
   
{
    
var fso, txtfile, strValue;
    
var ForReading = 1, ForWriting = 2;
    fso 
= new ActiveXObject("Scripting.FileSystemObject");
    txtfile 
= fso.OpenTextFile(os__localPath+os__localFile, ForReading);
    
while(!txtfile.AtEndOfStream) 
    
{
     strValue 
=  strValue + txtfile.ReadLine();
    }

    txtfile.Close();
    
return(strValue);
   }

     
        
</script>
    
</HEAD>
    
<body>
        
<form id="Form1" method="post" runat="server">
            
<input id="updFile" type="file" style="width: 308px">
            
<br>
            
<input type=button    onclick="WorcChangeHtml()" id="1btnUpLoad"  value="导出为html文件" name="btnUpLoad">&nbsp;&nbsp;
        
        
</form>
    
</body>
</HTML>
posted on 2007-07-11 22:55  阳春  阅读(1203)  评论(0)    收藏  举报