Saltar al contenido

Macro para guardar facturas pdf


Recommended Posts

publicado

Hola soy nuevo en esto de los macros, intento guardar facturas y que su nombre dependa de 2 campos el problema es que cuando utilizo el macro creado a partir de una grabación funciona ahora cuando lo quiero modificar ya deja de funcionar, dejo el macro inicial para que me puedan ayudar,

Sub Macro3()

'

' Macro3 Macro

'

'

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

"C:\Users\gonwana\789.pdf", Quality:=xlQualityStandard, _

IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _

False

End Sub

yo necesitaría que el nombre que se guardara dependiera de la celda C8 y que ademas le colocara el día y hora consecutivamente en el nombre del pdf.

Saludos

publicado

solo encontré solución así

Sub Macro2()

'

' Macro2 Macro

'

'

Dim Fecha As String

Dim Hora As String

Fecha = Day(Now())

Hora = WorksheetFunction.Text(Hour(Now()), "0#") & "." & WorksheetFunction.Text(Minute(Now()), "0#") & "." & WorksheetFunction.Text(Second(Now()), "0#")

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

"C:\Users\gonwana\" & [C8] & " " & Fecha & " " & Hora, Quality:=xlQualityStandard, _

IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _

False

End Sub

- - - - - Mensaje combinado - - - - -

no podrás separar la hora con ":" ya que no se permite este símbolo en nombres de documentos ni carpetas, por lo que tengo entendodo

publicado

Estimado Misahoc, junto con saludar te consulto esta misma macro que aportas la puedes modificar para que consulte donde guardar el archivo, seria bastante util.

saludos y gracias por tus aportes

publicado

Podrias si quieres cambiar estas lineas así

Fecha = [COLOR="#FF0000"]Date[/COLOR]  'Day(Now())
Hora = [COLOR="#FF0000"]VBA.Format(VBA.Time, "h-mm") [/COLOR] 'WorksheetFunction.Text(Hour(Now()), "0#") & "-" & WorksheetFunction.Text(Minute(Now()), "0#") & "-" & WorksheetFunction.Text(Second(Now()), "0#")[/CODE]

el nombre de archivo te sale así

27-07-2013 19-04.pdf

o así

27-07-2013_19-09.pdf

para esta parte de linea

[CODE]"C:\0\" & [C8] & " " & Fecha & "[COLOR="#FF0000"]_[/COLOR]" & Hora, Quality:=[/CODE]

El ultimo guion [color=#FF0000][b]-[/b][/color] puedes cambiarlo por el que quieras, menos por aquellos que no son aceptados porb Windows, tales como; / \ : ? >< podias usar el ; para diferenciar

Lo de abrir la opcion para uno poder selecionar DONDE guardar, era bueno pero no soy el entendido para tal fin, así como poder seleciona rel rango a copiar, Ejemplo, A50 a n50

publicado

Te dejo como la prepre para guardármela

Sub GuardarEnPDF_2() 'Guarda en PDF sin botones
Dim Mensag As String
Dim F As String
Dim H As String
F = Format(Date, ("dd-mm-yy")) 'Formato de Fecha
H = VBA.Format(VBA.Time, "hh-mm") 'Formato de hora

' Si presionas Cancelar, sales sin crear copia, Si presionas Aceptar sigue hacia la creación de la copia
Mensag = MsgBox("Generando hoja: " & [C8] & " " & F & " a las " & H & "", vbOKCancel)
If Mensag = vbCancel Then
Exit Sub
Else
'Guardar la hoja en la ubicacion indicada con texto de la celda C8 + fecha y hora. Este nombre puedes cambiarlo, eliminando algo si prefiere
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
"C:\0\" & [C8] & " " & F & " a las " & H, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True 'True abre el archivo después de creado, False guarda pero no abre
End If
End Sub[/CODE]

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.