Jump to content

Macro para guardar facturas pdf


Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy