vb的内容如何导出到word中
发布网友
发布时间:2022-04-22 08:36
我来回答
共4个回答
热心网友
时间:2022-06-18 18:59
先用word建立一个“模板”,把该画的表格和格式设置好,然后调出“窗体”工具栏,在你想要接收vb传来数值的位置加入“文本型窗体域”(就是文本框),在“窗体”工具栏上把“域底纹”点一下把域的底纹去掉,要不然不好看。加入域的时候记得要为每个“域”的属性里“书签”命名(其实就是相当于vb中的“名称”),保存退出(假设为c:\doc1.doc)。
在vb中新建工程并引用Microsoft Word x Object Library,在窗体中加入与word中域相对应的文本框,加一个command,加入类似以下的代码(我只用了一个文本框做例子,你自己再扩展一下吧):
Private Sub Command1_Click()
Dim doc1 As Word.Application
Set doc1 = New Word.Application
doc1.Documents.Open ("c:\doc1.doc")
doc1.ActiveDocument.FormFields("text1").Result = Text1.Text
doc1.ActiveDocument.Save
doc1.Documents.Close
Set doc1 = Nothing
End Sub
这样一来,我就把窗体中text1中的text值传入到了名为doc1.doc的word文件中。
热心网友
时间:2022-06-18 18:59
Dim cn As New ADODB.Connection ‘定义数据库
Dim rs As New ADODB.Recordset
Dim scan As String ‘存储查找数据库
Dim Appword As Word.Application ’定义WORD模型变量
Dim Newword As Word.Document
Set Appword = New Word.Application
Set Newword = Appword.Documents.Add(App.Path + "/stencil" + "/stencil.doc") ‘这里是打开模版文档。stencil是模板的意思。可根据自己的需要替换。
Appword.Visible = False ‘隐藏WORD。导出时不在任务栏出现WORD文档。
Appword.WindowState = wdWindowStateMinimize
scan = text2(0).Text '按编号搜索需要导出word的记录,一次只能导出一条记录
rs.CursorLocation = adUseClient
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "/data.mdb;Jet OLEDB:Database Password=harry2000"
cn.Open ConnectionString
rs.Open "select * from ADMIN where 编号 = '" & scan & "'", cn, adOpenKeyset, adLockOptimistic‘查找需要导出的记录
If rs.RecordCount = 0 Then ’如果不存在该记录
MsgBox "请在左边选择需要导出的记录"
Appword.Documents.Close
Appword.Quit
Exit Sub
Else ‘如果存在记录则运行以下代码
With Newword ’设置模版表格和在表格中填入数据库内容。
.Tables(1).Cell(1, 1).Range.Text = (Format(rs!日期, "yyyy年mm月dd日"))
.Tables(2).Cell(3, 4).Range.Text = (rs!时间) '可以根据自己的需要设置填写内容。
End With
Appword.ChangeFileOpenDirectory (App.path+ "/导出WORD文件夹")
Appword.ActiveDocument.SaveAs FileName:=(App.path+ "/导出WORD文件夹/" & rs!姓名 & Format(Now, "yyyy-mm-dd") & ".doc"), FileFormat:=wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:=False
Appword.Documents.Close
Appword.Quit
MsgBox "导出成功," & rs!姓名 & Format(Now, "yyyy-mm-dd") & "的资料保存于" & vbCrLf & vbCrLf & App.path + "/导出WORD文件夹"
End If
Set Appword = Nothing ‘交还控制权
Set Newword = Nothing
Newword.Close
rs.Close ’关闭数据库
热心网友
时间:2022-06-18 19:00
到 http://club.excelhome.net/forum-23-1.html 技术论坛发帖吧
热心网友
时间:2022-06-18 19:00
创建一个word对象,然后对其操作就行了