Ejemplo Macro

16
Como crear tus propias funciones para Calc usando macros Crear tus propias funciones para Calc usando macros es realmente sencillo. Veamos un sencillo ejemplo como muestra: necesitamos una función que calcule la raiz (cuadrada, triple, cuarta...) de un valor. Por supuesto que se puede realizar con una Buscar en open-office.es Buscar Patrocinados por: OpenOffice Calc Apache OpenOffice Calc en español Inicio Writer Calc Impress Base Draw Math Extensiones Basic Libro de visitas Manual de Calc Bienvenid@s !!! Como crear tus propias funciones para Calc usan... http://blog.open-office.es/index.php/calc/2011/01/... 1 de 16 04/08/15 09:05

description

Ejemplo partico de como crear macro en calc

Transcript of Ejemplo Macro

Como crear tus propiasfunciones para Calc usandomacrosCrear tuspropiasfuncionespara Calcusandomacros esrealmentesencillo.Veamos un sencillo ejemplo como muestra:necesitamos una funcin que calcule la raiz(cuadrada, triple, cuarta...) de un valor. Porsupuesto que se puede realizar con unaBuscar en open-office.esBuscarPatrocinados por:OpenOffice CalcApache OpenOffice Calc en espaolInicio Writer Calc Impress Base Draw MathExtensiones BasicLibro de visitas Manual de Calc Bienvenid@s !!!Como crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...1 de 16 04/08/15 09:05sencilla frmula (por ejemplo, calcular en lacelda B3 la raiz cuarta del valor contenido enla celda A3 es tan sencillo como escribir enB3 la frmula =A3^(1/4)), pero en este postslo pretendemos ilustrar cmo crear unafuncin; la complejidad de sta depende delas necesidades del usuario.Crear la funcinPaso 1: Activar el editor de macrosAbre un nuevo documento Calc, y gurdalo conun nombre, por ejemplo Mi_Funcin.ods.Activar el editor de macros desde el menHerramientas > Macros > Organizar macros> OpenOffice.org Basic....OOo mostrar el dilogo Macros bsicas deOpenOffice.org; haz clic sobre el signo + quese muestra delante del nombre de tu archivo(en nuestro ejemplo, Mi_Funicn.ods), yselecciona la carpeta Standard; acontinuacin, haz clic sobre el botn Nuevo.OOo crear un nuevo mdulo dentro de tudocumento, y solicitar la confirmacin delnombre de ste; dado que para nosotros esintrascendente, aceptaremos sin ms.E n l a c e sIngls para los ms pequeos dela casaBotn Me gusta de Facebookpaso a pasoCelda con lista desplegable enExcelTutoriales para tu PCAcceso denegado!http://www.facebook.com/plugins/like%2Fwww.facebook.com%2Fopen.oheight=235&colorscheme=light&showOpenOfce ES+ 560Seguir +1Identi.ca Tuenti LinkedInComo crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...2 de 16 04/08/15 09:05Paso 2: Escribir la funcin en el editor demacrosLa funcin que vamos a crear es sencilla; lallamaremos RaizX (sin acento), y precisar quele indiquemos el nmero y qu raiz deseamosque calcule; al primer valor lo llamaremosNumero, sin acento, y al segundo, Raiz,tambien sin acento.En el editor Basic teclearemos el siguientecdigo justo debajo de la instruccin Sub Main/ End Sub:Function RaizX( Numero, Raiz )Ten en cuenta que escribimos sin utilizaracentos, y que ponemos Function, en ingls,no Funcion, en castellano. Adems, adiferencia de las funciones que utiliza Calc enla que los argumentos se separan por puntos ycoma (;) en Basic los argumentos de la funcinse separan por comas (,).Con esta instruccin declaramos la funcinRaizX, que necesitar dos parmetros(argumentos), a los que llamaremos Numero yRaiz.A diferencia de las subrutinas, identificadascomo Sub en Basic, las funciones devuelvenun valor, por lo que sern perfectas parautilizarlas en Calc.A continuacin, escribiremos una notaWebHostalMotor de reservas para pequeos ymedianos hoteles, hostales, pensiones yalberguesApache OpenOffice OFICIALDescargar Apache OpenOffice OFICIALForo OFICIAL en EspaolWeb OFICIAL de Apache OpenOfficeGracias por tu visitaAcerca_de... Poltica de privacidadAviso legal Para contactarUso de cookiesUtilizamos cookies propias y de terceros paraComo crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...3 de 16 04/08/15 09:05aclaratoria, para que cualquier usuario que loprecise, o nosotros mismos, dentro de variosmeses, nos describa qu hace esta funcin. Lanota aclaratoria es una lnea que empieza poruna comilla sencilla (').' Devuelve la raz X de un nmero;por ejemplo, RaizX( 125, 3)devuelve la raiz cbica de 125Tecleamos una tercera lnea, que realmente esel corazn de esta sencilla funcin. Paracalcular la raiz X de un nmero, debemoselevar este nmero a 1/X. Matemticamentees sencillo.Para que la funcin devuelva el valorcalculado, debemos asignarlo al nombre de lafuncin; es tan sencillo como escribir elnombre de la funcin, un signo igual, y laoperacin matemtica. Teclea la tercera lnea.RaizX = Numero^(1/Raiz)Recuerda que no estamos utilizando acentos. Yobserva que utilizamos las mismascombinaciones de letras maysculas yminsculas en todo momento. Quizs prefierasescribir todo en minsculas, o todo enmaysculas. Eso, a tu gusto.Para finalizar, le indicaremos a Basic quehemos terminado con nuestra funcin. Tanslo necesitamos una lnea ms:End FunctionEl cdigo debe de quedar tal como muestra laimagen; las lneas adicionales son paramejorar la lectura del cdigo.mejorar nuestros servicios y mostrarle publicidadrelacionada con sus preferencias mediante elanlisis de sus hbitos de navegacin. Si continanavegando, consideramos que acepta su uso.Puede obtener ms informacin, o bien conocercmo cambiar la configuracin, en nuestraPoltica de cookies . SuscripcionesRSS 2.0: Publicaciones ComentariosAtom: Publicaciones ComentariosComo crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...4 de 16 04/08/15 09:05Guardamos el cdigo ( desde el editor Basic,selecciona desde el men Archivo > Guardar,o haz clic sobre el botn con forma dedisquete, o pulsa Ctrl + G) y cierra el editorBasic.Paso 3: Probar el funcionamientoEn nuestra hojade clculovamos a teclearunos datos(imagen a laizquierda): En lacelda B2 tecleamos el nmero 125; en lasceldas C2 a C5 tecleamos 2,3,4 y 5; en lacelda D2 escribimos la siguiente frmula:=RaizX(B2;C2) y pulsamos Intro. Debe demostrar como resultado 11,18.Observa que desde Calc SI que utilizamos ; enlugar de comas para separar los argumentos.Corregimos lafrmula paraconvertir la celdaB2 en referenciaabsoluta (imagena la derecha),por lo que en la celda D2 tendremos lasiguiente frmula: =RaizX( $B$2;C2) ypulsamos Intro. Ahora extendemos la frmulaal rangoD3:D5 y comprobamos que todo haComo crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...5 de 16 04/08/15 09:05ido perfectamente.Dnde almacenar la funcin creadaA la hora de escribir una macro podemosalmacenarla en una de estas dos reas: MisMacros o en el documento actual.Almacenarla en Mis Macros supone que estardisponible para todas las aplicaciones de OOo,y por lo tanto, para todos los documentos Calcque utilicemos. Pero tiene un inconveniente:esta rea tan slo est disponible en nuestroequipo; si enviamos por correo un documentoutilizando la funcin, el receptor deldocumento no tendr acceso sta, y por lotanto, no la podr utilizar.Al mismo tiempo, si almacenamos la macro enel documento actual no ser accesible para elresto de aplicaciones OOo, ni siquiera paraotros documentos creados con Calc. En estacaso, en cambio, al mandar el documento porcorreo, dado que incorpora la funcin creada,s que podr ser ejecutada por el receptor deldocumento.Podemos almacenar la macro creada en undocumento, y guardar ste como plantilla.Cualquier documento creado a partir de statendr acceso a la macro, pero seguir siendoinvisible para otros documentos.Lo ideal, por tanto, ser generar la macro enel documento, y si deseamos utilizarla enotros documentos dentro de nuestro equipo,Como crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...6 de 16 04/08/15 09:05copiarla al rea Mis Macros. Para el caso quedeseamos utilizar la macro en otrodocumento, y enviarlo por correo a untercero, deberemos almacenar una copia delcdigo macro en el documento.Copiar la macro desde el documento aMis Macros, y viceversaRealmente es sencillo; sigue estos sencillospasos:Paso 1: Copiar la macro del documento alportapapelesAbrimos de nuevo el editor de macros: desdeel men Herramientas > Macros > Organizarmacros > OpenOffice.org Basic... accedemosa la macro creada en el documento desdeMi_Funcin.ods > Standard > Module1seleccionamos RaizX y pulsamos el botnEditar.Ya en el editor Basic, seleccionamos todo elcdigo de la funcin, lo copiamos alportapapeles (desde el men Editar > Copiaro pulsando la combinacin de teclas Ctrl + C).Paso 2: Pegar la macro del portapapeles al reaComo crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...7 de 16 04/08/15 09:05Mis MacrosDesde el editor de Basic, hacemos clic sobre elbotnSeleccionar Mdulo.Seleccionamos el mdulo Mis Macros >Standard > Module1, y hacemos clic sobre elbotn Editar.Justo debajo de la sentencia Sub Main / EndSub hacemos clic, y pegamos (desde el menEditar > Pegar o pulsando la combinacin deteclas Ctrl + V).Guardamos los cambios en el editor ycerramos ste.Resumiendo...Crear nuestras propias funciones parautilizarlas en Calc es sencillo; en la mayora delas veces tan solo necesitamos unos bsicosconocimientos de programacin en Basic; loms complicado es decidir donde almacenar lamacro que contiene la funcin, y la respuestaes sencilla: la almacenaremos en Mis Macros yen el documento, para que en el caso deenviarlo a un tercero, tenga acceso a toda laComo crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...8 de 16 04/08/15 09:05funcionalidad de nuestra hoja. Vota este post votarCategoras:Calc ,Calc Medio ,Vers. 3.3.x ,Vers. 4.0 ,Funciones ,MacrosEtiquetas:calcular ,celda ,macro ,udf03.01.11 28794 visitas12 comentarios 12 comentariosComentarioDe: Miguel Ortiz [Visitante]Necesito crear un boton de macros. pero no secomo programarlo con la formulaejemplo en el casilla b2 tengo el valor 10 quees un numero decimal pero en la casilla f2quiero que me muestre el numero binario deesa cantidad pero no se como programarlogracias27.03.14 @ 18:500 comentariosFacebook Comments PluginAade un comentario...Como crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...9 de 16 04/08/15 09:05ComentarioDe: slv-es [Miembro] http://open-office.esPara Miguel Ortiz:Hola, no necesitas crear una macro.Tan slo tienes que poner en la casilla F2esto: =DEC.A.BIN(B2;8)Esto muestra en F2 el nmero binario, con 8cifras, del nmero decimal que contiene B2.Gracias por tu consulta, si bien en adelante espreferible que te dirijas al Foro Oficial (en lacolumna de la izquierda vers el enlace)desde donde un numeroso grupo devoluntarios podrn ayudarte.27.03.14 @ 19:17ComentarioDe: Natalia [Visitante] Hola, necesito crear un macro. La situacin estengo en una hoja una columna que entreotras variables tiene la variable edad.Necesito una funcin que me permita crearuna nueva hoja con un cuadro con losdiferentes rangos de edades a modo deejemplo, una columna menor a un ao, otraentre 1 y 4 aos, 5 y 14 etcera. para podersaber cuantos tengo en esas edades. Estuveviendo la funcin contar.si y no logro usar, nos si necesito un macro o esa funcin.Gracias!!!!29.04.14 @ 21:25Como crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...10 de 16 04/08/15 09:05ComentarioDe: slv-es [Miembro] http://open-office.esEso lo resolvers de forma muy elegante yfcil con unatabla dinmica .Mira el ejemplo del apartado Agrupar camposde tipo Numrico30.04.14 @ 15:40ComentarioDe: Dante [Visitante]He creado una funcin siguiendo elprocedimiento aqui descripto, pero no logroque el nombre de la funcin aparezca en ellistado de funciones cuando se hace click enel botn fx de la barra de frmulas11.08.14 @ 19:30ComentarioDe: slv-es [Miembro] http://open-office.esHola DanteLas funciones creadas por los usuarios no semuestran en el botn Fx. Se deben escribir deforma manual en la barra de frmulas.12.08.14 @ 21:31ComentarioDe: Pedro Rodriguez[Visitante]Hola. Quizas la peticin sea un poco extraa.Tengo un programa en python que deseariaincorporar como macro en Calc. hay algunaforma de hacerlo directamente o tendra queComo crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...11 de 16 04/08/15 09:05recodificarlo en Basic?.Muchas gracias. Saludos.25.09.14 @ 13:08ComentarioDe: slv-es [Miembro] http://open-office.es@Pedro: AOO admite tanto OOBasic comoPython.Te recomiendo que le eches un vistazo a lawiki oficial; se est desarrollando un apartadoespecfico de Python enhttps://wiki.openoffice.org/wiki/ES/Manuales/GuiaAOO/TemasAvanzados/Macros/PythonDe momento, nosotros no podemos ayudarteen este lenguaje, pero en el Foro Oficialencontrars ayudaSaludos25.09.14 @ 15:02ComentarioDe: luis [Visitante]Tengo una tabla con 3 columnas de numeros(los saco de otra tabla), con los que hago ungrafico. Necesito que al pulsar un boton(miidea es asociarlo a un evento para que alactualizar la primera tabla, actualice elgrafico, de momento el boton me vale), meordene de mayor a menor la colunma 2,seleccin extendida, para que actualice elgrafico. Gracias13.10.14 @ 07:17ComentarioDe: slv-es [Miembro] http://open-office.esComo crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...12 de 16 04/08/15 09:05@Luis: Gracias por tu consulta, si bien espreferible que te dirijas al Foro Oficial (en lacolumna de la izquierda vers el enlace)desde donde un numeroso grupo devoluntarios podrn ayudarte.13.10.14 @ 21:09ComentarioDe: Claudio [Visitante]Estimado, necesito crear una funcin que medevuelva el valor de una celda que contieneformulas.Aqu hay una macro que lo que hace esdevolver el valor sobre la misma celda quecontiene la formula y se basa sobre el copiadoy pegado especial:Sub ConvertirFormulas()'Copiar la seleccin de celdasSelection.Copy'Pegado Especial utlizando xlPasteValuesSelection.PasteSpecial Paste:=xlPasteValues'Salir del modo de copiadoApplication.CutCopyMode = FalseEnd SubEl problema es que yo necesito una funcinque obtenga los valores sin borrar la celdaoriginal que contiene la formula.Le agradezco su ayudaComo crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...13 de 16 04/08/15 09:05Nombre:Claudio T24.11.14 @ 19:46ComentarioDe: slv-es [Miembro] http://open-office.es@ClaudioUna forma sencilla de obtener el valor de lacelda actualmente seleccionada esSeleccion =ThisComponent.CurrentSelection(0)Tambin puedes utilizargetCellByPosition(col,fila).getStringBusca en la wiki oficialMacros en OOo BasicSaludos24.11.14 @ 23:08 Suscribirse a los comentarios de estapublicacinDejar un comentarioComo crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...14 de 16 04/08/15 09:05Email:Textocomentario:Opciones:Tu direccin email NO ser mostrada en estesitio. Auto-BR (Saltos de lnea seconvierten a
) Recordarme (Nombre, email ypgina web) Permitir formulario demensajes (Permitir que los usuarioscontacten contigo va un formulario demensajes; tu email NO se har pblico)Enviar comentario Vista previaOtros visitantes vieron...Como crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...15 de 16 04/08/15 09:05Atajos de teclado pararedimensionar filas ycolumnas en CalcCalcpermiteutilizarcombinaciones de teclas(atajos de teclado) pararedimensionar filas ycolumnas.Desactivar laherramienta EntradaAutomticaCalcdispone deuna herramienta que, entreotras tareas, monitoriza losdatos que ests tecleando;si detecta que el texto queests tecleando coincidecon el texto de otSumar slo nmerospositivosLasfuncionesmatricialeshacen queCalc secomporte de un modoespecial, pues evalua deforma independiente cadavalor del rango de celdasPatrocinado porSBS 2015 by slv-esComo crear tus propias funciones para Calc usan... http://blog.open-oce.es/index.php/calc/2011/01/...16 de 16 04/08/15 09:05