' Module: ExportUtils ' Description: Functions for exporting data to different formats Public Function ExportToPDF(ws As Worksheet, fechaDesde As String, fechaHasta As String) As Boolean Dim rutaPDF As String Dim nombreArchivo As String ' Construct PDF filename based on the dates nombreArchivo = "fdl_" & fechaDesde & " al " & fechaHasta & ".pdf" ' Show "Save As" dialog and get the selected path rutaPDF = Application.GetSaveAsFilename(InitialFileName:=nombreArchivo, _ FileFilter:="PDF Files (*.pdf), *.pdf", Title:="Guardar como PDF") ' Check if user cancelled the dialog If (rutaPDF <> "False") And (rutaPDF <> "Falso") Then ' Export sheet as PDF ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=rutaPDF, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=False ExportToPDF = True Else ExportToPDF = False End If End Function Public Function ExportToExcel(fechaDesde As String, fechaHasta As String) As Boolean Dim rutaPDF As String Dim nombreArchivo As String ' Construct Excel filename based on dates nombreArchivo = "fdl_" & fechaDesde & " al " & fechaHasta & ".xlsx" ' Show "Save As" dialog and get the selected path rutaPDF = Application.GetSaveAsFilename(InitialFileName:=nombreArchivo, _ FileFilter:="XLS Files (*.xlsx), *.xlsx", Title:="Guardar como XLS") ' Check if user cancelled the dialog If (rutaPDF <> "False") And (rutaPDF <> "Falso") Then Dim Hoja1 As Worksheet, Hoja2 As Worksheet, Hoja3 As Worksheet, Hoja4 As Worksheet, Hoja5 As Worksheet Dim NuevoLibro As Workbook ' Set references to sheets Set Hoja1 = ThisWorkbook.Sheets(SHEET_NOTA) Set Hoja2 = ThisWorkbook.Sheets(SHEET_FDL_1) Set Hoja3 = ThisWorkbook.Sheets(SHEET_FDL_2) Set Hoja4 = ThisWorkbook.Sheets(SHEET_FDL_3) Set Hoja5 = ThisWorkbook.Sheets(SHEET_FOGLIO_1) ' Copy sheets to new workbook Hoja1.Copy Set NuevoLibro = ActiveWorkbook ' Copy remaining sheets Hoja2.Copy After:=NuevoLibro.Sheets(1) Hoja3.Copy After:=NuevoLibro.Sheets(2) Hoja4.Copy After:=NuevoLibro.Sheets(3) Hoja5.Copy After:=NuevoLibro.Sheets(4) ' Save and close NuevoLibro.SaveAs rutaPDF, FileFormat:=xlWorkbookDefault NuevoLibro.Close SaveChanges:=False ExportToExcel = True Else ExportToExcel = False End If End Function Public Function ExportComessaToExcel() As Boolean Dim rutaPDF As String Dim nombreArchivo As String Dim wsComesse As Worksheet Dim fechaDesde As Date Dim n As Integer ' Set reference to Commesse sheet Set wsComesse = ThisWorkbook.Sheets(SHEET_COMMESSE) ' Find the date to use in filename For n = 1 To 7 If wsComesse.Cells(8, 2 * n).Value2 <> 0 Then fechaDesde = wsComesse.Cells(2, 2 * n).Value2 End If Next n ' Build filename nombreArchivo = "C:\Users\migue\OneDrive\Miguel\CSA - Trabajo\2024\Angelo Comesse\" + _ "Ore " & Format(fechaDesde, "dd-MM") & " Vera Miguel.xlsx" ' Show Save dialog rutaPDF = Application.GetSaveAsFilename(InitialFileName:=nombreArchivo, _ FileFilter:="XLS Files (*.xlsx), *.xlsx", Title:="Guardar como XLS") If (rutaPDF <> "False") And (rutaPDF <> "Falso") Then Dim NuevoLibro As Workbook Dim NuevaHoja As Worksheet ' Create new workbook and copy data Set NuevoLibro = Workbooks.Add Set NuevaHoja = NuevoLibro.Sheets(1) wsComesse.Cells.Copy With NuevaHoja.Cells .PasteSpecial Paste:=xlPasteValues .PasteSpecial Paste:=xlPasteFormats End With Application.CutCopyMode = False ' Save the new workbook NuevoLibro.SaveAs rutaPDF, FileFormat:=xlWorkbookDefault ' Close the new workbook NuevoLibro.Close SaveChanges:=False ExportComessaToExcel = True Else ExportComessaToExcel = False End If End Function