Foro

=> ¿No se ha registrado todavía?

MAS EN: EXCEL AVANZADO



Foro - Lineas de configuracion de pagina

Se encuentra aqui:
Foro => Macros => Lineas de configuracion de pagina

<-Volver

 1 

Siguiente->


JoaoM
(Hasta ahora 1 Post)
27-11-2010 03:38 (UTC)[citar]
Tengo un metodo para imprimir hoja y tengo lineas para cada ves ques e imprime, configurar la pagina con algunas opciones.
Lo que no soy capaz es de donde colocar dentro del metodo, las lineas de configuracio nde pagina, ya las coloque en varios puntos del codigo pero nunca me funciona

Este el codigo
Private Sub CommandButton1_Click() 'PROBANDO
On Error GoTo controlError 'Si sucede un error irá a la línea "controlError" (abajo de todo)
Dim estaHoja 'Creo un variable
estaHoja = ActiveSheet.Name 'La variable toma el nombre de la hoja activa, para
Dim ImprimirHoja 'Creo una variable (aquí se almacenará el nombre de la hoja ingresada en el InputBox).
Dim Mensaje, Titulo 'Dos variables para los textos del InputBox
Mensaje = "Ingrese el nombre de la hoja a imprimir." 'Solicito nombre de hoja
Titulo = " Hoja a imprimir" 'Titulo del Imputbox
ImprimirHoja = InputBox(Mensaje, Titulo)
If ImprimirHoja = Empty Then Exit Sub 'Si no escribo nada la variables está vacía y salgo.
If ImprimirHoja = "Esta" Then ImprimirHoja = estaHoja 'Al dejar "Esta", se toma el nombre de la hoja activa.
If MsgBox("Se imprimirá la hoja: " & ImprimirHoja & Chr(13) _
& Chr(13) _
& "¿Desea continuar?", vbExclamation + vbDefaultButton1 + vbYesNo, "Por favor confirme la acción" = vbNo Then
Exit Sub
Else
'----------
Application.PrintCommunication = False
Worksheets(estaHoja).Activate
With ActiveSheet.PageSetup
.PaperSize = xlPaperLetter 'formato carta 'xlPaperA4 A4 oficio pequeño
.Orientation = xlLandscape 'orientacion de la hoja horizontal
End With
Application.PrintCommunication = True
'----------
''Application.Dialogs(xlDialogPrinterSetup).Show 'Selección y configuración de impresora
Dim Copias As Integer
Solicitar_Copias:
Copias = Val(InputBox("Indica el número de copias a imprimir...", "Copias para imprimir", 1))
If Copias = 0 Then
MsgBox "Usted canceló la acción.", vbInformation, " Impresion cancelada"
Exit Sub
ElseIf Not Copias > 0 Then
MsgBox "Indica un número mayor que cero."
GoTo Solicitar_Copias
End If
Application.ScreenUpdating = False 'Desactivo la actualización de la pantalla para ver la hoja activa.
Worksheets(ImprimirHoja).Activate 'Activo la hoja a imprimir
ActiveSheet.PrintOut 'Imprimo
Worksheets(estaHoja).Activate 'Vuelvo a la hoja desde donde comencé
Application.ScreenUpdating = True 'Activo la actualización de la pantalla para ver la hoja activa.
End If
Exit Sub
controlError:
MsgBox "El nombre de hoja ingresado no existe.", vbExclamation, "Acción cancelada"
Exit Sub '...y salimos
End Sub

Las lineas de configuracion son PaperSize y orientacion

Mi mail joaely7@yahoo.es
Soporte Tecnico (Visitante)
27-11-2010 18:09 (UTC)[citar]
Hola amigo
Listo Se agrego un codigo que te pide por medio de un InputBox
el tipo de hoja pon la palabra:

Carta para tipo carta
A4 Para tipo A4
Oficio para Tipo Legal

saludos




'On Error GoTo controlError 'Si sucede un error irá a la línea "controlError" (abajo de todo)
Dim estaHoja As String 'Creo un variable
estaHoja = ActiveSheet.Name 'La variable toma el nombre de la hoja activa, para
Dim ImprimirHoja As String 'Creo una variable (aquí se almacenará el nombre de la hoja ingresada en el InputBox).
Dim Mensaje, Titulo 'Dos variables para los textos del InputBox
Mensaje = "Ingrese el nombre de la hoja a imprimir." 'Solicito nombre de hoja
Titulo = " Hoja a imprimir" 'Titulo del Imputbox
ImprimirHoja = InputBox(Mensaje, Titulo)
If ImprimirHoja = Empty Then Exit Sub 'Si no escribo nada la variables está vacía y salgo.
If ImprimirHoja = "Esta" Then ImprimirHoja = estaHoja 'Al dejar "Esta", se toma el nombre de la hoja activa.
If MsgBox("Se imprimirá la hoja: " & ImprimirHoja & Chr(13) _
& Chr(13) _
& "¿Desea continuar?", vbExclamation + vbDefaultButton1 + vbYesNo, "Por favor confirme la acción" = vbNo Then
Exit Sub
Else
'------------------------------------------------------------------------------------------
' EMPIEZA EL CODIGO QUE CONFIGURA EL TIPO DE HOJA
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With

a = InputBox("Ponga el tipo de hoja", "Tipo de Hoja"

If a = "Carta" Then
ActiveSheet.PageSetup.PrintArea = ""
Dim b As XlPaperSize
b = xlPaperLetter
With ActiveSheet.PageSetup
.PaperSize = b
End With

ElseIf a = "A4" Then

ActiveSheet.PageSetup.PrintArea = ""
Dim c As XlPaperSize
c = xlPaperA4
With ActiveSheet.PageSetup
.PaperSize = c
End With

ElseIf a = "Oficio" Then

ActiveSheet.PageSetup.PrintArea = ""
Dim d As XlPaperSize
d = xlPaperLegal
With ActiveSheet.PageSetup
.PaperSize = d
End With

End If

'TERMINA CODIGO DE CONFIGURA EL TIPO DE HOJA

'Application.PrintCommunication = False
'Worksheets(estaHoja).Activate
'With ActiveSheet.PageSetup
'.PaperSize = xlPaperLetter 'formato carta 'xlPaperA4 A4 oficio pequeño
'.Orientation = xlLandscape 'orientacion de la hoja horizontal
'End With
'Application.PrintCommunication = True
'------------------------------------------------------------------
''Application.Dialogs(xlDialogPrinterSetup).Show 'Selección y configuración de impresora
Dim Copias As Integer
Solicitar_Copias:
Copias = Val(InputBox("Indica el número de copias a imprimir...", "Copias para imprimir", 1))
If Copias = 0 Then
MsgBox "Usted canceló la acción.", vbInformation, " Impresion cancelada"
Exit Sub
ElseIf Not Copias > 0 Then
MsgBox "Indica un número mayor que cero."
GoTo Solicitar_Copias
End If
Application.ScreenUpdating = False 'Desactivo la actualización de la pantalla para ver la hoja activa.
Worksheets(ImprimirHoja).Activate 'Activo la hoja a imprimir
ActiveSheet.PrintOut 'Imprimo
Worksheets(estaHoja).Activate 'Vuelvo a la hoja desde donde comencé
Application.ScreenUpdating = True 'Activo la actualización de la pantalla para ver la hoja activa.
End If
Exit Sub
'controlError:
MsgBox "El nombre de hoja ingresado no existe.", vbExclamation, "Acción cancelada"
Exit Sub '...y salimos
End Sub

Respuesta:

Tu nombre de usuario:

 Color de texto:

 Tamaño de letra:
Cerrar tags



Temas totales: 40
Entradas totales: 95
Usuarios totales: 208
En este momento conectados (usuarios registrados): Nadie crying smiley
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis