vb的内容如何导出到word中

我做好了一个VB程序,里边有N个label,text,combo列成一个类似表格的排列label1label2text1text3combo1text2text4comb... 我做好了一个VB程序,里边有N个label,text,combo
列成一个类似表格的排列
label1 label2
text1 text3 combo1
text2 text4 combo2
类似这样的界面text中的内容我就省略了,直接用text代表一下
我想把这些内容通过一个按钮全部导出到word中,而且,是以表格的形式
1行显示我自己要定义的标题
2行1列中显示label1,2行2列中显示label2,2行3列中显示combo1
3行1列中显示text1 。。。以此类推
高手们帮帮忙,看下图说明的更清楚
展开
 我来答
百度网友388d641a4
2009-06-04 · TA获得超过100个赞
知道答主
回答量:81
采纳率:100%
帮助的人:36.5万
展开全部
先用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文件中。
一骑当后
推荐于2016-08-27 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40298 获赞数:306435
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部
  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 ’关闭数据库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haifeistar
2009-06-04 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8651
采纳率:50%
帮助的人:6167万
展开全部
http://club.excelhome.net/forum-23-1.html 技术论坛发帖吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
北京钢管中心
2009-06-04 · TA获得超过969个赞
知道小有建树答主
回答量:711
采纳率:0%
帮助的人:0
展开全部
创建一个word对象,然后对其操作就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式