문제
Microsoft Word 2003 파일을 열고 파일 속성을 변경해야합니다. 요약 탭에서 주제 변경과 같은.
해결책
Microsoft는 Dsofile이라는 매우 유용한 작은 어셈블리를 제공합니다. 프로젝트에서이를 참조하면 사무실 문서 속성을 수정할 수 있습니다. 반드시 실제 사무실 파일의 속성 대화 상자를 열 수는 없지만 확실히 시뮬레이션 할 수 있습니다.
Microsoft에 따르면 :
dsofile.dll 파일을 사용하면 사무실이 설치되지 않은 경우 사무실 문서 속성을 편집 할 수 있습니다.
자세한 내용과 다운로드 링크는 다음에서 확인할 수 있습니다. http://support.microsoft.com/kb/224351
여기에 내가 사용한 일부 (아주 오래된) VB 코드가 있습니다. 죄송합니다. C#으로 변환하지 않았고 인스턴스 변수에 대한 참조가 있으므로 클래스의 일부라는 점에 유의하십시오. 그럼에도 불구하고 이해하기 쉽고 자신의 필요에 대해 은밀해야합니다.
Private Sub ProcessOfficeDocument(ByVal fileName As String)
Dim docDSO As New DSOFile.OleDocumentPropertiesClass
Dim docTitle, docModified, docAuthor, docKeywords As String
Try
docDSO.Open(fileName, True)
Dim docSummary As DSOFile.SummaryProperties = docDSO.SummaryProperties
docTitle = docSummary.Title
docAuthor = docSummary.Author
docKeywords = docSummary.Keywords
docModified = CStr(docSummary.DateLastSaved)
If (Not String.IsNullOrEmpty(docTitle)) Then
_Title = docTitle
End If
If (Not String.IsNullOrEmpty(docAuthor)) Then
_Author = docAuthor
End If
If (Not String.IsNullOrEmpty(docModified)) Then
_DateModified = DateTime.Parse(docModified)
End If
Catch ex As Exception
'Do whatever you need to do here...'
Finally
If (Not docDSO Is Nothing) Then
docDSO.Close()
End If
End Try
End Sub
다른 팁
이 작업을 수행하는 두 가지 방법을 생각할 수 있습니다.
- Microsoft Office API를 사용하십시오. 당신은 당신의 프로젝트에서 그것들을 참조해야하며, 당신은1 차 인터 로프 어셈블리.
- 파일을 Word 2003 XML 형식으로 변환하고 XML 문서에서 해당 값을 변경하십시오. 다음은 문서 속성에 대한 MSDN 문서입니다.http://msdn.microsoft.com/en-us/library/aa223625(office.11).aspx
가능한 경우 두 번째 옵션을 사용하여 시스템에 설치되는 단어에 의존 할 필요가 없기 때문입니다.
제휴하지 않습니다 StackOverflow