jueves, 12 de marzo de 2015

configuración de seguridad en macros

Cambiar la configuración de seguridad de macros en Excel


Configuración de la seguridad de macros en Excel
En Microsoft Office Excel, puede cambiar la configuración de seguridad de macros para controlar qué macros se ejecutan y en qué circunstancias al abrir un libro. Por ejemplo, puede permitir la ejecución de macros en función de si están firmadas digital mente por un programador de confianza.
Para obtener más información sobre la configuración de seguridad de macros en documentos de Microsoft Office, vea el tema sobre cómo habilitar o deshabilitar macros en documentos de Office.

Configuración de seguridad de macros y sus efectos

En la siguiente lista se resumen las distintas configuraciones de seguridad de macros. En todas las configuraciones, si hay instalado un software antivirus que funciona con 2007 Microsoft Office System y si el libro contiene macros, el libro se examina para detectar virus conocidos antes de abrirlo.
  • Des habilitar todas las macros sin notificación. Haga clic en esta opción si no confía en las macros. Se des habilitan todas las macros de los documentos y todas las alertas de seguridad que informan de que las macros están des habilitadas. Si hay documentos que contienen macros sin firmar que considera de confianza, puede colocar esos documentos en una ubicación de confianza. Se permite la ejecución de los documentos en ubicaciones de confianza sin que los compruebe el sistema de seguridad del Centro de confianza.
Configuración de la seguridad de macros en Excel
  • Des habilitar todas las macros con notificación. Ésta es la configuración predeterminada. Haga clic en esta opción si desea des habilitar las macros, pero desea recibir alertas de seguridad si existen macros. De esta manera, puede elegir cuándo habilitar las macros caso por caso.

  • Des habilitar todas las macros excepto las firmadas digital mente. Esta configuración es la misma que la de la opción Des habilitar todas las macros con notificación, con la excepción de que, si la macro está firmada digital mente por un editor de confianza, podrá ejecutarse si ya confía en el editor. Si el editor no es de confianza, se le notifica este hecho para que pueda elegir si desea habilitar las macros firmadas o confiar en el editor. Todas las macros no firmadas digital mente se des habilitan sin ninguna notificación.

  • Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso). Haga clic en esta opción para permitir la ejecución de todas las macros. No se recomienda usar esta opción, ya que con esta configuración el equipo es vulnerable a código posiblemente malintencionado.
  • Confiar en el acceso al modelo de objeto de proyectos de VBA.    Esta configuración está dirigida a los programadores y se usa para bloquear deliberadamente o permitir el acceso mediante programación al modelo de objetos de VBA de cualquier cliente de automatización. Es decir, ofrece una opción de seguridad para el código escrito para automatizar un programa de Office y manipular mediante programación el entorno y el modelo de objetos de Microsoft Visual Basic para Aplicaciones (VBA). Se trata de una configuración por usuario y por aplicación, y deniega el acceso de forma predeterminada. Esta opción de seguridad dificulta que los programas sin autorización generen código de "duplicación automática" que pueda dañar los sistemas del usuario final. Para que cualquier cliente de automatización pueda tener acceso al modelo de objetos de VBA mediante programación, el usuario que ejecute el código debe conceder acceso explícitamente. Para habilitar el acceso, active la casilla.
Configuración de la seguridad de macros en Excel

como poner formulas en macros

Una de esas funciones es insertar fórmulas y funciones. El grabador nos permite crear macros donde se inserten fórmulas, la diferencia es que la fórmula vendrá con la referencia R1C1 (filas y columnas) y la función estará en inglés. Por ejemplo:

Sub FormulaGrabada()
'
' Macro1 Macro
' Macro grabada el 11/08/2010 por Sergio A Campos H
'
'
    Range("C2").FormulaR1C1 = "=COUNTIF(R[-2]C[-2]:R[1]C[-2],""VENTA"")"
End Sub
Pero si lo que queremos es escribir nuestra propia macro y escribir nuestras fórmulas en nuestro propio lenguaje podemos utilizar la propiedad FormulaLocal. Por ejemplo:

Sub FormulaEnCelda()
'FormulaLocal nos pemite escribir nuestras funciones en nuestro propio lenguaje
'y de la misma manera que la escribiríamos dentro de una celda.
'
Range("C3").FormulaLocal = "=CONTAR.SI(A1:A4,""VENTA"")"
'
End Sub

miércoles, 4 de marzo de 2015

 Dim Precio
Dim dineroDisponible
Precio = 150
dineroDisponible = 100

if  dineroDisponible > precio then
msgbox "Ok, te alcanza puedes comprarlo"
Else
msgbox “No te alcanza, consiga más dinero"
End if
esta primera si salio bien y sis e pudo hacer 

Dim Name
Name=inputbox("Y tú quién eres?")
If 
 Name = “ " then
 Msgbox "Hola sin nombre :/"
else
msgbox "Mucho gusto en conocerte" + Name 
end if
l intente hacer y no salio

Crea un programa usando la sentencia IF, que pregunte al usuario
“Teclea una edad” (Typetext), y si la edad ingresada es menor o igual a 10 (IF)
Entonces (Then) arroje un mensaje (Msgbox) que diga “Eres un niño”. Si la edad ingresada es mayor a 10 arroje un mensaje que
 Dim dinero
dinero=inputbox ("Cuánto dinero tienes ahorrado?")
if 
dinero= 0 Or dinero < 10 then 
Msgbox “Estas pobre"
else
Msgbox “Tienes poco ahorrado“
 end ifdiga “Tienes m
as de 10 años”

no funcionaron las demás las intente poner de varias formas y para que funcionara 

reblas para la de claracion de variables

1.  No se pueden declarar dos variables globales del mismo nombre
2.  No podemos declarar dos variables automáticas del mismo nombre
3.  Si una variable global y una automática tienen el mismo nombre la global sera destruida por la automática
4.  Si dos variables automáticas tienen el mismo nombre la del bloque superior elimina a la del inferior

 Caso 1:                       Caso 2:                             Caso 3:                               Caso 4:
 type var;                    {                                         type1 var1;                       fonc(i)
 type var;                    type var;                         type2 var2;                       type1 i;
                                      type var;                                                                      {
                                      }                                          fonc(var1)                        type1 j;
                                                                                 type2 var1;                       ...
                                                                                 {                                                {type2 i;
                                                                                 type2 var2;                             type2 j;
                                                                                 ...                                                ...
                                                                                 }                                                }
                                                                                                                             }