Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenas
Alguien sabe si e pueden tener 2 botenes , cada uno con macros distintas en la misma hoja????
Tengo una que guarda los datos y otra que hace un zoom , pero cuando las pongo en la misma hoja solo funciona 1 de ellas....
Hola Galván,
Decirte que tan poco las macros son lo mío, sólo las utilizo en contadas ocasiones.
Suponiendo que tus 2 subrutinas te funcionan como dices por separado, lo único que tendrías que hacer es poner en cada botón una acción “Ejecutar macro” y en “Nombre de macro” el nombre de la subrutina correspondiente.
Por ej.:
Supongo que no has puesto todo el código de la subrutina del zoom, no? He intentado ponerla en un botón y no funciona. Si buscas en la pag. de QV “macro zoom” verás que hay algunas.
Esta por ej:
sub ResetZoom15
set mySheet = ActiveDocument.ActiveSheet
set sp = mySheet.GetProperties
sp.ZoomFactor = sp.ZoomFactor*1.5
mySheet.SetProperties sp
end sub
Un saludo,
Hola,
Si que se puede. Yo los tengo en varios proyectos sin problemas.
Hola Sonia, podias anexarme algun ejemplo con 2 botones o decirme como lo haces, porque cuando creo el segundo boton me aparece la macro de la primera....
Hola Galván,
Te pondré un ej. con 3 botones: Todo, Anual y Comparativo. Estos botones ejecutan distintas macros.
Para el botón “Todo”, en Propiedades, pestaña acciones: tengo 2 acciones ejecutar macro, primero ejecuta la macro “EnableA3” y después “HideSelectTodo” que previamente he creado en el editor de módulo.
Te pongo las macros del botón “Todo”:
' OCULTAR COLUMNAS EN LSTDO. VALORADAS - A3
' Muestra todas las columnas para listado Valoradas A3
Sub EnableA3
set doc = ActiveDocument
set s = doc.GetSheetObject("CH728")
set propS = s.getProperties()
'Esto lo que hace es habilitar la expresión (le pone la marca en el objeto)
' NOTA: las expresiones empiezan en la cero!!
exprD = propS.Expressions.Item(0).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(1).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(2).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(3).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(4).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(5).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(6).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(7).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(8).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(9).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(10).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(11).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(12).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(13).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(14).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(15).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(16).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(17).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(18).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(19).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(20).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(21).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(22).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(23).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(24).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(25).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(26).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(27).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(28).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(29).Item(0).Data.ExpressionData
exprD.Enable = true
exprD = propS.Expressions.Item(30).Item(0).Data.ExpressionData '
exprD.Enable = true
exprD = propS.Expressions.Item(31).Item(0).Data.ExpressionData '
exprD.Enable = true
s.setProperties propS
end sub
sub HideSelectTodo
set v = ActiveDocument.GetVariable("vSelectTodo")
v.SetContent 0,true
end sub
Para los otros 2 botones sería algo similar, con otras macros.
Un saludo,
Hola Sonia, perdona de nuevo pero no me aclaro mucho. Te comento.
Tengo 2 acciones y queria crear para ello 2 botones independientes.
La primera es:GUARDAR LO SELECCIONADO DE UNA TABLA EN UN FICHERO XML
Sub Guardar_en_Server
set tb = ActiveDocument.GetSheetObject("TB03")
tb.ServerSideExportEx "SeleccionrefGabi.xml" , ";" , 3 '0=HTML, 1=Text, 2=Bitmap, 3=XML, 4=QVD, 5=BIFF: posibles formatos de grabación
end sub
Y el segundo boton es un ZOOM A PANTALLA
Sub FitZoom()
End Sub
No se como hacerlo porque estoy muy pez ![]()
Hola Galván,
Decirte que tan poco las macros son lo mío, sólo las utilizo en contadas ocasiones.
Suponiendo que tus 2 subrutinas te funcionan como dices por separado, lo único que tendrías que hacer es poner en cada botón una acción “Ejecutar macro” y en “Nombre de macro” el nombre de la subrutina correspondiente.
Por ej.:
Supongo que no has puesto todo el código de la subrutina del zoom, no? He intentado ponerla en un botón y no funciona. Si buscas en la pag. de QV “macro zoom” verás que hay algunas.
Esta por ej:
sub ResetZoom15
set mySheet = ActiveDocument.ActiveSheet
set sp = mySheet.GetProperties
sp.ZoomFactor = sp.ZoomFactor*1.5
mySheet.SetProperties sp
end sub
Un saludo,
Gracias Sonia, he cambiado lo que me comentas y ahora funciona perfectamente. La verdad es que me has ayudado y monton y perdona por las molestias.![]()
De nada. No ha sido ninguna molestia.