技術(shù) 點(diǎn)
- 技術(shù)
- 點(diǎn)
- V幣
- 點(diǎn)
- 積分
- 22848
|
5#
發(fā)表于 2015-3-3 11:06:34
|
只看該作者
本帖最后由 roych 于 2015-3-3 11:09 編輯
1、請(qǐng)先行引用 Microsoft Word 庫。2、打開模塊后按F5執(zhí)行即可生成word表格(不做窗體按鈕了,如有需要,請(qǐng)自行創(chuàng)建按鈕,然后把代碼復(fù)制到按鈕的單擊事件上)。
3、注意,不要?jiǎng)h除模板。
4、其它說明見注釋。
- Sub ExpDoc()
- Dim rst As New ADODB.Recordset
- '定義word組件、文檔、表、單元格
- Dim wd As New Word.Application
- Dim doc As Word.Document
- Dim tbl As Table
- Dim cel As Cell
- Dim i As Long
- Dim j As Long
- '打開模板,模板只保留表頭。這樣的話,每次增加數(shù)據(jù)時(shí)只需要新增一行即可,以避免數(shù)據(jù)超出原表而不方便寫入。
- Set doc = wd.Documents.Add(CurrentProject.Path & "\模板.doc")
- '打開記錄集
- rst.Open "人員信息", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
- 'Null值無法寫入。跳轉(zhuǎn)處理比較麻煩,直接忽略掉。
- On Error Resume Next
- 'Word文檔里的table序號(hào)、行列序號(hào)都是從1開始的哦。
- Set tbl = doc.Tables(1)
- For i = 1 To rst.RecordCount
- '新增一行,然后寫入數(shù)據(jù)
- tbl.Rows.Add
- For j = 0 To rst.Fields.Count - 1
- Set cel = tbl.Cell(i + 1, j + 1)
- cel.Range = rst(j)
- Next
- rst.MoveNext
- Next
- rst.Close
- Set rst = Nothing
- '刪除舊文件,并保存新文件,然后退出word程序。
- If Len(Dir(CurrentProject.Path & "\人員信息.doc")) > 0 Then Kill CurrentProject.Path & "\人員信息.doc"
- doc.SaveAs2 (CurrentProject.Path & "\人員信息.doc")
- doc.Close
- wd.Quit
- End Sub
復(fù)制代碼
|
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號(hào)?注冊(cè)
x
|