問題30: 問題2 關(guān)于EXCEL的問題(1) 我用的窗體是子母窗體 我現(xiàn)在 查詢一個(gè)條件主窗體會(huì)產(chǎn)生相應(yīng)的數(shù)據(jù) 而子窗體也會(huì)產(chǎn)生與主窗體相應(yīng)的數(shù)據(jù) 我現(xiàn)在想把子窗體的數(shù)據(jù)直接從窗體中導(dǎo)入到EXCEL中去 我用的是OUTPUTTO 可是導(dǎo)入的時(shí)候它卻把所有的子窗體對(duì)應(yīng)的表的數(shù)據(jù)全部導(dǎo)入了 用了WHERE條件卻沒什么用 它要跳出對(duì)話框 要你輸入對(duì)應(yīng)的條件然后才能導(dǎo)出 我想要直接就能導(dǎo)入當(dāng)前的數(shù)據(jù) (提問人:yanchangshan(顏長(zhǎng)山@蘇州))
解答:使用Copy、Paste方法:
Sub CopyToExcel(sTitle As String)
Dim j As Integer
子窗體名.SetFocus
DoCmd.RunCommand acCmdSelectAllRecords
DoCmd.RunCommand acCmdCopy
GetExcel
CopyToExcel "報(bào)表標(biāo)題"
MyXL.Application.Workbooks.Add
MyXL.Application.ActiveSheet.Paste
'設(shè)置無網(wǎng)格線,零值不顯示
With MyXL.Application.ActiveWindow
.DisplayGridlines = False
.DisplayZeros = False
End With
'插入表頭
MyXL.Application.ActiveSheet.Rows("1:1").Select
For j = 1 To 2
MyXL.Application.Selection.Insert Shift:=xlDown
Next j
MyXL.Application.ActiveSheet.Range("A1") = sTitle
'設(shè)置表標(biāo)題字體
MyXL.Worksheets(1).Range("A1").Select
With MyXL.Application.Selection.Font
.Name = "宋體"
.Size = 16
End With
End Sub
Sub GetExcel() '打開Excel
Const ERR_APP_NOTRUNNING As Long = 429
On Error Resume Next
Set MyXL = GetObject(, "Excel.Application")
If Err = ERR_APP_NOTRUNNING Then
Set MyXL = New Excel.Application
End If
MyXL.Application.Visible = True
End Sub
[此貼子已經(jīng)被作者于2004-11-7 21:31:16編輯過]
|