Plaga de correos infectados en argentina

  • -

Plaga de correos infectados en argentina

Desde principios de Noviembre y empeorando hacia estos días (Diciembre 2018), se masificó la recepción de correos electrónicos conteniendo archivos adjuntos que supuestamente corresponden a documentos de facturación, acuses de recibo importantes y diferentes modalidades de órdenes de pago. En general el contenido del correo está en ingles o mal traducido al español y el texto difiere según el “modelo” que te haya tocado en suerte. La constante es que todos incluyen un archivo adjunto en formato Zip, Doc, Docx o PDF.

Como se ve en la imagen, hasta hubo quien lo recibió en alemán y, sin entender una letra de lo que decía, siguió los links, descargó el paquete y en definitiva terminó abonando 3 horas de servicio técnico para solucionar el estropicio.

La prevención es sumamente sencilla y simplemente consta de aplicar las mismas reglas aconsejadas habitualmente:

  • Verificar el cuenta de correo del remitente: No sólo lo que se muestra, sino la dirección real, pasando el mouse por encima o con un click derecho en la mayoria de las aplicaciónes puede verse ese dato
  • No descargas adjuntos que uno no espera
  • Contener la curiosidad (que mató al gato y a mas de una PC)
  • Saber que no hay un tesoro al final del arco iris y nadie regala nada, mucho menos en Internet: si no esperabas un pago, no lo vas a recibir. Ni una herencia. Ni una transferencia de u$s 1000000 que por error llegó a tu cuenta.

Por último cualquier cosa que descargues, al menos verificala con tu antivirus antes de abrirla. Si el Office te dice que un archivo puede ser peligroso, creéle. Y si no conoces la fuente, eliminalo.

Si no, prepará la billetera y buscá un técnico para hacer limpiar el equipo.

Mas vale prevenir…

 


  • -

Office se cuelga despues de actualizar Mac OSx

Pasó con Mavericks. Pasó con Yosemite. Pasa con Capitan. A la mitad del trabajo con algún documento de Office, aparece una ventana de error y se cierra la aplicación. Los detalles del error varían en sus especificaciones, pero vienen encabezados con EXC_BAD_ADDRESS, EXC_BAD_LOCATION, EXC_BAD… lo que sea.

Un primer intento

Despues de probar varias alternativas (revisar que no haya adware ni aplicaciones basura genéricas, instalar todas las actualizaciones pendientes, forzar salida de cualquier aplicación de Office colgada por allí…) lo mejor es suprimir cualquier rastro de Office y reinstalarlo

  1. En Aplicaciones, buscar la carpeta de Office y eliminarla
  2. Ir a Librería (option + click sobre Ir en el Finder para ver Libreria), buscar la carpeta Application Support y eliminar la carpeta Microsoft
  3. De nuevo en Libreria, buscar la carpeta Preferencias y dentro de ella eliminar la carpeta Microsoft
  4. Reinstalar Office

Un Segundo Intento

Tuve dos casos idénticos. En uno, con lo ya dicho fue suficiente. En el otro, apenas unas horas despues volvió a presentarse el problema de las ventanas de error y el Excel colgado. Con menos frecuencia, pero pasa.

  1. Repetimos los pasos 1 a 3 del intento anterior
  2. Desde Aplicaciones, Utilidades, Utilidad de Discos, verificar y reparar los permisos del disco. En Capitan se supone que esto ya no es necesario. Hasta Yosemite sí.
  3. No está demás aprovechar para Verificar y Reparar el disco si fuese necesario con la misma Utilidad de Discos. Si aparecen errores que no pueden repararse en el momento, entonces seguis con los pasos 4 a 7. Si no, avanzá al casillero 8 directamente.
  4. Reiniciamos o iniciamos bien con el disco de arranque y pulsando “C” o bien, con Lion o superior, usando el Sistema de recuperación o Recuperación por Internet
  5. Si usas una partición de recuperación o Recuperación por Internet, seleccionamos la Utilidad de Discos en la ventana “Utilidades“. Con un disco de instalación, sin presionar en continuar, seleccionamos Utilidad de Discos en el menú del instalador
  6. Una vez dentro, en la pestaña “Primera ayuda” hacemos clic en el triángulo a la izquierda del icono de la unidad de disco duro para ver los nombres de los volúmenes y particiones del disco
  7. Seleccionamos el volumen de disco duro de OS X que queremos reparar y pulsamos en “Reparar“. Listo
  8. Reiniciá la compu y creá una nueva cuenta de usuario con permisos de administración
  9. Cerrá la sesión e iniciá con esta nueva cuenta
  10. Pasa todos tus archivos (Imágenes, Documentos, etc… ) a esta nueva cuenta. Por ejemplo, si usás Mail, seguí los pasos 11 a 13. Si no, al 14 derecho
  11. Copiar todas las cuentas. Tenemos que buscar en la carpeta de nuestro usuario  en la ruta /Library/Preferences/  el archivo “com.apple.mail.plist” y copiarlo a la misma carpeta del ordenador en que queramos configurar el correo. Con este paso, ya tendríamos configuradas la cuentas.
  12. Copiar los mensajes, las reglas, etc. Tenemos que copiar el contenido de la carpeta de nuestro usuario /Library/Mail/ del usuario original a la misma carpeta en el ordenador a configurar.
  13. Y por último lo único que queda pendiente es la contraseña de acceso a los servidores de correo. Para ello, arrancamos Mail en el ordenador nuevo, y nos preguntara las contraseñas de cada una de las cuentas que hayamos creado. Conforme nos vaya pidiendo las claves, las pondremos y guardando en nuestro llavero para que ya no lo pida más.
  14. Acordate de pasar, desde Documentos de tu cuenta anterior, la carpeta Datos de Usuario de Microsoft. Ahí están, por ejemplo, las identidades con los mail del Outlook.
  15. Reinstalá Office
  16. Una vez que verifiques que todo está como debe ser, podés eliminar tu cuenta anterior.

Broche de Oro

Cada tanto, con Office 2011 sobre Capitán, reaparece un error de Microsoft. Ya no mientras se trabaja en una planilla o documento, ni siquiera al guardar el archivo. Aparece al intentar cerrar la aplicación. Repetir todos los pasos de cada una de las opciones anteriores no tuvo mucho más efecto que postergar y hasta prolongar los períodos entre fallo y fallo, pero vuelven. Es de esperarse que una instalación limpia de el nuevo Office 2016 solucione el tema. Mejor todavía si se hace luego de las limpiezas explicadas antes. Pero eso queda para un futuro próximo y ya veremos como nos va…

 

 


  • -

Excel 2010: Macro para filtrar una hoja protegida

No son pocas las veces que me toca lidiar con macros para Excel que deben trabajar sobre hojas protegidas. Sea para impedir que el usuario arruine una fórmula o simplemente para mantener un control total sobre lo que puede y no puede ingresarse. Y si además tenemos que darle al operador la comodidad de trabajar con filtros pero sin perder la protección de la planilla, se complica.

La tentación inmediata es crear nuestra propia clase para filtrar los datos desde nuestra aplicación pero siendo que las funciones de filtros incorporadas en Excel son tan prácticas y poderosas, esto sería una pérdida innecesaria de esfuerzo y tiempo. Entonces, cómo lo aprovechamos?

Sabemos que sobre una hoja protegida contra cambios, los filtros de Excel no están accesibles desde el panel de herramientas. Tampoco funcionarían desde un macro. Entonces, como primera medida, habrá que desproteger la hoja.

Imprescindible para un filtro es el rango de datos a filtrar, del cual tenemos que obtener almenos un dato de cada caso para que el usuario elija cual va a ser el criterio por el cual filtrar. Por ejemplo si tenemos esta tabla:

Ejemplo-Excel

 

Y quisiéramos que el usuario pueda filtrar los datos para un vendedor en particular, debemos decirle al filtro que su rango a filtrar será la columna B (Vendedor) y le ofrezca al operador que elija como criterio entre los vendedores Pérez, López y Martínez. Es decir, cada uno de los valores únicos sin repetición de esa columna. Para esto podríamos cargar una lista con los valores únicos y mostrarla al operador para que elija.

Finalmente hay que tomar el valor que el usuario eligió y ejecutar el filtro. Inmediatamente después, cómo no queremos que nada más sea modificado por fuera del macro, volvemos a proteger la hoja.

Suena fácil? Lo es.

Para el ejemplo vamos a asumir que el usuario quiere filtrar la columna correspondiente a la celda en la que está plantado en ese momento: ActiveCell.Column y activa el filtro a través de una macro a la que le asignamos la combinación de teclas CTRL+K. Tambien podría activarlo haciendo doble click sobre la celda si hacemos uso del evento BeforeDoubleClick (ThisWorkBook_BeforeDoubleClick) o lo que sea que se nos haya ocurrido.

Resumiendo, convengamos que los pasos necesarios son:

  1. Desproteger la hoja
  2. Setear como rango para el filtro, la columna activa
  3. Tomar los valores únicos de esa columna, cargarlos en una lista y ofrecerla al usuario
  4. Cuando el usuario elige el valor, activar el filtro
  5. Proteger la hoja nuevamente

Necesitamos un formulario (llamado Formulario) al que le incorporamos un ListBox (que llamamos Lista). Y para no enrollarnos con el evento ListBox.Change, el filtro se activará con un botón. Entonces agregamos un botón al que llamaremos Filtrar. A tipear entonces, el código queda así:

Sub preparaElFiltro

 Dim txcelda As String ‘ donde guardamos la dirección de la celda activa

     Dim txpartes As Variant  ‘ para obtener el desglose de la dirección

     Dim txcolumna As String ‘ contendrá la letra de la columna

     Dim columna As Integer ‘ para almacenar el número de la columna

     Dim ultimaFila As Integer ‘ guarda el número de la última fila ocupada de esa columna

     txcelda = ActiveCell.Address ‘ por ejemplo $B$2
     columna = ActiveCell.Column ‘ en este caso, sería 2

     txpartes = Split(txcelda, “$”) ‘ txpartes quedaría como un array: txpartes(0)=$, txpartes(1)=B, txpartes(2)=$, txpartes(3)=2
     txcolumna = txpartes(1) ‘ es decir: B

     Dim txrangoOri As String ‘ en esta variable guardaremos el rango final en formato string

     ActiveSheet.Unprotect “la_clave_que_sea” ‘ desprotegemos la hoja

     ‘ vamos al final de la hoja y simulamos un END – UP para ir a la última celda ocupada en esa columna. Si usamos Excel x64 podríamos poner 1048576…

     ultimaFila = Cells(65536, columna).End(xlUp).Row 

     txrangoOri = Range(Cells(2, columna), Cells(ultimaFila, columna)).Address ‘ guardamos en txrangoOri la dirección de toda la columna ocupada: B2:B22

     ‘ esos datos los vamos a copiar a una columna cualquiera (en este caso ZZ) para limpiar allí los repetidos

     Range(“ZZ:ZZ”).Delete ‘ limpio el destino para asegurarme que no haya datos de algún proceso anterior

     ‘ copiamos los valores originales a la columna dónde la limpiaremos
     Range(txrangoOri).Copy
     Range(“ZZ1”).PasteSpecial xlPasteAll

     ‘ tomo el rango completo que se ocupó en la columna ZZ para pasárselo al comando RemoveDuplicates
     ultimaFila = ActiveSheet.Cells(65536, 702).End(xlUp).Row ‘702 es la columna ZZ
     txrangoOri = Range(Cells(1, 702), Cells(ultimaFila, 702)).Address

     ‘ eliminamos los duplicados
     ActiveSheet.Range(txrangoOri).RemoveDuplicates Columns:=1, Header:=xlNo

     ‘vuelvo a armar ahora el rango limpio de repetidos
     ultimaFila = ActiveSheet.Cells(65536, 702).End(xlUp).Row ‘702 es la columna ZZ
     txrangoOri = Range(Cells(1, 702), Cells(ultimaFila, 702)).Address

     ‘cargamos el rango limpio de duplicados en la lista desde la que el usuario elegirá el criterio para el filtro

     Formulario.Lista.RowSource = txrangoOri

     ‘volvemos a proteger la hoja

     ActiveSheet.Protect “la_clave_que_sea” 

     Formulario.Show ‘ mostramos el formulario al usuario

End sub

‘ Y ahora el código asignado al botón que finalmente hará el trabajo

Private Sub Filtrar_Click()

     ‘como en el caso anterior, tomamos todos los datos de la celda en la que está parado el usuario para poder filtrar la columna correcta

     Dim quecelda As String

     quecelda = ActiveCell.Address

     Dim partes As Variant
     partes = Split(quecelda, “$”)

     Dim columna As String
     columna = partes(1)

     Dim txrango As String

     txrango = columna & “:” & columna

     ActiveSheet.Unrotect “la_clave_que_sea” ‘ desprotegemos la hoja

     Columns(txrango).Select  ‘ Seleccionamos todas la columna a filtrar

    Selection.AutoFilter  ‘ le activamos el filtro

     ‘ y le pasamos como criterio el valor que el usuario seleccionó en la lista
     Range(txrango).AutoFilter field:=1, Criteria1:=Lista.Value

     ActiveSheet.Protect “la_clave_que_sea” ‘ protegemos la hoja

     Formulario.Hide ‘quitamos el formulario

End Sub

 

Y esa es la idea básica. Luego cada uno podrá optimizar el modo en que referencia las celdas y los rangos y decidir que tanto quiere complicar el nivel de filtrado. Tal como está, con este script pueden acumularse filtros en tantas columnas como se desee, obteniendo, desde una base sencilla, filtros por varios criterios y columnas diferentes. No es una mala idea agregarle al formulario un botón QuitarFiltros, que permita volver la planilla a su estado natural, mostrando todos los datos:

If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData

Es decir, si había un filtro activo, lo desactiva. Esto debe hacerse, una vez más, desprotegiendo antes y volviendo a proteger la hoja despues.

 

 


  • -

Habilitar macros en Excel sin perder la seguridad del equipo

Nunca es recomendable permitir que cualquier cosa que provenga de cualquier sitio se ejecute en nuestro equipo. Pero no pocas veces debemos utilizar planillas de Excel recibidas por e-mail y Office parece empecinado en bloquear ciertas funciones y, específicamente, no dejarnos utilizar los macros contenidos en ese archivo. Entonces, como no queremos habilitar todo indiscriminadamente, sería sensato poder decidir en cada caso.

Según nuestra versión de Office, las instrucciones para hacer esto…

Excel 2003

  • Ir a HerramientasOpcionesSeguridad
  • En el menú Herramientas, elija Macro y haga clic en Seguridad.
  • En la ficha Nivel de Seguridad, seleccionar nivel Medio

 

Seguridad_Excel_2003

  • Aceptar y reiniciar Excel con la nueva configuración
  • Cuando se abre una planilla que contenga macros, aparecerá la siguiente advertencia:

Habilitar_Macros_2003

Para ejecutar los macros contenidos en esa planillas, haga click en Habilitar macros.Si desconoce el origen de la planilla o la funcionalidad de los macros y no quiere ejecutarlos, haga click en Deshabilitar macros.

Excel 2007- 2010

  • En Office 2007 haga clic en el botón de Microsoft Office y, a continuación, en Opciones de Excel.
  • En Office 2010 debe ir a Archivo y luego Opciones
  • Haga clic en Centro de confianza, luego en Configuración del Centro de confianza y, a continuación, en Configuración de macros.
  • Seleccione Deshabilitar todas las macros con notificación (este valor es el predeterminado). Haga clic en esta opción si desea deshabilitar las macros, pero desea recibir alertas de seguridad si hay macros presentes. De esta manera, puede elegir cuándo habilitar las macros en cada caso.
  • Aceptar y reinicial Excel

CentroDeConfianza2010

Al abrir un archivo excel que contenga macros, verá en la barra superior la siguiente advertencia:

barra_advertencia_de_seguridad

Haga click en habilitar contenido para permitir la ejecución del macro programado.

 


Buscar en JADM

Biblioteca