120 lines
4.1 KiB
Plaintext
120 lines
4.1 KiB
Plaintext
|
' 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
|