lunes, 31 de octubre de 2016

Excel Convertir celda con valor fecha y hora - a formato de fecha simple

Sub RunTheFechaJesMain()
'macro para convertir fecha y hora a formato de fecha simple

Dim fecha As Date

'paso la celda con fecha como parametro
fecha = TheFecha(ActiveCell)

ActiveCell.Offset(0, 1).Value = fecha

'asignar formato deseado:
ActiveCell.Offset(0, 1).NumberFormat = "m/d/yyyy"

End Sub


Function TheFecha(TheCelda As Date) As Date

TheFecha = DateSerial(Year(TheCelda), Month(TheCelda), Day(Celda))

End Function



jueves, 27 de octubre de 2016

Graficos(Chart) - Excel - Excel Charts

Jerarquia de la aplicacion para los charts:
'Application
'Workbook
'Worksheet
'ChartObjets Chart
'Conociendo esta estructura para el modelo de objetos - grafico 'podra acceder a un gráfico determinado para modificarlo
'Activar un gráfico mediante su índex correspondiente.Es decir el 'número de índex que le corresponde dentro de la colección.
'Un ejemplo sencillo seria el activar el chart número 3 de su hoja..'(..Claro siempre que exista)
ActiveSheet.ChartObjects(3).Activate
'De igual manera puede eliminar al chart de índex 2 .
'Eliminar un chart determinado
ActiveSheet.ChartObjects(2).Delete
''Cambiar el nombre a un chart determinado
ActiveChart.Parent.Name = "ChartEnero"
'Cambiar el título de un chart
ActiveChart.ChartTitle.Text = "ChartVentas"
'Activando un gráfico mediante su nombre
Activesheet.Chartobjects("ChartVentas").activate
'Recuperar el nombre del chart activo
Msgbox ActiveChart.Name
'Te devolverá una cadena de esta forma primero la referencia a la 'hoja y luego el nombre del chart.
Hoja1 Gráfico 1
Msgbox ActiveChart.parent.Name
'Te devolverá ...solo el nombre del chart.

Excel VBA - Método SpecialCells

Devuelve referencias a rangos con determinadas características:
Por ejemplo podemos obtener referencias a rangos con errores, valores numéricos, texto, etc.
-Sintaxis para obtener un objeto rango de las celdas
Rango(RangodeCeldas).SpecialCells(Type, Value)
El rango de celdas es de donde se quiere buscar las celdas con determinadas características.
Los Parámetros serían los sgtes:
Type: parámetro obligatorio que representa el tipo de Celdas.
----
Value: parámetro Opcional
-----
Si el parámetro "Type" es (xlCellTypeConstants) o (xlCellTypeFormulas), el parámetro "Value" servirá para determinar qué tipos de celdas que se incluirán en el rango devuelto.
a) Type: Las constantes para los tipos de celdas a buscar.
xlCellTypeBlanks. Celdas vacías.
xlCellTypeComments. Celdas que contengan notas.
xlCellTypeConstants. Celdas que contengan constantes.
xlCellTypeFormulas. Celdas que contengan fórmulas.
xlCellTypeLastCell. La última celda del rango.
xlCellTypeVisible. Todas las celdas visibles.
b) Value:Las Constantes para el segundo parámetro opcional.
Permitirá refinar nuestra búsqueda de celdas especiales.
xlErrors,xlLogical, xlNumbers,xlTextValues
Set rng = Range(TuRango).SpecialCells(xlCellTypeFormulas, xlErrors) 'formulas con error
MsgBox rng.Address

Trabajar con varios objetos

En ocasiones tenemos numerosos objetos en la hoja (gráficos, imágenes, formas, etc.)
Y necesitamos manipular alguna propiedad o el tamaño en todos.
1. Seleccionamos uno de los objetos.
2. Presionamos [CTRL] + [SHIFT] + [BARRA ESPACIADORA]
3. Una vez que todos los objetos estén seleccionados procedemos a modificar o eliminar [Tecla Supr para borrar todos].


Como evitar que se cierre tu libro (sin guardar cambios)

Deberás guardar tu libro como: 
1. Libro habilitado para macros
2. Presiona ALT + F11
3. Ubica el evento BeforeClose (ver captura) y añade el código

Encontrar duplicados Excel

Encontrar duplicados fácilmente:
Ir a Ficha Inicio > -Formato Condicional >
-Resaltar reglas de Celdas > -Duplicar Valores

Trabajar con Hojas Ocultas y muy Ocultas

Adicional al metodo estandar de ocultar hojas tambien  podemos trabajar con hojas muy ocultas (esto sera muy util apra datos
que no queremos que sean visibles y menos modificados por los usuarios

Presionamos ALT + F11
Luego desde el explorador de proyectos VBA -> Seleccionamos la hoja ->ubicamos su propiedad visible y seleccionamos
2-XlsheetVeryHidden






Plantillas de gráficos en Excel:

Una de las formas de ahorrar en tiempo en Excel es guardando los formatos de gráfico para futuras sesiones.
Guardar plantilla...Clic derecho en el gráfico 
(Esto genera una plantilla .crtx reutilizable en nuevos gráficos)
Para reutilizar la plantilla...Clic derecho en el gráfico cambiar tipo >Ir a sección Plantillas>Elegir la plantilla.crtx

Crear e instalar el Complementos:

La utilidad será que las funcionalidades estarán disponible para todos los libros y será más fácil de compartir.
Crear:
Lo que haremos será guardar nuestro libro de código como Complemento de Excel.
clic en la ficha Archivo y selecciona la opción Guardar como MiComplemento.xlam
Se debe generar un archivo MiComplemento.xlam (en la ruta seleccionada)
Instalar:
Para hacer la instalación debes ir a la ficha Archivo > Opciones>Complementos y deberás pulsar el botón Ir> seleccionar el complemento…clic en OK

Corregir problemas al ordenar datos por fechas:

1. Verifique que toda la columna tenga el mismo formato de fecha
2. Asegúrese de que ningún dato tenga espacios al inicio o al final (esto podría convertir el dato a tipo texto)

Trabajar con Colores en Excel:

Paleta de colores:
Conjunto de 56 colores (sigue disponible…eran los colores estándar para versiones anteriores a Excel 2007).
*Si en tu libro predominan los colores de paleta de colores podrás seguir usando esta característica.
*Excel permite manejar los 2 esquemas (Paleta y Tema de colores)
Tema de colores:
A partir de Excel 2007 se integró el concepto de tema de colores:
10 colores primarios y sus diferentes tonalidades


Trabajar con Colores en Excel - VBA

Trabajar con Colores en Excel - VBA
Sub Thema_de_Colores()
Dim i_colores_del_tema As Integer, Rng_A_pintar As Range
i_colores_del_tema = ActiveWorkbook.Theme.ThemeColorScheme.Count
For i = 1 To i_colores_del_tema
Range("B1").Offset(i, 0).Interior.Color = ActiveWorkbook.Theme.ThemeColorScheme(i) 'ThemeColorSchemeIndex(i)
Next
End Sub
'...................................................................
Sub Paleta_de_Colores()
Dim i_colores_de_paleta As Integer, Rng_A_pintar As Range
i_colores_de_paleta = 56
For i = 1 To i_colores_de_paleta
Range("A1").Offset(i, 0).Interior.Color = ActiveWorkbook.Colors(i) 'ThemeColorSchemeIndex(i)
Next
End Sub

Macro para evitar que se guarden nuevos cambios en un archivo Excel.

Macro para evitar que se guarden nuevos cambios en un archivo Excel.

*Esto sería especialmente útil al compartir el libro con terceros.
-Buscar el evento Workbook_BeforeSave y colocar el código

-Proteger el proyecto VBA con clave.

-Guardar el libro como .XLSM (Libro habilitado para macros)


Listar Archivos Excel VBA Macros:

Listar Archivos:
La siguiente macro lista los archivos de una carpeta (parámetro)
Sub Recuperar_lista_principal()
Dim s_TuRuta
s_TuRuta = "C:\Users\Jesus\Desktop\PaginasFacebbokMyExcelTools\"
Call Mostrar_Archivos(s_TuRuta)
End Sub
'______________________________
Sub Mostrar_Archivos(s_ruta)
Dim fso, carpeta As Object, o_archivo As Object
Dim o_subcarpeta As Object, i_avanza As Integer
i_avanza = 0
Set fso = CreateObject("Scripting.FileSystemObject")
If s_ruta = "" Then
Exit Sub
ElseIf Right(s_ruta, 1) <> "\" Then
s_ruta = s_ruta & "\"
End If
On Error GoTo Salir
Set carpeta = fso.GetFolder(s_ruta)
For Each o_archivo In carpeta.Files
i_avanza = i_avanza + 1
Range("A1").Offset(i_avanza, 0).Value = s_ruta & o_archivo.Name
Next
For Each o_subcarpeta In carpeta.SubFolders
Mostrar_Archivos (o_subcarpeta)
Next
Exit Sub
Salir:
MsgBox "No se ha encontrado la ruta", vbInformation, "Listado de archivos"
End Sub

Eliminar Filas vacías en una Base De Datos:

0. Seleccione la Base (A1:C11)
1.0. Clic en la tecla [F5]…
1.1. En el cuadro de dialogo “Ir”…Clic en el botón [Especial…]
1.2. Seleccione la opciòn celdas en blanco…Clic en [Aceptar]
Se han seleccionado las filas en blanco
2.0. Clic en las tecla [CTRL] y en la tecla [ - ] (Al mismo tiempo)

Usando Excel Online - Office 365

Usando Excel Online - Office 365 (desde la cuenta de Outlook o Hotmail)
1. Iniciar sesión desde outlook.live.com
2. Ir al botón de acceso de aplicaciones en línea.
3. Elija la aplicación a emplear (Excel Online)
-Esta característica podría sacarnos de apuros al estar en una PC sin office.
-Nos permite exportar (opcional) una copia como archivo local.
-Elegir editar (opcional) la versión online (Siempre y cuando la versión de Excel local soporte la características de la versión online .Ejemplo SI.CONJUNTO.
-Esta versión del office integra las nuevas funciones de Excel 2016 como SI.CONJUNTO.
*La función SI.CONJUNTO es válida para Excel 2016 en adelante.
-Estos archivos se guardan en el OneDrive y podrás compartirlo con diversos usuarios.

Reduciendo el tamaño de los libros:

En ocasiones es probable que nuestros archivos de Excel se vuelvan considerablemente pesados (“archivo imposible de adjuntar por correo”).
-Puede ser por la cantidad de fórmulas, datos u objetos, gráficos)…para evitar la demora al abrir o guardar podemos realizar algunos correctivos.
-Asegurarnos de eliminar las filas y columnas fuera del límite de datos usados.
(Seleccione las columnas y filas vacías fuera del área de trabajo y de clic derecho [Eliminar].
-Guarde el archivo como Libro binario.
*Según la documentación el libro no perderá ninguna característica.
Archivo>Guardar Como>Libro Binario de Excel (*.xlsb)

Optimizando Excel

En ocasiones el funcionamiento de Excel puede verse ralentizado por diversas causas:
-Instancias de Excel ocultas (consumiendo la memoria)… para verificar este comportamiento puede hacer lo siguiente...
Clic derecho en la barra de estado>Seleccione Administrador de tareas >Procesos (verifique las instancias de Excel.exe abiertas – puede ser necesario cerrar todas y reiniciar la aplicación)
Opcionalmente puede descargar Process Explorer desde la web de Microsoft
https://technet.microsoft.com/…/sysint…/processexplorer.aspx
-Instalaciones dañadas (En ese caso deberá recurrir al disco de instalación y Reparar)
-Librerías dañadas (para eliminar los controles dañados ejecute Temp File Deleter)
https://www.add-ins.com/temp_file_deleter.htm.
Elija la opción que hace referencia a Eliminar archivos EXD (librerías que podrían estar dañadas).
Luego de esto se recomienda reiniciar la pc y reparar office.
-Verifique que no tenga algún complemento o Com Add-in dañado (pruebe deshabilitarlos)
-El problema puede deberse a un libro en particular (Pruebe la frecuencia del problema con diferentes archivos).
-Mantenga su paquete de office con los service pack actualizados.
-Podría existir algún conflicto con el antivirus (manténgalo actualizado).


Reparar un Libro Dañado:

Alguna vez podríamos recibir el mensaje “El contenido del libro está dañado”.Para librarnos de este lió y salvar la info puede realizar las siguientes acciones.
-Mantenga la calma.
-Crea un nuevo libro y pruebe ir moviendo cada una de las hojas desde el libro dañado hacia el libro nuevo.
-Cada vez que mueva una hoja(s) hacia el libro nuevo presione guardar (Así cuando salte el error “Libro dañado” sabrá que encontró la hoja que produce el problema.
Ahora que ya identifico el problema solo debe volver al libro dañado y eliminar esa hoja (será la única que debes reconstruir…todo va a estar bien).
El problema puede tener diversos orígenes .Pero uno podría ser que algún objeto imagen o los hipervínculos hallan provocado el deterioro de alguna hoja (Lo bueno es que el problema a veces solo afecta una hoja… Puede tratar moviendo las hojas de 2 en 2, 4 en 4, son variantes y mejoras del plan para salvar el libro.
En la web podría encontrar métodos alternativos.

VBA VS Visual Studio Tools para Office (VSTO)

En las siguientes líneas un breve paralelo entre 2 caminos para desarrollar aplicaciones para Office.
VSTO es un conjunto de herramientas de desarrollo disponibles en Visual Studio (para crear complementos COM de la suite de office) .Esta disponible desde Office 2003 y permite desarrollar aplicaciones office con igual o mayor flexibilidad que el propio VBA.
Algunas consideraciones:
-Visual Studio permite generar un instalador desde la misma plataforma de Visual Studio.
-Es necesario adjuntar los requerimientos de instalación (PIA Primary Interop Assemblies de la versión de office a usar).
-El código VSTO está menos expuesto a ser vulnerado.
-La posibilidad de VSTO de ejecutar varios hilos en paralelo (correr múltiples procesos al mismo tiempo para ahorrar tiempo).

- VSTO puede invocar una macro y ejecutarla.
-VSTO ofrece un modo hibrido para la creación de cinta de opciones (XML y Diseñador de ribbon).
-Compatibilidad entre aplicaciones de 32 y 64 bits.
-En VSTO no tendrá la grabadora de macros como ayuda.
-VSTO además de los formularios permite la creación de paneles de tareas.
-Curva de aprendizaje, VBA no es 100% similar a VSTO.
-Para agregar la cinta de opciones a una aplicación VBA deberás recurrir al programa Custom UI Editor XML – Luego enlazar los botones.
-El proyecto VSTO permitirá emplear diferentes lenguajes y librerías (VB.NET, C#)
-La plataforma de desarrollo que elija depende de la complejidad de lo que necesite (para una macro que realiza algo muy particular…podría ser suficiente el VBA clásico)

Excel - Recuperación de la Información 1.0:

Excel - Recuperación de la Información 1.0:
En ocasiones Excel podría interrumpir su funcionamiento por diversos problemas. Para recuperar la última versión guardada del libro…
Vaya a Archivo >Opciones>Guardar>Ubique la ruta para el archivo de auto recuperación.
Es posible configurar cada cuanto tiempo se debe guardar (información de auto recuperación).
Estas serían rutas similares a las que debes inspeccionar en tu PC
-Ubicación de Archivo de Auto recuperación:
C:\Users\TuUsuario\AppData\Roaming\Microsoft\Excel\
-Ubicación predeterminada de archivos locales:
C:\Users\TuUsuario\Documents
*Puede ser necesario activar (Opciones de carpeta) mostrar archivos, carpetas ocultos) para visualizar la carpeta "AppData"
Ver enlace (https://www.facebook.com/JMyExceltools/posts/666059726877743:0)

Excel - Recuperación de la Información 1.1:

Complementando lo referente a la visualización de la carpeta [AppData] para la recuperación de libros. Parte1(https://www.facebook.com/JMyExceltools/posts/665240306959685)

Asegúrese de tener marcadas las 2 casillas:
-[Guardar Información de Autorrecuperación – Asigne tiempo en minutos]
-[Conservar la última versión autoguardada cuando se cierra Excel sin guardar]

Para asegurarse de mostrar archivos y carpetas ocultos.
-Vaya a una carpeta cualquiera >luego ubique el menú Herramientas>Opciones de carpeta>Ver>Marque Mostrar archivos, carpetas y unidades ocultos.

*En el caso de que la barra de menú Archivo-Herramientas no fuera visible…colóquese en un lugar vacío de la carpeta >clic derecho >ver barra de herramientas.

Las nuevas aplicaciones para Office

Se puede utilizar de múltiples formas como un panel de tareas, en línea alojada en la nube o en una hoja de cálculo.
.
A diferencia de los complementos no requieren la instalación de código en la máquina del usuario.
Se puede construir aplicaciones para Office con tecnologías web como HTML, CSS, JavaScript, ASP.NET.
Puede construir su aplicación y reutilizarla entre Word y Excel usando HTML5, CSS y JavaScript.
La API de JavaScript (biblioteca de office.js) permite crear de Aplicaciones Web Que interactúan con el Modelo de Objetos en Aplicaciones de Office.
La API de JavaScript incluye objetos, métodos, propiedades, eventos que se pueden usar en el código de los Complementos de Office.
https://msdn.microsoft.com/es-…/library/office/fp142185.aspx
Visual Studio incluye Microsoft Office Developer Tools .Para asegurarse de que tiene la versión más reciente, ejecute el instalador de Office Developer Tools para Visual Studio 2015.
https://msdn.microsoft.com/es-…/library/office/fp179924.aspx
https://beta.visualstudio.com/vs/community/



Completar celdas en blanco – Formato de Base De Datos

1.Selecciona toda la Base De Datos.
2.Presiona [Tecla F5]
3.En el cuadro de dialogo 'Ir a' [clic en el botón Especial...]
3.1.Elegir Celdas en blanco
-Sin perder la selección de celdas en blanco ...
4.Escribe directamente en la barra de fórmulas =A3 ( 'A3' es la celda anterior a la primera celda en blanco de la Base de Datos, A4)
Presiona [CTRL + ENTER] ... Sin perder el foco de la barra de fórmulas.


Crear Lista de validación:

1.Seleccione la celda que desea validar.
2.Vaya al menú
Datos>Validación de datos
En el cuadro de dialogo indique:
Configuración> Criterio de Validación : Lista
-Indique el rango de datos (Origen - Lista de datos personalizada) y acepte.
-La celda con validación solo permitirá valores según la lista definida.
-La idea es emplear maestros de datos y evitar errores.

Estructura de Archivos Excel

Desde Office 2007 se incluyó los formatos (Office Open XML) que comprenden un conjunto de archivos en una carpeta ZIP. Para comprobarlo crea una copia del libro .xlsx y cámbiale la extensión .xlsx por .Zip .
-Luego descomprime y navega en la estructuras de carpetas.Podrás verificar cómo está dividido (archivos XML que delimitan estructuras, contenidos y formatos).
-Si no puede ver la extensión debe ir a Opciones de carpeta > ficha Ver > Desmarcar la casilla Ocultar las extensiones.
El nuevo formato permite:
-Revisar como contenedor de archivos (descomprimir el libro)
-Revisar el contenido de los XML.
-Verificar el XML con comentarios (comments.xml…).
-Acceder a la carpeta media (donde se guardan las imágenes).
-Modificar un archivo XLSX sin tener Excel instalado (directo en el XML).
-Ver la Versión de Excel con que se creo.
-Crear un ribbon XML desde el bloc de notas adjuntando las imágenes.
-Es una forma avanzada de buscar errores (Primero descomprime el archivo y luego verifica cada parte de la estructura hasta encontrar el error)

Errores en librerías y controles Excel:

En ocasiones el funcionamiento de Excel puede verse afectado por daños en librerías (se emplean para controles en VBA).
Haga lo siguiente para reparar los controles y terminar con los mensajes de error:
-Cierre Excel y asegúrese de cerrar todas las instancias.
Clic derecho en la barra de estado>Seleccione Administrador de tareas >Procesos (cierre todas las instancias de Excel.exe abiertas)
Opcionalmente puede descargar Process Explorer desde la web de Microsoft
https://technet.microsoft.com/…/sysint…/processexplorer.aspx
-Ejecute el programa Temp File Deleter…para eliminar los controles dañados
''https://www.add-ins.com/temp_file_deleter..htm.
Elija la opción que hace referencia a Eliminar archivos EXD (librerías que podrían estar dañadas).
-Reinicie la pc.
-Repare Office.
-Mantenga marcadas las opciones referentes a características compartidas de Microsoft Office (esto permite emplear VBA)
https://support.microsoft.com/es-es/kb/281954
-Verifique que no tenga algún complemento o Com Add-in dañado (pruebe deshabilitarlos)
-El problema puede deberse a un libro en particular (Pruebe la frecuencia del problema con diferentes archivos).
-Mantenga su paquete de office con los service pack actualizados.

Excel – Gráficos estáticos

En algunas ocasiones necesitamos compartir solo cierta información.Pero existe el inconveniente de las alertas sobre el origen de datos (link a data de otro libro).Puede desear romper el vínculo entre un gráfico y los datos. Tal vez el gráfico fue pegado desde otro libro y aparece el cuadro de diálogo (“desea actualizar los vínculos a otro libro”)
Puede copiar el gráfico de alguna de estas formas (Si no necesita mantener el link).
-Copiar y pegar una imagen del gráfico (use la herramienta de captura “camarita”)
-La otra opción sería colocarse sobre c/u de las series del gráfico y con el cursor en la barra de fórmulas presionar [Tecla F9] …Esto convertirá las series en estáticas.
*No siempre podrá usar la opción de imagen vinculada ya que necesita el origen (datos) para actualizar (Tal vez no quiere compartir todo el libro…solo el gráfico)
*Las imágenes vinculadas le podrían ahorrar tiempo al crear presentaciones linkeadas a un archivo Excel o Word.



Eliminar los archivos recientes con VBA - Excel Macro:

1. Presione ALT + F11 (se abrirá la ventana… Microsoft Visual Basic for Applications)
2. Inserte un módulo (clic derecho sobre algún elemento del Proyecto), y pegue el siguiente código.
Sub BorrarMisExcelsRecientes()
Dim i As Integer, thedlls As String, therecenname As String, GetYisusRecentfilefullPath As String, LAstPArtedeCadena() As String, cadenaFinalFullName As String
'lista de archivos a borrar unidos a \ separador de ruta
thedlls = "\libro1.xls\l2.xls\libro3.xls"
For i = 1 To Application.RecentFiles.Count
GetYisusRecentfilefullPath = Application.RecentFiles.Item(i).Name
LAstPArtedeCadena = Split(Application.RecentFiles.Item(i).Name, "\")
'obtengo el ultimo del array
cadenaFinalFullName = LAstPArtedeCadena(UBound(LAstPArtedeCadena))
'Comparo si hay coincidencia
If InStr(GetYisusRecentfilefullPath, cadenaFinalFullName) > 0 Then
Application.RecentFiles.Item(i).Delete
End If
Next
End Sub



Excel - Unir Rangos en Excel VBA Macro

A veces podría ser útil hallar el rango de celdas usadas en una columna (Formulas y constantes).
-Celdas con formulas
-Celdas con valores constantes
-Celdas con fórmulas -> Rango (Celdas). SpecialCells(xlCellTypeFormulas)
-Celdas con valores constantes-> Rango (Celdas). SpecialCells(xlCellTypeConstants)

Sub RangoTest
Dim rng as range,rng1 as range
Set rng = Columns(5)
'Selecting data and formulas…
‘identificamos el rango de constants y lo unimos con el rango de fórmulas x)
Set rng1 = Union(rng.SpecialCells(xlCellTypeConstants), _
rng.SpecialCells(xlCellTypeFormulas))
‘Mostramos el mensaje con las celdas que buscábamos
Msgbox rng1.address
End Sub

Excel – Excel VBA Macro Trabajar con libros

Como referirse al objeto libro de trabajo:

-Libro Activo – Activeworkbook
-Libro con el código en ejecución –Thisworkbook
-Libro N por número de índex en la colección de libros 
workbooks(1) ,workbooks(N+1)…

-Libro X por nombre en la colección de libros
workbooks(“Libro1.xls”) ,workbooks(“Libro2.xlsx”)…


Ejemplos:
Sub Prueba1()
MsgBox "El nombre es " & ActiveWorkbook.Name
‘si tienes varios libros puedes obtener el nombre asi…
MsgBox "El nombre es " & workbooks(1).Name
MsgBox "El nombre es " & workbooks(2).Name
‘Si tienes un solo libro abierto obtendrás un error..porque no existe el libro 2
End Sub

‘cerrar un libro sin guardar
Sub Prueba2()
ActiveWorkbook.Close false
End Sub
‘cerrar el libro guardando cambios
Sub prueba3()
ActiveWorkbook.Close True
End Sub

‘guardar como en otra ruta…
Sub prueba4()
Dim s_name as string,ruta as string
Ruta=” C:\”
s_name=”VentasNuevo.xls”
ActiveWorkbook.SaveAs ruta & s_name
End Sub


lunes, 24 de octubre de 2016

Office Apps Excel , Complementos Excel

Office Apps:

 Son aplicaciones web hospedadas en un control de explorador  y se ejecutaran en el ámbito de la aplicación de Office. Permiten acceder a datos del documento y conectarse a  servicios web .Emplea HTML5, JavaScript, CSS3, XML. La App  no se instala en el equipo local que ejecuta la aplicación host de Office; más bien se hospedara en un servidor web.

Implementar Complemento de Office por medio de Napa.

Esto es lo que necesita para hacerlo:
  • Una cuenta de Microsoft
  • La dirección URL de la aplicación web Herramientas de desarrollo de Napa Office 365
Crear un complemento básico
  1. Abra la aplicación web Herramientas de desarrollo de Napa Office 365 en el explorador.
  2. Elija el icono Agregar nuevo proyecto.
Nota: el icono Agregar nuevo proyecto aparece solo si ha creado otros proyectos. Si se trata de su primer proyecto, vaya directamente al paso siguiente
3.     Elija el tipo de complemento que desea crear, dele nombre al proyecto y seleccione el botón Crear.

martes, 4 de octubre de 2016

Migrar Soluciones VBA a Visual Studio Tools Office:

Migrar Soluciones VBA a Visual Studio Tools Office:

 Para poder actualizar un desarrollo VBA a VSTO debe realizar acciones relacionadas a temas de compatibilidad e instalación. Las soluciones VBA no cuentan con instalador incorporado es probable que tenga un proyecto en inno Setup. EL proyecto Inno setup debe realizar las siguientes actividades.
 
-Copiar los archivos de Código (Complementos para Excel, plantillas, dlls, Base de datos a un directorio) 

-Registro de Windows con Claves para cargar complementos al iniciar el office Software\Microsoft\Office\12.0\Excel\Add-in Manager , Excel 2007 Software\Microsoft\Office\15.0\Excel\Add-in Manager , Excel 2013 -Cargar ensamblados COM Addin.Se necesita crear la siguiente clave HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\MiAddinYisus 
Manifest: file:///C:\Program Files (x86)\My Excel Tools\MisAddines\ExcelAddIn.vsto|vstolocal

Tener en cuenta el Framework de creación del proyecto VSTO y la máquina de destino (Framework de desarrollo - los requerimientos en la pc destino .Si no cuenta con lo necesario no cargara el ensamblado)…No olvidar no cargara!!!!.. 

 -Atributo PtrSafe en los addines considera que las instrucciones Declare sin el atributo PtrSafe no son compatibles con la versión de 64 bits de Office. 
https://msdn.microsoft.com/…/off…/ee691831(v=office.14).aspx 

 -Puede exponer los métodos de las dlls VSTO para invocarlos desde el VBA y puede correr una macro desde el VSTO. 

-Cambios del VBA entre versiones del Office. Por ejemplo (en gráficos) el método Chart.Fullseriescolecction(index) trabaja correcto en Excel 2013 …Pero arroja un error en Excel 2007 -Tendria que usar el método chart.seriescollection para “forzar la compatibilidad” en Excel. 

-Innosetup (-no estaria funcionando en Windows7 del todo bien siempre) – se podría crear instaladores híbridos corriendo  inno setup-InstallShield en máquina virtual.