Bom Dia.
Estou pretendendo utilizar um exemplo do JPaulo, que funciona perfeitamente.
porem não estou conseguindo enviar para as planilhas do excel o cabeçalho das colunas.
será que alguem teria uma solução.
o código:
Public Sub CriaExcel()
'By JPaulo ® Maximo Access
Dim strLivro As String, xls As Object
Dim db As DAO.Database
Dim rst, Rst1 As DAO.Recordset
Dim strSQL, strSQL1 As String
Dim x As String
Dim y As String
Dim z As String
Set db = CurrentDb
Set xls = CreateObject("Excel.Application")
strLivro = "C:\teste.xls" 'diretorio completo do ficheiro
xls.Workbooks.Open (strLivro)
xls.Visible = True
strSQL = "SELECT * FROM TabelaDasConsultas;"
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
With rst
.MoveFirst
Do Until .EOF
z = rst.Fields.Item(1) 'nome da consulta na tabela
x = rst.Fields.Item(2) 'nome do sheet na tabela
y = rst.Fields.Item(3) 'nome da celula na tabela
strSQL1 = z
Set Rst1 = CurrentDb.OpenRecordset(strSQL1, dbOpenDynaset)
xls.Worksheets(x).Activate
xls.ActiveSheet.Range(y).Select
xls.ActiveCell.CopyFromRecordset Rst1
rst.MoveNext
Loop
End With
rst.Close
Rst1.Close
xls.ActiveWorkbook.Save
xls.Application.Quit
Set xls = Nothing
End Sub
"
obrigado.
Estou pretendendo utilizar um exemplo do JPaulo, que funciona perfeitamente.
porem não estou conseguindo enviar para as planilhas do excel o cabeçalho das colunas.
será que alguem teria uma solução.
o código:
Public Sub CriaExcel()
'By JPaulo ® Maximo Access
Dim strLivro As String, xls As Object
Dim db As DAO.Database
Dim rst, Rst1 As DAO.Recordset
Dim strSQL, strSQL1 As String
Dim x As String
Dim y As String
Dim z As String
Set db = CurrentDb
Set xls = CreateObject("Excel.Application")
strLivro = "C:\teste.xls" 'diretorio completo do ficheiro
xls.Workbooks.Open (strLivro)
xls.Visible = True
strSQL = "SELECT * FROM TabelaDasConsultas;"
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
With rst
.MoveFirst
Do Until .EOF
z = rst.Fields.Item(1) 'nome da consulta na tabela
x = rst.Fields.Item(2) 'nome do sheet na tabela
y = rst.Fields.Item(3) 'nome da celula na tabela
strSQL1 = z
Set Rst1 = CurrentDb.OpenRecordset(strSQL1, dbOpenDynaset)
xls.Worksheets(x).Activate
xls.ActiveSheet.Range(y).Select
xls.ActiveCell.CopyFromRecordset Rst1
rst.MoveNext
Loop
End With
rst.Close
Rst1.Close
xls.ActiveWorkbook.Save
xls.Application.Quit
Set xls = Nothing
End Sub
"
obrigado.