Как добавить шаблоны Word в новый документ в VB.NET? - PullRequest
0 голосов
/ 05 мая 2010

Я копаюсь, чтобы посмотреть, можно ли сделать это приложение. По сути, конечный пользователь должен создать группу экспортных документов, которые заполняются из базы данных.

Будет множество шаблонов документов (.dot), и в результате пользователь выберет шаблоны xy и z для включения в документацию, щелкнет кнопку и предложит приложению создать новый документ Word, добавить шаблоны, а затем заполните шаблоны соответствующими данными.

Причина, по которой это необходимо сделать в Word, а не в Crystal Reports, заключается в том, что пользователь может настроить некоторые поля перед печатью документов, поскольку они могут варьироваться от экспорта к экспорту.

Возможно ли это сделать через VB.NET (VS 2010)?

Я предполагаю, что это так, но мне трудно найти решение.

Или в качестве альтернативы есть лучшее решение?

Вот что у меня есть (не так много, я знаю)

Import Microsoft.Office.Interop

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim oWord As Word.Application
Dim oDoc As Word.Document

oWord = CreateObject("Word.Application")
oWord.Visible = False
oDoc = oWord.Documents.Add
'Open templates x.dot, y.dot, z.dot

'Append above templates to new document created

'Populate new document

oWord.Visible = True

End Sub

End Class

Ответы [ 3 ]

1 голос
/ 05 мая 2010

Документы Word могут быть основаны только на одном шаблоне .dot: для создания нового документа на основе шаблона вы должны передать имя шаблона в метод Documents.Add. Нет возможности применить несколько шаблонов.

Если вы нацелены на Word 2007, хотя вы могли бы сделать это, используя 'строительные блоки'

0 голосов
/ 13 июня 2013

и я ожидаю, что вы захотите определить закладки в шаблонах, которые можно заполнить следующим образом:

oDoc.ActiveWindow.Selection.GoTo(What:=Word.WdGoToItem.wdGoToBookmark, Name:="Bookmark1")

например:

Table3 = oDoc.ActiveWindow.Document.Tables.Add(Range:=oDoc.ActiveWindow.Selection.Range, _
                                                              NumRows:=5, _
                                                              NumColumns:=4, _
                                                              DefaultTableBehavior:=Word.WdDefaultTableBehavior.wdWord9TableBehavior, _
                                                              AutoFitBehavior:=Word.WdAutoFitBehavior.wdAutoFitContent)

... такие вещи

0 голосов
/ 22 сентября 2011

1001 * попробовать * oSelection.InsertFile (путь к шаблону)
(при условии, что вы используете методы выбора слов)
это, конечно, удалит файл, куда бы вы ни указали. так что вы, вероятно, захотите перейти к концу и заранее добавить разрыв страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...