Exportar hojas a pdf respetando margen

Tengo la siguiente macro que me sirve para guardar todas las hojas visibles de mi documento en excel, y me permite elegir cual de ellas quiero exportar, funciona bien, el problema esta en que agrega el nombre de la hoja al final de cada hoja exportada en pdf haciendo que pierda las propiedades de margen del documento y se vea más pequeño. ¿Alguna forma de evitar que se agreguen los nombres de las hojas?

Sub CommandButton1_Click()
'GUARDA LAS HOJAS COMPLETAS PREVIAMENTE SELECCIONADAS
Dim hoja As Control
X = 0
For Each hoja In Me.Controls
If Not hoja.Name = "CommandButton1" Then
X = X + 1
If hoja.Value = True Then
Worksheets(hoja.Caption).PageSetup.LeftFooter = hoja.Caption
If a = 1 Then ren = "False" Else ren = "True"
Worksheets(hoja.Caption).Select Replace:=ren
a = 1
End If
End If
Next
On Error Resume Next
'nbre = "Prueba " & Format(Date, "dd-mm-yyyy" & " " & Format(Time(), "hh-mm-ss")) '"Prueba1" O TAMBIÉN:
'nbre = InputBox("Escribe el nombre con el que quieres guardar:", "Guardar archivo") & " " & Format(Date, "dd-mm-yyyy" & " " & Format(Time(), "hh-mm-ss"))
nbre = Trim(InputBox(" Registre un Nombre ")) & Format(Date, "dd-mm-yyyy" & " " & Format(Time(), "hh-mm-ss"))
Set wb = ActiveWorkbook
With wb
RutaArchivo = ThisWorkbook.Path & "\" & nbre & ".pdf" '<==================================Ruta archivo
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=RutaArchivo, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
'Sheets(1).Select
Unload Me
End With
End Sub
Private Sub marca_Click()
Dim check As Control
For Each check In Me.Controls
On Error Resume Next
If Not check.Name = "marca" And Not check.Name = "CommandButton1" Then
If check = True Then check = False: marca.Caption = "Marcar Todos" Else _
check = True: marca.Caption = "Desmarcar Todos"
End If
Next
Call deagruparhojass
End Sub
Private Sub UserForm_Activate()
Dim cCntrl As Control
Dim oSheet As Object
X = 60
For Each oSheet In Sheets
If oSheet.Visible = -1 Then
Set cCntrl = Me.Controls.Add("Forms.checkbox.1", , True)
With cCntrl
.Caption = oSheet.Name
.Width = Me.Width
.Height = 15
.Top = X
.Left = 18
.Value = True
End With
X = X + 15 'Separación entre cada item
End If
Next
Me.Height = X + 35
End Sub

1 respuesta

Respuesta

[Hola

Tú estás agregando eso:

Worksheets(hoja.Caption).PageSetup.LeftFooter = hoja.Caption

Cuando se exporta a pdf, el formato depende del último agregado a la hoja y de los drivers y configuración establecidos por la impresora activa y/o la predeterminada, no depende de Acrobat (pdf). Si no deseas que se vea eso, o no lo agregas o formateas con macros y dejas la hoja tal cual la necesitas y recién después de eso la exportas. 

Ah, solo por si acaso, para obtener el código para formatear la hoja basta encender la grabadora de macros y hacerlo, la detienes, y ves el código grabado y lo vas depurando/mejorando.

Probé quitando esas líneas y el nombre de la hoja aun se muestra.

Como ya está insertado, además de borrar la línea ¿lo borraste del píe de página? ¿(Re) formateaste la hoja? Creo que no.

Efectivamente al reformatear la hoja ya queda en lo que quería, abarcando toda la hoja con margen y todo, lo que aun no puedo es como quitar el nombre ya que queda sobre puesto, por lo demás todo perfecto. Solo seria el pie de página ¿Cómo lo quito?

[Hola nuevamente

Pensé que sabías como hacerlo de manera "manual". Abre el cuadro de dialogo de "configurar página". Si no sabes cuál es, mira por aquí: Enlace. Una vez abierto anda a la pestaña "Encabezado y píe de página" y ahí dale clic al botón "Personalizar píe de página..." y en la caja de texto llamada "Sección izquierda" solo borra lo que contenga, dale clic a "Aceptar" y luego igual al otro botón "Aceptar". Listo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas