Code: Select all
Private Sub PRINT_REPORT()
'dichiarazioni
'dichiarazione dell'oggetto
Dim sFile, xlWb As Object
Set XL = CreateObject("Excel.Application")
sFile = "C:\Lavori_Vb6\HOTEL\TEMPLATE.XLS"
Set xlWb = XL.Workbooks.Open(FileName:=sFile, Editable:=True)
XL.Visible = True 'vedi il foglio mentre si compone
'XL.Workbooks.Add 'aggiunge foglio EXCEL
XL.Activesheet.Name = "REPORT"
'per scrivere in una cella
XL.Range("A1").Value = "1"
XL.Range("A2").Value = "12"
'xl.Range("A1").Font.Size = Size 'grandezza del Font(es 10)
'XL.Range("A1").Font.Bold = Bold 'grassetto(true o false)
'per fare calcolare una somma
XL.Range("B30").Formula = "=sum(a1:a2)"
'dimensionamento del foglio
'XL.ActiveSheet.PageSetup.Orientation = xlPortrait
'anteprima di stampa
'XL.Activesheet.P.PRINTPREVIEW
'stampa
XL.Activesheet.PrintOut 'stampa
'operazioni di chiusura del foglio
XL.ActiveWorkbook.Close False
XL.Quit
End Sub
Code: Select all
Option Explicit
Dim CON As ADODB.Connection, RS As ADODB.Recordset, SQL As String, GIORNO As Date, DXSX As String, strDBRows_ESTRAI() As Variant
Const STRDBPATH = "C:\DATABASE\HOTEL.mdb"
Dim WS As Worksheet
Public Sub APRI_CONN()
If CON Is Nothing Then
Set CON = New ADODB.Connection
With CON
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Open STRDBPATH
End With
End If
Call APRI_EXCEL
End Sub
Private Sub APRI_EXCEL()
GIORNO = "01/08/2021"
DXSX = "S"
Dim K As Long, NR As Long
Set WS = Worksheets("REPORT")
WS.Range("B2:AZ51").ClearContents
SQL = "SELECT FILA, NUMERO FROM OMBRELLONI WHERE OMBRELLONI.GIORNO=#" & Format(GIORNO, "MM/DD/YYYY") & "# AND DS='" & DXSX & "' "
Set RS = New ADODB.Recordset
RS.CursorLocation = adUseClient
RS.Open Source:=SQL, _
ActiveConnection:=CON, _
CursorType:=adOpenForwardOnly, _
LockType:=adLockReadOnly
RS.Sort = ("FILA,NUMERO")
RS.MoveFirst
Erase strDBRows_ESTRAI()
strDBRows_ESTRAI = RS.GetRows()
RS.Close
Set RS = Nothing
With WS
Application.ScreenUpdating = False
For K = 0 To UBound(strDBRows_ESTRAI, 2)
NR = NR + 1
.Cells(strDBRows_ESTRAI(0, K) + 1, strDBRows_ESTRAI(1, K) + 1) = "X"
.Cells(strDBRows_ESTRAI(0, K) + 1, 52) = .Cells(strDBRows_ESTRAI(0, K) + 1, 52) + 1
Next K
Application.ScreenUpdating = True
End With
End Sub
i know is a strong work... tks for all.
note:
the part of code refered a database connection i know:-)