Conexión entre Ruby y una instancia en ejecución de Excel

  • 0 Respuestas
  • 1745 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Alejandro_99

  • *
  • Ex-Staff
  • *****
  • Mensajes: 453
  • Actividad:
    0%
  • Reputación 1
  • Humildad y sencillez ante todo.
    • Ver Perfil
Anteriormente había mencionado como crear una instancia de Excel desde Ruby, añadir un libro y escribir algo de texto en las celdas de la hoja activa. En esta ocasión voy a hablar de cómo conectarse desde Ruby a una instancia de Excel en ejecución.


Veamos algo de código…

Código: Ruby
  1. require 'win32ole'
  2. excel = WIN32OLE.new('Excel.Application')
  3. excel.visible = true
  4. workbook = excel.Workbooks.Add();
  5. worksheet = workbook.Worksheets(1);
  6. worksheet.Range("A1:D1").value = ["North","South","East","West"];
  7. worksheet.Range("A2:B2").value = [5.2, 10];
  8. worksheet.Range("C2").value = 8;
  9. worksheet.Range("D2").value = 20;
  10. range = worksheet.Range("A1:D2");
  11. range.select
  12. chart = workbook.Charts.Add;
  13. workbook.saved = true;
  14. excel.ActiveWorkbook.Close(0);
  15. excel.Quit();

El código anterior crea una nueva instancia de Excel, la hace visible, agrega un libro, agrega unos datos a la hoja 1 y a partir de ellos crea grafico para luego cerrar el libro sin necesidad de guardarlo y cierra la instancia previamente creada. Este código si lo guardan como un script de Ruby, con la extensión “.rb” y lo ejecutan, será tan rápido que si parpadean no verán nada.

Pero habrá casos en los que haya que trabajar o procesar datos de un libro que ya se encuentra abierto y como hacer eso, bueno solo habría que cambiar una línea del código anterior, en donde se crea la instancia de Excel:

Código: Ruby
  1. excel = WIN32OLE.new('Excel.Application')

la cual quedaría asi:


Código: Ruby
  1. excel = WIN32OLE.connect('Excel.Application')

Con este cambio, Ruby no crea una instancia, sino que se conecta a la instancia de Excel en ejecución.

Aqui tienen un video para mas detalle al respecto:http://screenr.com/wZTH
« Última modificación: Agosto 04, 2013, 11:32:51 pm por Alejandro9999 »

 

[Ruby] Traductor de Decimal a Ascii / Ascii a Decimal

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2853
Último mensaje Febrero 24, 2010, 04:16:38 pm
por ANTRAX
Lenguaje Ruby, aprendiendo poco a poco.

Iniciado por Alejandro_99

Respuestas: 2
Vistas: 3161
Último mensaje Agosto 15, 2013, 02:58:39 pm
por Alejandro_99
Crafting rails 4 applications (Manual de Ruby on Rails 4)

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 1997
Último mensaje Marzo 01, 2014, 05:34:50 pm
por Alejandro_99
Conexíon Cliente/Servidor - Sanko

Iniciado por Sanko

Respuestas: 0
Vistas: 2156
Último mensaje Septiembre 05, 2012, 06:18:25 pm
por Sanko
Desarrollo de aplicaciones Perl, PHP, Python y "Ruby on Rails"

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 2475
Último mensaje Junio 13, 2014, 03:27:08 pm
por Alejandro_99