小弟又遇到麻烦了,我想在vb中实现office的操作,请教别人说是可以实现,可是我不知道该从何下手啊。我是思路是:数据库中的内容,可以在word文档里体现,word文档中的内容和库里的内容是同步,这样做好表以后就不用每次都手工添数据了,这样可以在word里进行打印、修改、备份,很方便。希望各位可以帮帮小弟,小弟是个菜鸟,有劳大家了!

解决方案 »

  1.   

    这个要用到VBA编程,我不太熟悉:(
      

  2.   

    可通过AUTOMATION向Word输出数据,但较复杂,下面是Form1.frm文件内容,可以引用DAO和WORD库后运行,这是临时写的,在(win98+vb6+word200+dao3.51运行通过,希望对你有点帮助.VERSION 5.00
    Begin VB.Form Form1 
       Caption         =   "Form1"
       ClientHeight    =   4140
       ClientLeft      =   60
       ClientTop       =   345
       ClientWidth     =   5310
       LinkTopic       =   "Form1"
       ScaleHeight     =   4140
       ScaleWidth      =   5310
       StartUpPosition =   3  'Windows Default
       Begin VB.CommandButton cmdExport 
          Caption         =   "导出Word"
          Height          =   1095
          Left            =   1920
          TabIndex        =   0
          Top             =   1560
          Width           =   2175
       End
    End
    Attribute VB_Name = "Form1"
    Attribute VB_GlobalNameSpace = False
    Attribute VB_Creatable = False
    Attribute VB_PredeclaredId = True
    Attribute VB_Exposed = False
    Option Explicit
    Private Wordapp As Word.Application
    Private doc As Word.Document
    Private sel As Word.Selection
    Private db As Database
    Private rs As Recordset
    Private Sub cmdExport_Click()
        Set db = OpenDatabase("d:\db.mdb")'打开数据库d:\db.mdb
        Set rs = db.OpenRecordset("SC")'打开SC表
        Set Wordapp = New Word.Application
        Wordapp.Documents.Add
        Set doc = Wordapp.ActiveDocument
        Set sel = Wordapp.Selection    doc.Tables.Add Range:=sel.Range, numrows:=1, numcolumns:=1    '在WORD中增加表,行NUMROWS,列NUMCOLUMNS
        
        Do Until rs.EOF
            sel.TypeText Text:=rs!BODY  'BODY字段
            sel.Rows.Add
            sel.MoveRight unit:=12
            rs.MoveNext
        Loop
        Wordapp.Visible = False
        doc.PrintPreview  '预览
        doc.SaveAs "d:\1.doc" '另存为WORD文件
        doc.Close
        Set Wordapp = Nothing
        
    End Sub