我正在四处寻找这个应用程序是否可以完成。基本上,最终用户需要创建一堆从数据库填充的导出文档。
将有许多文档模板(.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
答案 0 :(得分:1)
Word文档只能基于一个.dot模板:要根据模板创建新文档,您可以将模板名称传递给Documents.Add方法。无法应用多个模板。
如果您的目标是Word 2007,但可以使用'building blocks'
完成此操作答案 1 :(得分:0)
尝试
oSelection.InsertFile(模板路径)
(假设您使用的是单词选择方法)
这当然会在您的选择指针所在的位置删除文件。所以你可能想要结束并提前分页。
答案 2 :(得分:0)
我希望你能在模板中定义可以填充的书签:
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)
......有点事