2014-09-06 4 views
-1

나는 사무실 개발에 새로 온 사람과 간단한 응용 프로그램을 만들려면 그 :워드 프로세싱 2013

  • 는 단어 2007-2010-2013 템플릿을 엽니 다.
  • 은 모든 자리 표시자를 읽습니다.
  • 은 각각 적절한 데이터로 채 웁니다.

그러나 단어 템플릿에 자리 표시자를 만들려면 어떻게해야합니까? 자리 표시자를 나열하고 VB 2013을 사용하여 자리 표시자를 채우려면 어떻게해야합니까?

답변

1

여러 가지 방법으로 단어 문서를 읽고 쓸 수 있습니다. 가장 쉬운 방법은 아마 Inside Word 자체에서 오는 것입니다. Microsoft는 플러그인을 단어 자체에 직접 통합하는 데 사용할 수있는 Office 용 Visual Studio Tools라는 패키지를 제공합니다. 아마도 Word Content Controls 기능을 찾고있을 것입니다. 그리고 그걸 XML data binding과 함께 사용할 수 있습니다.

자신의 응용 프로그램에서 Word를 호스팅 한 다음 Office Primary Interop Assemblies을 사용하여로드 된 문서와 직접 상호 작용할 수도 있습니다. 이러한 관리되는 클래스는 Office에서 노출하는 COM 개체에 대한 래퍼입니다. XML 데이터 바인딩 기능은 PIO에서도 사용할 수 있습니다. 단어 XML 예제 (be downloaded from this samples page)를보십시오. 주 interop 어셈블리는 대화 형 응용 프로그램에서만 지원됩니다. Microsoft does not support running Office applications from a server/service application.

새로운 XML 문서 표준으로 제한 할 수있는 경우 XML에서 문서의 내용을 추출하고 직접 조작 할 수 있습니다 (Word 문서 구조에 대한 지식이 많이 필요함). The Packaging class .NET Framework에서 제공하는 구조는 간단한 XML로 추출 된 문서 부분을 추출하는 데 필요한 모든 것을 포함합니다. 또는 the open source DocX library과 같은 XML 문서 형식을 사용하는 오픈 소스 래퍼를 사용할 수도 있습니다. 템플릿 필드는 단순히 {{TEMPLATE FIELD:FieldName}}과 같은 특수 텍스트 일 ​​수 있습니다.

상업용 라이브러리도 많이 있으며, 일부는 내장 된 편지 병합 기능이 있습니다. 나는 개인적으로 Aspose.Words. Their documentation on Mailmerges can be found here과 좋은 경험을 가지고 있습니다.

+0

콘텐츠 제어 데이터 바인딩 또는 레거시 MERGEFIELD를 사용하기로 결정한 경우 https://www.nuget.org/packages/docx4j.NET/에서 "채우기"를 수행 할 수 있습니다. 예제는 VB.NET이 아닌 C#에 있지만 문제는 아닙니다. – JasonPlutext