viernes, 6 de octubre de 2017

Excel: Ejecutar funciones incorporadas de Excel desde Visual Studio Tools Office


Visual Studio Tools Office: Ejecutar funciones incorporadas de Excel invocando a ExecuteMso


En el siguiente fragmento de código se puede observar cómo realizar la llamada desde el diseñador de ribbon de Visual Studio Tools (cinta de opciones Excel)

ExecuteMso recibe el parámetro : "SelectAll" (para nuestro ejemplo)

*Como referencia debes saber que "SelectAll" --- invoca a la funcionalidad para seleccionar todos los objetos (Shapes: Charts, pictures, etc)

Otro buen motivo para realizar este tipo de invocaciones desde un Com add-in es evitar crear una cinta mediante XML (en este caso tendrías que crear cada botón  y sus atributos mediante XML)

*De todas formas puedes usar el custom Ui editor Xml - Free para facilitar las cosas
*En la web puedes encontrar la lista de comandos (ExcelRibbonControls.xlsx)

 En el XML tendrías algo como esto en cada botón - el código de tu archivo xml iniciaría así:


 

 

 

Por eso usamos el método más practico -   invocar a ExecuteMso:

Private Sub Button12_Click(sender As Object, e As RibbonControlEventArgs) Handles 
Button12.Click

        oxl = Globals.ThisAddIn.Application

        oxl.CommandBars.ExecuteMso("SelectAll")

    End Sub

Ver mas Tips Sobre VBA - Excel -MyExcelTools.com




sábado, 30 de septiembre de 2017

How to get Row and Columns with Excel VBA - VSTO 2017 - Split Function


How to get Row and Columns with Split Function

How to split an Excel cell address

See More - MyExcelTools VBA section

Use the properties row and column position:


Range("Z35000").row
Range("Z7898989").column
Columns("M:M").column

Columns(selection.columns(5)).column

Rows(selection.rows(75)).rows

Get the row, column and set new address

Dim lRow as long, ICol as integer

lRow = Range("Z678").Row : ICol = Range("Z678").Column
‘Test my Cell address
Dim Myrng As Range: Set Myrng= Cells(lRow, ICol)

Myrng.Interior.Color=255


Msgbox Myrng .address

‘Split multiple selection of cells in Excel:

cell_address=Selection.address  
‘ This return  cell_address = "$F$77,$Z$22:$G$88"
Dim NewValues()as string

NewValues=Split (NewValues, ",")
NewValues(0)= "$F$77" : NewValues(1)= "$Z$22" : : NewValues(1)= "$G$88"

‘Change parameters Address (false,false) , Address(false,true) to split in other manner with separator as quick references ([$Column$] or [$Rownumber,])

Bonus:
Join ranges as one
Union(Range("F200:F700"), Range("C500:C900"), Range("J100:J400"))




Excel VBA String Manipulation and Split Function

Sample of Excel VBA String Manipulation and Split Function:

See more - Excel VBA Sample Code

Declare the variable - Split VBA & Visual Studio Tools for Office

Dim SVar as string
SVar=”Crack, Cracking, program, software, Dll, hacks, Serials, Key Generators, Activation, Keygen, pirate Informatique, antivirus online, Excel VBA, Excel Tools,  Excel Add-ins,  image assistant, picture manager for Excel, Spreadsheet Image Tools, products, manage pictures, macro code”

This var save separate words with commas
With the VBA Split() function you can retrieve the separate words
How to use the Excel SPLIT function with examples.
SPLIT function VBA – syntax.
SPLIT function split a string into substrings on a delimiter
Parameters
Expression, The string to split
Delimiter, The delimiter to split


Use the function in Excel vba macro code (Microsoft Visual Basic Applications -  Editor)

The syntax in Excel VBA is: Split ( expression [,delimiter] [,limit] [,compare] )
The siyntax in Visual Studio Tools Office 2017 code is equal - for alternative development in Visual Studio 2017.

In this Example, the delimiter is the comma (;)
The string words have separated with comma

The first string part is: Crack Tools
The second string part is: Cracking Tools
The syntax is to retrieve the separated string is:
Dim newSvar as string()
newSvar retrieve any array with separated words
newSvar =Split(Svar,”,”)
This is the result:




Sample1:
newSvar(0)= “Crack Tools”
newSvar(1)= “Cracking  Tools”
newSvar(n)=other string”


Sample2:
Split("A,B,C,D", ",")
Result: {"A", "B", "C", "D"}

Sample3:
Dim L1 As String, L2() As String

L1 = "site.com"
L2 = Split(L1, ".")

MsgBox LArray(0) ‘… Site
MsgBox LArray(1) ‘… .com

miércoles, 27 de septiembre de 2017

Excel Macro VBA para insertar cientos de imágenes desde una carpeta

*Mediante esta macro puede insertar varias imagenes desde un rango de celdas


Sub MyExcelTools_Macro_Insert_Images_In_Excel()

'Macro para insertar imágenes  a partir del valor de una celda
'Autor: MyExceltools.com
'Ver aplicación con la funcionalidad: MyExcelTools.com See more - MyExcelTools
'Go to http://www.myexceltools.com/pages_spreadsheet_images/view_more_spreadsheet_image.htm

'Establecemos las variables necesarias
Dim Ruta As String, celda As Range

'guardamos la ruta del libro
Ruta = ThisWorkbook.Path
   
'Quitar la actualización de pantalla
Application.ScreenUpdating = False

'Seteamos el rango con los nombres de las imagenes
Set Range_With_Images = Range("A2:A1000")

'Recuperar el valor de cada celda para insertar imagen a imagen
For Each celda In Range_With_Images
    ActiveSheet.Pictures.Insert (Ruta & "\MyExcelTools_Pictures_folder\" & celda.Value & ".GIF")
Next

'devolver la actualización de pantalla
Application.ScreenUpdating = True

End Sub

lunes, 25 de septiembre de 2017

Excel Image Tools - Herramientas para manejar cientos de imágenes en Excel


Descripcion:
Permite administrar e insertar cientos de imágenes ajustadas a celdas y comentarios.
*Este producto ofrece una version de prueba de 15 dias.
Version: 3.0
Categorias: Excel image tool, Picture manager, Excel image assistant, and Add-ins, plugin

Nuevas Herramientas:
A) Extract and Export Images
B) Insert image as table
-Con estas herramienta usted podrá realizar la inserción de imágenes agrupadas en filas o columnas.
-No necesitara insertar imágenes fila * fila o columna por columna (solo debe indicar la distribución de la tabla).
-Mediante la funcionalidad de extracción y exportación podrá exportar todas las imágenes y charts con pocos clics.

Usted puede distribuir sus imagenes como una tabla directamente 
:
1.Seleccione las imágenes a insertar
2. Configure
Usted puede establecer estas opciones:
-Indique si desea que las imágenes se adapten a sus celdas (Re dimensionar las imágenes al tamaño fijo de la celda)
-Indique si desea que las celdas se adapten a sus imágenes (Re dimensionar las celdas a las dimensiones de la imagen)

3. Organice sus filas y columnas e inserte
Elija entre el modo manual y automático para ingresar en cuentas filas y columnas quiere distribuir sus imágenes.
Si usted elije selección de celdas usted deberá dibujar la tabla donde se distribuirán sus imágenes

Ver mas sobre Spreadsheet Image Tools...



























jueves, 3 de agosto de 2017

Visual Studio 2017 disponible - Novedades de Visual Studio 2017


Caracteristicas Principales - Visual Studio 2017:

-Compile aplicaciones de forma rápida
Maximice su tiempo con la navegación de código, IntelliSense, la refactorización y las correcciones de código, permiten ahorrar tiempo.

-Busque y corrija errores más pronto
Permite detectar y abordar problemas lo antes posible
exposion temprana e  inmediata de la causa principal de los problemas nuevos.

-Integración con la nube
Integración completa con todas las aplicaciones de Azure.

-Colabore de manera eficiente
Administre directamente sus proyectos incluidos Visual Studio Team Services, Team Foundation Server o GitHub. O bien, use la nueva característica
Open Any Folder para abrir inmediatamente casi cualquier archivo de código y trabajar con él sin usar ningún proyecto ni ninguna solución formal.

-Aplicaciones móviles de calidad
Con las herramientas avanzadas de depuración y generación de perfiles y las características de generación de pruebas.

Fuente: sitio web visualstudio.com
 Reseña de Visual Studio 2017 From visualstudio.com

viernes, 28 de julio de 2017

Excel & VSTO: Crear un único instalador Install Shield

Pasos para crear un único instalador install shield

La configuración por defecto de install shield genera 2 setups:
-Setup.exe
-Setup.msi  (este último tiene algunas dependencias con la versión del Windows installer)

Distribuir aplicaciones bajo este modelo podría ser algo confuso para algunos.

Para generar un único Setup.exe y ahorrarnos algunas explicaciones siga los siguientes pasos…

Ir barra de herramientas Estándar de Visual Studio>seleccione "Configuración de la solución".
Cambie "Debug" a "una sola imagen"

*No olvide que esto también modificara la carpeta donde se crea el setup.exe

*Si no puede depurar mediante esta configuración vuelva a debug…en realidad solo necesita que la configuración figure como imagen única al momento de compilar el proyecto del setup.