2011-10-31 5 views
0

그래, 입력 필드가 들어있는 doc라는 단어를 만들려고합니다. 사용자가 완료되고 서버에 문서로 전송할 때 모든 필드를 읽고 나머지는 건너 뛰고 싶습니다.단어 입력 필드를 읽으시겠습니까?

내 응용 프로그램에서 theese 태그를 읽는 방법을 찾는 데 문제가 있습니다.

Inputfields

예제 템플릿

는 여기에서 찾을 수 있습니다 : Here

내가 원하는 각 태그의 텍스트를 읽고 저장하는 것입니다.

Microsoft.Office.Interop.Word.Application ap = new Microsoft.Office.Interop.Word.Application(); 

     try 
     { 

      Document doc = ap.Documents.Open(txtFile.Text, ReadOnly: true, Visible: false); 
      doc.Activate(); 


      //What to do here? 


      ap.Documents.Close(SaveChanges: false, OriginalFormat: false, RouteDocument: false); 

     } 
     catch (Exception ex) 
     { 
      txtRes.Text += "Exception Caught: " + ex.Message + Environment.NewLine; 
     } 
+0

인가? – Yahia

+0

ASP.NET preferrably – Anders

+0

ok - 아래 답변을 참조하십시오 ... – Yahia

답변

1

오피스 상호 운용성이다 하지 (ASP.NET 또는 Windows 서비스 또는 이와 유사한 같은) 서버와 같은 시나리오에서 MS에 의해 지원 - http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2를 참조하십시오!

당신은 당신이 원하는 것을 달성하기 위해 몇 가지 라이브러리를 사용해야합니다

편집을 - 의견에 따라 :

다음 애플리케이션이 정상적인 애플리케이션에서만 작동한다는 점에주의하십시오 (.! P.NET 등) ...

당신은 기본적으로 doc입니다 코드)에합니다 ( DocumentFields 컬렉션을 이동해야합니다

은 ... 몇 가지 유용한 링크입니다

01 23,516,
+0

지원되지 않지만 여전히 실행 가능합니다. 말하자면 클라이언트 응용 프로그램에서 사용하기를 원합니다. – Anders

+0

"doable"은 Vista 이후 강화 된 보안 조치를 포함하여 많은 문제를 우회해야한다는 것을 의미합니다! 첫 번째 링크를 읽어주십시오! – Yahia

+0

그런 다음 서버 응용 프로그램으로 생각하지 마시고 (가능한 경우) 클라이언트 응용 프로그램을 통해이 작업을 수행하는 방법을 알려주십시오. 내 예제 코드를 참조하십시오. – Anders

0

도움이 될 수 있습니다

앱 ASP.NET 또는 Windows 서비스 또는 이와 유사한이
using Word = Microsoft.Office.Interop.Word; 
    ...  

     Word.Application word = new Word.ApplicationClass(); 
     object miss = System.Reflection.Missing.Value; 
     object path = @"D:\test.doc"; 
     object readOnly = false; 
     Word.Document document = word.Documents.Open(ref path, ref miss, ref readOnly, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss); 

     foreach (Word.FormField ff in document.FormFields) 
     { 
      MessageBox.Show(ff.Name." - ".ff.Result); 
     } 

     document.Close(ref miss, ref miss, ref miss); 
     word.Quit(); 
관련 문제