Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 4599|回復(fù): 1
打印 上一主題 下一主題

[宏/菜單/工具欄] 新手問題,關(guān)于在access宏中操作word

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2005-5-10 19:36:00 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
1.在Access宏中如何設(shè)置新創(chuàng)建的word文件名呢?在沒有保存的情況下。

2.如何新建一個(gè)表格呢?我想把表中的數(shù)據(jù)都一行行的加進(jìn)去。

偶現(xiàn)在的代碼如下,謝謝。



Private Sub Command5_Click()

'步驟1:建立數(shù)據(jù)連接cnn
'由于數(shù)據(jù)庫(kù)已經(jīng)打開,所以直接應(yīng)用CurrentProject.Connection就可以建立連接
Set cnn = New ADODB.Connection
Set cnn = CurrentProject.Connection

'步驟2:用SQL語句創(chuàng)建記錄集rs
Set rs = New ADODB.Recordset
'設(shè)定游標(biāo)類型與鎖定類型
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
'制定特定的查詢條件,可以是任何有效的SQL查詢,甚至包括多表、多條件等復(fù)雜的查詢,查詢條件也常常從窗體取得
SQL = "select * from users"
'創(chuàng)建記錄集rs
rs.Open SQL, cnn
'統(tǒng)計(jì)字段數(shù)及記錄數(shù)
total_fields = rs.Fields.Count
total_records = rs.RecordCount

'步驟3:建立Word文檔對(duì)象
Set mywdapp = CreateObject("word.application")
'調(diào)整Word窗口大小
mywdapp.WindowState = wdWindowStateNormal
'生成新的Word文檔實(shí)例
mywdapp.Documents.Add
'設(shè)置視圖為頁(yè)面視圖
'mywdapp.ActiveWindow.View.Type = wdPrintView
'轉(zhuǎn)到Word視圖,顯示文檔生成過程
mywdapp.Visible = True
mywdapp.Activate
'設(shè)置文檔(表格)字體
mywdapp.ActiveDocument.Range.Font.Size = "11"

'步驟4:將記錄集rs中的字段名稱和字段內(nèi)容輸出到Word,各字段之間用制表符分隔
'輸出字段名稱
For i = 0 To total_fields - 2
mywdapp.Selection.TypeText Text:=rs.Fields(i).Name & vbTab
Next i
'最后一個(gè)字段名稱后加回車符
mywdapp.Selection.TypeText Text:=rs.Fields(total_fields - 1).Name & vbCrLf
'逐條輸出字段內(nèi)容
Do While Not rs.EOF
For i = 0 To total_fields - 2
tmpstr = rs.Fields(i).Value
If rs.Fields(i).Name = "age" Then
tmpstr = Format(tmpstr, "####.00")
End If
mywdapp.Selection.TypeText Text:=tmpstr & vbTab
Next i
'一條記錄的最后一個(gè)字段后加回車符
mywdapp.Selection.TypeText Text:=rs.Fields(total_fields - 1).Value & vbCrLf
rs.MoveNext
Loop

'步驟5:關(guān)閉記錄集
rs.Close
Set rs = Nothing

mywdapp.Application.ScreenRefresh '刷屏
'轉(zhuǎn)到Acdess視圖,顯示結(jié)束對(duì)話框
mywdapp.Visible = False
Msg = "數(shù)據(jù)提取完畢。" & vbCrLf & vbCrLf
Msg = Msg & "總記錄數(shù)=" & total_records & " 條"
MsgBox Msg, vbOKOnly, "數(shù)據(jù)提取完畢"
'轉(zhuǎn)到Word視圖,顯示文檔
mywdapp.Visible = True
mywdapp.Activate

End Sub
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱

點(diǎn)擊這里給我發(fā)消息

2#
發(fā)表于 2017-9-11 10:53:12 | 只看該作者
使用ADO循環(huán)讀取數(shù)據(jù)集中的數(shù)據(jù),再寫到Word對(duì)象中
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-17 00:39 , Processed in 0.086228 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表