2012-02-13 73 views
0

我尝试使用:Microsoft.Office.Interop.Word打开Word文件。 这是我在funcs中的LoadFile代码:使用Word Interop打开文件Word并替换SharePoint 2010中的一些文本

using Word = Microsoft.Office.Interop.Word; 
private void LoadFile(string MyID) 
    { 
     Word.Application word = new Word.Application(); 
     Word.Document doc = new Word.Document(); 
     object missing = System.Type.Missing; 

     try 
     { 
      object fileName = "File URL"; 
      doc = word.Documents.Open(ref fileName, 
       ref missing, ref missing, ref missing, ref missing, 
       ref missing, ref missing, ref missing, ref missing, 
       ref missing, ref missing, ref missing, ref missing, 
       ref missing, ref missing, ref missing); 
      doc.Activate(); 
      // Replace [$ID] by MyID 
      foreach (Word.Range tmpRange in doc.StoryRanges) 
      { 
       tmpRange.Find.Text = "[$ID]"; 
       tmpRange.Find.Replacement.Text = MyID; 
       tmpRange.Find.Wrap = Word.WdFindWrap.wdFindContinue; 
       object replaceAll = Word.WdReplace.wdReplaceAll; 
       tmpRange.Find.Execute(ref missing, ref missing, ref missing, 
        ref missing, ref missing, ref missing, ref missing, 
        ref missing, ref missing, ref missing, ref replaceAll, 
        ref missing, ref missing, ref missing, ref missing); 
      } 

      // And open this file after replace 
      word.Visible = true; 
     } 
     catch (Exception ex) 
     { 
      doc.Close(ref missing, ref missing, ref missing); 
      word.Application.Quit(ref missing, ref missing, ref missing); 
     } 
    } 

在ASP.NET中,这个文件是开放的,通过身份识别码替换[$ ID]。但是我无法在SharePoint 2010中的Web部件中使用此代码。这是错误的。

有人给我一些建议,或者我可以通过另一种方式实现这个目标吗?

我的目标是:由MS Word打开的文件文件,它取代了一些文本。

回答

相关问题