Foros del Web » Programación para mayores de 30 ;) » .NET »

Cambiar de libro activo en proyecto de solución excel con VB 2010 (Framework 4)

Estas en el tema de Cambiar de libro activo en proyecto de solución excel con VB 2010 (Framework 4) en el foro de .NET en Foros del Web. Hola amig@s, Esta es mi primera vez que intento desarrollar una solución excel y me animé porque he visto que puedo reutilizar buena parte de ...
  #1 (permalink)  
Antiguo 15/07/2013, 16:27
 
Fecha de Ingreso: enero-2009
Mensajes: 173
Antigüedad: 15 años, 3 meses
Puntos: 1
Cambiar de libro activo en proyecto de solución excel con VB 2010 (Framework 4)

Hola amig@s,

Esta es mi primera vez que intento desarrollar una solución excel y me animé porque he visto que puedo reutilizar buena parte de lo que antes hice para una aplicación con VB 6... pero nada es tan facil y necesito de su ayuda para arrancar con esto.

Lo que tengo hasta ahora:

1.- Cree mi proyecto de solución y me presenta (en el modo de diseño) un libro de trabajo por defecto (MeUpdate.xlsx) con tres hojas que resulta ser el libro activo

2.- En el evento StarUp de ThisWorkBook he agregado:

(ThisWorkBook Events)

Código vb:
Ver original
  1. Public Class ThisWorkbook
  2.  
  3.     Private Sub ThisWorkbook_Startup() Handles Me.Startup
  4.         'Al iniciar me posiciono en la carpeta con datos de origen
  5.        Dim FileSource As String = ""
  6.         FileSource = "F:\TareasOFF\Actualizacion 2013.xls"
  7.  
  8.         'Compruebo el libro que se encuentra abierto... y veo que corresponde al de la aplicación
  9.        '(MeUpdate.xlsx)
  10.        Dim revisa As String = ActiveSheet.Parent.FullName ' Para saber qué libro está abierto
  11.        'Me devuelve el nombre del libro excel abierto
  12.        Dim test As String = Me.Name
  13.  
  14.         'Abro el libro/archivo con datos de origen
  15.        Cairo_App = New Microsoft.Office.Interop.Excel.Application  'Funciona bien
  16.        Dim DataSourceWorkBook = Me.Application.Workbooks.Open(FileSource) 'Funciona bien
  17.  
  18.         'Mis diferentes intentos por volver activo el libro con datos de origen
  19.  
  20.         'DataSourceSheets = DataSourceWorkBook.Sheets(2)
  21.        'DataSourceSheets.Activate()
  22.        ' Me.Application.Workbooks("Actualizacion Cairo 2013").Activate()
  23.        DataSourceWorkBook.Activate() 'Ésto no funciona
  24.        
  25.         'porque "revisa" me sigue entregando como activo a "MeUpdate.xlsx"
  26.        revisa = ActiveSheet.Parent.FullName
  27.  
  28.         'Me.Application.Workbooks("Actualizacion 2013.xls").Activate() 'tampoco funciona
  29.        revisa = ActiveSheet.Parent.FullName 'me sigue entregando el nombre del libro por default
  30.  
  31.         "Sin Embargo...
  32.        Dim a As Integer = DataSourceWorkBook.Worksheets.Count
  33.  
  34.        'Este "For Next" funciona bien..
  35.        For i = 1 To DataSourceWorkBook.Worksheets.Count
  36.                        'Obtengo el nombre de cada hoja en el libro con los datos de origen...
  37.                        'Si está abierto y puedo acceder a él desde fuera... porqué no lo puedo hacer activo?
  38.                        Dim b As String = DataSourceWorkBook.Sheets(i).Name
  39.        Next
  40.        DataSourceWorkBook.Close()
  41.        Cairo_App.Quit()
  42.  
  43.    End Sub
  44.  
  45.    Private Sub ThisWorkbook_Shutdown() Handles Me.Shutdown
  46.  
  47.        DataSourceWorkBook.Close()
  48.  
  49.    End Sub
  50.  
  51. End Class

Etiquetas: activo, excel, framework, libro, proyecto, vb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:51.