2012-05-15 4 views
0

내 응용 프로그램은 데이터베이스의 항목을 업데이트 한 다음 데이터베이스의 테이블 필드에서 채워진 편지 병합 문서를 엽니 다.Microsoft Word를 열고 Visual C# Express를 사용하여 편지 병합이 포함 된 특정 .doc을 표시하려면 어떻게합니까?

.doc가 네트워크 드라이브에 저장되었지만 이전에 시도한 두 번의 시도가 다른 오류를 반환했습니다. 어느 한 단어가 파일을 열려고하는 동안 오류가 발생했거나 파일이 나 혼자서 사용 중이며 편집을 위해 잠겨 있다고 알려줍니다. 여기

는 각각 두 가지 방법은 다음과 같습니다

//method1 
ProcessStartInfo startInfo = new ProcessStartInfo(); 
startInfo.FileName = "WINWORD.EXE"; 
startInfo.Arguments = fileName; 
Process.Start(startInfo); 

//method 2 (a simplified version of the first) 
Process.Start(fileName); 

위의 방법으로 명확하게 잘못된 C#을 또는 아무것도를 사용하여 이러한 Microsoft Word 문서를 열 수있는 또 다른 방법이 있나요?

답변

1

두 가지 방법 모두 작동해야하지만 ... 시도해 볼 또 하나가 있습니다. 어쩌면 더 나은 오류 메시지가 나타날 것입니다.

var type = Type.GetTypeFromProgID("Word.Application"); 
dynamic word = Activator.CreateInstance(type); 
word.Visible = true; 
word.Documents.Open(@"C:\test.docx"); 
+0

멋지게 작동합니다. – mechaman64