Probablemente en tu trabajo habrías querido obtener información de Sharepoint para automatizar la elaboración de reportes usando Excel VBA y tus habilidades de programador. Probablemente te encuentras que en los foros de VBA en Internet, todas las soluciones son esotéricamente incomprensibles. Y entonces te miras frustrado e impotente para aprovechar tus conocimientos de programación en VBA, por el simple hecho de que no logras conectar Sharepoint con Excel, aunque seas un maestro en el manejo de Workbooks, Sheets y celdas.
En esas soluciones esotéricas paganas te ponen todo difícil, código incompleto que hace uso de objetos, y que no se adapta a lo que necesitas. O te dan instrucciones largas o complicadas acerca de cómo navegar en Excel para encontrar "Other sources" donde todo es poco intuitivo. El problema básico es que te tomará mucho tiempo que no tienes, para encontrar código que debería ser sencillo de obtener. Afortunadamente es sencillo de obtener.
El problema fundamental que tienes como programador es encontrar el código que necesitas para leer información de Sharepoint desde Excel. Y con unos pasos simples puedes encontrar ese código en Excel VBA. Dile adios a las soluciones esotéricas paganas.
Voy a asumir que tienes Excel 2013, y que ya dominas lo básico del uso del IDE (editor) de VBA.
Paso 1. Crear un "query" en Sharepoint
- Ingresa como simple usuario al Sharepoint donde aparecen los datos. Asumo que ya pediste al departamento de IT los accesos correspondientes para hacerlo.
-
Haz click en el tab "List"
-
Haz click en el botón "Export to Excel" para salvar el query. En este ejemplo, yo le pondré al archivo del query el nombre "Sharepoint query". Se va a generar un archivo con extensión .iqy
Paso 2. Abre el query y ciérralo.
- Ve a Explorer y busca el archivo query (con extensión .iqy) que acabas de crear y haz doble click para abrirlo. Verás que Excel se abre y empieza a cargar datos directamente de Sharepoint.
- Ahora cierra el archivo. Lo que queríamos es que el query se agregue a la lista de archivos abiertos recientemente.
Paso 3. Grabar macro
- Abre Excel
- Ve a File > New > Blank Workbook
- Haz click en el tab "View"
- Haz click sobre la pequeña flecha negra que aparece debajo del botón "Macros"
-
Selecciona "Record Macro"
- Ve a File > Open
-
Escoge el nombre del query entre los itemes recientes
- Haz click en el tab "View"
- Haz click sobre la pequeña flecha negra que aparece debajo del botón "Macros"
- Selecciona "Stop recording" para dejar de grabar
Paso 4. Encontrar el código de la macro
- Presiona Alt F11
- Busca el código en Module1
Algunos comentarios finales
Si ya has grabado macros donde abres un Workbook notarás que el código que surge al abrir el archivo .iqy no se parece a lo que ya conocías. Afortunadamente ya no necesitas buscar eternamente, sino que en unos pocos pasos ya tienes todo lo que necesitas.
Cabe notar que ese código aporta varios valores útiles. Si los buscas manualmente en el código fuente del HTML del Sharepoint será un dolor de cabeza, porque están enterrados en código ininteligible. Los valores que habrías tenido que buscar son:
- List
- Listname
- Listweb
- Rootfolder
Afortunadamente estos valores que son específicos para cada Sharepoint que tengas, se encuentran en el código que acabas de grabar. Por eso, para cada Sharepoint que tengas que leer, necesitarás crear el query correspondiente y seguir estos pasos.
El código que grabaste abre el query y obtendrás una foto instantánea en Excel de los datos que están en el Sharepoint. Al ejecutar ese código, tienes los datos del Sharepoint cargados en Excel, el punto de partida para comenzar a procesar los datos. Ahora todo depende de tu maestría para navegar y procesar Workbooks, Sheets y celdas.
Ahora que si lo que quieres es grabar datos en Sharepoint, eso es harina de otro costal.