Attribute VB_Name = "ModuloExport"
Option Explicit

Public gExportInEsecuzione As Boolean


Public Function ExportEXCEL(pGrid As MSFlexGrid, pFileName As String) As Long
'''   Dim ExcelObj As Object
'''   Dim ExcelBook As Object
'''   Dim ExcelSheet As Object
'''   Dim rY As Long 'Records
'''   Dim cy As Integer 'Columns
'''   Dim vLastRow As Long
'''
'''   Dim vDesCell As Variant
'''   Dim vData As String
'''   Dim vParziale As String
'''   'Dim vTypeCol As String
'''
'''   On Error GoTo GestErr
'''   ExportEXCEL = 0
'''
'''   gExportInEsecuzione = True
'''
'''   Set ExcelObj = CreateObject("Excel.Application")
'''   Set ExcelSheet = CreateObject("Excel.Sheet")
'''
'''   ExcelObj.WorkBooks.Open App.path & "\Files\Model\Cartel1.xls"
'''
'''   Set ExcelBook = ExcelObj.WorkBooks(1)
'''   Set ExcelSheet = ExcelBook.WorkSheets(1)
'''
'''
'''   With ExcelSheet
'''
'''      'Qui inserisco il nome delle Colonne nella PRIMA riga
'''         For cy = 0 To pGrid.Cols - 1
'''            vDesCell = pGrid.Cols(cy).Caption
'''            .cells(1, cy + 1) = vDesCell
'''         Next cy
'''
'''         'PrgBar.BarColor = &HFFD297
'''         PrgBar.BarColor = stcLabelExt(1).GradientColorDark
'''         PrgBar.Value = 0
'''         PrgBar.Max = pGrid.PopulatedRecordsCount
'''         PrgBar.Visible = True
'''
'''      'Ciclo sulle righe visibili della Griglia
'''         For rY = 0 To pGrid.Rows.Count - 1
'''            PrgBar.Value = PrgBar.Value + 1
'''
'''            DoEvents
''''            If ArrestaCiclo(mStopProc) = True Then
''''               mProcedAnnull = True
''''               vParziale = "_PARZIALE"
''''               GoTo EsciDaExport
''''            End If
'''
'''            'Controllo non sia una Riga di raggruppamento altrimeti darebbe errore (devo vedeer se riesco a stamparla comunque!)
'''            If pGrid.Rows(rY).GroupRow = False Then
'''
'''               For cy = 0 To pGrid.Columns.Count - 1
'''
'''                  'Prendo il valore delle cella del ReportControl
'''                     vDesCell = pGrid.Rows(rY).Record.Item(cy).Value
'''
'''                  'Verifico il Tipo di Colonna e formatto il valore da passare alla cella di Excel
'''                     If Mid(pGrid.Columns(cy).Tag, 1, 1) = "N" Then
'''                        If Mid(pGrid.Columns(cy).Tag, 2, 1) = "0" Then
'''                           vDesCell = CLng(vDesCell) 'Numerico Generico (intero)
'''                        Else
'''                           vDesCell = CDbl(vDesCell) 'Quantità
'''                        End If
'''                     End If
'''
'''                  'Passo il valore alla cella
'''                     .cells(rY + 2, cy + 1) = vDesCell
'''
'''               Next cy
'''
'''            End If
'''         Next rY
'''
'''         vLastRow = rY + 2
'''
'''
'''''FOOTER - - - - - Ciclo sulle righe visibili del FOOTER della Griglia
''''         For rY = 0 To pGrid.FooterRows.Count - 1
''''            vLastRow = vLastRow + 1
''''
''''            For cy = 0 To pGrid.Columns.Count - 1
''''
''''               'Prendo il valore delle cella del ReportControl
''''                  vDesCell = pGrid.FooterRows(rY).Record.Item(cy).Value
''''
''''               'Verifico il Tipo di Colonna e formatto il valore da passare alla cella di Excel
''''                  If Mid(pGrid.Columns(cy).Tag, 1, 1) = "N" Then
''''                     If Mid(pGrid.Columns(cy).Tag, 2, 1) = "0" Then
''''                        vDesCell = CLng(vDesCell) 'Numerico Generico (intero)
''''                     Else
''''                        vDesCell = CDbl(vDesCell) 'Quantità
''''                     End If
''''                  End If
''''
''''               'Passo il valore alla cella
''''                  .cells(vLastRow, cy + 1) = vDesCell
''''
''''            Next cy
''''
''''         Next rY
'''
'''
'''
'''EsciDaExport:
'''      'Salvo il nuovo FILE
'''         'COntrollo che esista la cartella EXPORT altrimenti la creo
'''         Dim vPathExport As String
'''         If Len(gUserPath) > 0 Then
'''            vPathExport = gUserPath & "\Export\"
'''         Else
'''            vPathExport = App.path & "\Export\"
'''         End If
'''
'''         Call VerificaEsistenzaPathCartella(vPathExport)
'''
'''         vData = Format(Now, "yyyymmdd hh.nn")
'''         .SaveAs vPathExport & "Export_" & pFileName & "_" & vData & ".xls"
'''   End With
'''
'''
'''   'Chiudo il Documento
'''      ExcelObj.WorkBooks.Close
'''
'''   'Distruggo gli oggetti
'''      Set ExcelSheet = Nothing
'''      Set ExcelBook = Nothing
'''      Set ExcelObj = Nothing
'''
'''
'''   'Apro il FILE appena salvato
'''      Call ShowFILE(Me, vPathExport & "Export_" & pFileName & "_" & vData & ".xls")
'''
'''
'''GestErr:
'''   If Err.Number = 429 Then
'''      MsgBox Err.Number & " - " & Err.Description & vbNewLine & _
'''             "(Accertarsi che sul PC sia installato Microsoft Office)"
'''   ElseIf Err.Number <> 0 Then
'''      MsgBox Err.Number & " - " & Err.Description, msg_Critical
'''   End If
'''   ExportEXCEL = Err.Number
'''   On Error GoTo 0
'''   PrgBar.Visible = False
'''   gExportInEsecuzione = False
End Function

