2011-10-18 4 views
2

다음을 사용하여 단어 파일에 쓰려면 코드를 사용했지만 단어 파일은 저장할 수 없습니다. C#을 사용하여 단어 파일을 저장할 수있는 방법이 있습니까?C#을 사용하여 doc 파일을 저장하는 방법

object oMissing = System.Reflection.Missing.Value; 
       object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */ 
       //Start Word and create a new document. 
       Microsoft.Office.Interop.Word._Application oWord = new Microsoft.Office.Interop.Word.Application(); 

      Microsoft.Office.Interop.Word._Document oDoc = new Microsoft.Office.Interop.Word.Document(); 

      oWord.Visible = true; 

      oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing); 

      //Insert a paragraph at the beginning of the document. 
      Microsoft.Office.Interop.Word.Paragraph oPara1; 

      oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing); 
      oPara1.Range.Text = "Heading 1"; 
      oPara1.Range.Font.Bold = 1; 
      oPara1.Format.SpaceAfter = 24; //24 pt spacing after paragraph. 
+1

oDoc에서 Save 메서드를 호출하면 작동하지 않습니다? http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word._document.save.aspx 여기를 참고하십시오 : http://msdn.microsoft.com/en-us/library/microsoft .office.interop.word._document_members.aspx – Icarus

+2

또는 다른 이름으로 저장 : http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word._document.saveas.aspx –

답변

8

SaveAs를 사용할 수 있습니다.

oDoc.SaveAs("MyFile.doc", ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing); 

.NET 4.0을 사용하는 경우 oMissing이 필요하지 않습니다.

S

+1

+1; 나를 때려. 그러나 C# 4를 사용하지 않으면 fileName을 참조로 전달해야합니다. – vcsjones

0

이 시도 : 난 그냥, .NET 4 및 C#을 사용하여 새 콘솔 응용 프로그램, 참조 된 Microsoft Word 개체 라이브러리를 만들어 붙여 코드를과와 같은 모든 ref missing을 제거

var FileName = 'file name with path' 

    oWord.ActiveDocument.SaveAs(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); 
    oDoc.Close(ref missing, ref missing, ref missing); 
4

. NET 4 및 선택적 매개 변수는 더 이상 필요하지 않습니다. 여기에 charme과 같은 실제 코드가 있습니다.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

using Microsoft.Office.Interop.Word; 

namespace ConsoleApplication5 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Microsoft.Office.Interop.Word._Application oWord = new Application(); 

      oWord.Visible = true; 

      var oDoc = oWord.Documents.Add(); 

      //Insert a paragraph at the beginning of the document. 
      var paragraph1 = oDoc.Content.Paragraphs.Add(); 

      paragraph1.Range.Text = "Heading 1"; 
      paragraph1.Range.Font.Bold = 1; 
      paragraph1.Format.SpaceAfter = 24; //24 pt spacing after paragraph. 

      oDoc.SaveAs2(@"C:\Temp\TestDocumentWith1Paragraph.docx"); 

      oWord.Quit(); 
     } 
    } 
} 
관련 문제