用vb操作word文档的有关问题

用vb操作word文档的问题
现有磁盘上word文档一个 里面是10行乘以3列的一张表格 一共是30个格子

现在我想写一个程序 按下按纽 就往这30个格子里填入内容

请问这些代码该怎么写 急用 谢谢

------解决方案--------------------
前段时间刚写完,和你分享一下,希望可以帮到你

VB code
这里的数据库采用的是ACCESS生成的MDB数据库。考虑到在VB中画表等操作比较繁琐,所以采用了饮用模版的导出形式。仅供大家学习参考。 

  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(1).Cell(1, 3).Range.Text = "第" & rs!次数 & "次到访"
      .Tables(2).Cell(1, 2).Range.Text = (rs!姓名)
      .Tables(2).Cell(1, 4).Range.Text = (rs!性别)
      .Tables(2).Cell(1, 6).Range.Text = (rs!年龄)
      .Tables(2).Cell(2, 2).Range.Text = (rs!所在单位 & rs!所在职位)
      .Tables(2).Cell(2, 4).Range.Text = (rs!联系电话)
      .Tables(2).Cell(3, 2).Range.Text = (rs!领导)
      .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 ’关闭数据库





注意事项:

1  以上是基本的操作,如果想在VB中对WORD操作。可以在WORD中录制宏看一下代码,然后复制过来稍作修改即可。



2  上面的代码中用到的模版是之前设置好表格。

.Tables(1).Cell(1, 1).Range.Text 这个意思是在表格1中的第一个表格的内容



3  导出完毕后主要交还控制权。



4  这段代码运行时确保电脑中没有运行WORD程序,不然会弹出“由于应用程序忙。。。”所以在到处前应判断程序中是否运行WORD程序。

判断代码如下:

'在通用写入如下代码。

Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long