Tiempo atrás comenté en este blog la manera de listar las propiedades de un documento de Excel, era una forma sencilla de visualizar estas propiedades (ver).
En esta ocasión aprenderemos una manera, igualmente sencilla, de modificar estas propiedades de un documento de Excel desde valores contenidos en celdas de nuestra hoja de cálculo.
Para ello, insertamos el siguiente código VBA en un módulo del Explorador de proyectos VBA:
El listado completo de las propiedades de un documento de Excel sería el siguiente (ojo por que estas propiedades se definen en inglés!!!):
Title, Subject, Author, Keywords, Comments, Template, Last author, Revision number, Application name, Last print date, Creation date, Last save time, Total editing time, Number of pages, Number of words, Number of characters, Security, Category, Format, Manager, Company, Number of bytes, Number of lines, Number of paragraphs, Number of slides, Number of notes, Number of hidden Slides, Number of multimedia clips, Hyperlink base, Number of characters (with spaces), Content type, Content status, Language, Document version.
Esta función tal cual exige que al completar los dos argumentos DocProp:= propiedad a cambiar y NuevoVal:= nuevo valor de la propiedad, o bien se refieran a una celda o bien se escriban entre comillas:
=CambioDocProp("Comments";"Cambiamos los comentarios")
El resultado de la función devuelve un VERDADERO si el cambio se ha producido o un FALSO si algo falla.
Podemos ver cómo actúa realmente esta función sobre cambios en algunas propiedades. Para ello sacaremos la venta de propiedades (Panel de documentos) a la hoja de cálculo (Menú Archivo > Información > Propiedades > Mostrar Panel de documento):
A continuación escribimos algunas funciones CambioDocProp que actue sobre alguna de las propiedades, viéndo como inmediatamente modifica éstas:
En esta ocasión aprenderemos una manera, igualmente sencilla, de modificar estas propiedades de un documento de Excel desde valores contenidos en celdas de nuestra hoja de cálculo.
Para ello, insertamos el siguiente código VBA en un módulo del Explorador de proyectos VBA:
Function CambioDocProp(DocProp As String, NuevoVal As String) As Boolean Application.Volatile On Error GoTo SalirProceso ActiveWorkbook.BuiltinDocumentProperties.Item(DocProp) = NuevoVal 'verificamos el éxito del cambio CambioDocProp = True Exit Function SalirProceso: CambioDocProp = False End Function
El listado completo de las propiedades de un documento de Excel sería el siguiente (ojo por que estas propiedades se definen en inglés!!!):
Title, Subject, Author, Keywords, Comments, Template, Last author, Revision number, Application name, Last print date, Creation date, Last save time, Total editing time, Number of pages, Number of words, Number of characters, Security, Category, Format, Manager, Company, Number of bytes, Number of lines, Number of paragraphs, Number of slides, Number of notes, Number of hidden Slides, Number of multimedia clips, Hyperlink base, Number of characters (with spaces), Content type, Content status, Language, Document version.
Esta función tal cual exige que al completar los dos argumentos DocProp:= propiedad a cambiar y NuevoVal:= nuevo valor de la propiedad, o bien se refieran a una celda o bien se escriban entre comillas:
=CambioDocProp("Comments";"Cambiamos los comentarios")
El resultado de la función devuelve un VERDADERO si el cambio se ha producido o un FALSO si algo falla.
Podemos ver cómo actúa realmente esta función sobre cambios en algunas propiedades. Para ello sacaremos la venta de propiedades (Panel de documentos) a la hoja de cálculo (Menú Archivo > Información > Propiedades > Mostrar Panel de documento):
A continuación escribimos algunas funciones CambioDocProp que actue sobre alguna de las propiedades, viéndo como inmediatamente modifica éstas:
muchas gracias amigos
ResponderEliminarson muy buenos y didacticos estos documentos.
Agradezco a Di-s sus correos y Uds.
atte
Marcelo
Gracias a ti Marcelo
EliminarSlds
COMO ESTOY APRENDIENDO EXCELL CUALQUIER APORTE Y ADEMAS DE ESTE TIPO PARA MI ES DEMASIADO IMPORTANTE, LES AGRADEZCO SU APORTE Y AMIS ANHELOS DE APRENDER, SPBRE EL TEMA.
ResponderEliminarGracias Alfredo,
Eliminarme alegra que mi pequeño aporte sirva a alguien.
Slds
Holas, excelente. Muchas gracias. Y si deseo cambiar las propiedades de una hoja en particular por vba?
ResponderEliminarHola,
Eliminarpuedes ver las propiedades en la Ficha Desarrollador > grupo Controles > botón Propiedades...
Puedes hacer uso de ellos desde la hoja de código de la hoja, por ejemplo:
Hoja1.ScrollArea="A1:C10"
Saludos
Buen dia, excelente aporte. tengo una duda, si quiero llegar en un punto determinado de una hoja con ActiveWindow.ScrollRow = 121. pero que no se pueda mover después de ejecuta la macro.
ResponderEliminarMuchas gracias por la ayuda
saludos
Hola, buenos días...
Eliminarquizá limitando el ScrollArea a ese rango que este a la vista (o la celda activa en ese momento).
Echa un vistazo a https://excelforo.blogspot.com/2017/10/vba-Scroll-Macros-Excel.html
Saludos