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

System.Diagnostics.Process y Office 2010

Estas en el tema de System.Diagnostics.Process y Office 2010 en el foro de .NET en Foros del Web. Hola a todos. Tengo un problema al lanzar un proceso con System.Diagnostics.Process.Start cuando la aplicación que se lanza es una de Office 2010. Mi aplicación ...
  #1 (permalink)  
Antiguo 31/10/2012, 10:01
 
Fecha de Ingreso: octubre-2012
Mensajes: 5
Antigüedad: 11 años, 5 meses
Puntos: 0
System.Diagnostics.Process y Office 2010

Hola a todos.
Tengo un problema al lanzar un proceso con System.Diagnostics.Process.Start cuando la aplicación que se lanza es una de Office 2010.
Mi aplicación necesita esperar a que la aplicación que se lanza termine (no sé qué aplicación se lanzará, se usará la configurada en el SO para la extensión) y cuando se lanza un documento de Office, si no hay ninguna instancia de esa misma aplicación abierta (Word, Excel, etc.), no hay problema, pero en el caso de que ya haya abierto cualquier otro documento, el método Start no me devuelve la referencia al proceso creado para que pueda esperar a que se termine.
El código que uso es, más o menos, el siguiente (lo he simplificado para que sólo esté la parte que lanza el proceso).

Código:
Sub startDoc(doc as String)
   Dim app As New Process
   Try
      app = System.Diagnostics.Process.Start(doc)
   Catch ex As Exception
   End Try
   If Not app Is Nothing Then
      app.WaitForExit()
   end If
End Sub
  #2 (permalink)  
Antiguo 31/10/2012, 19:51
Avatar de emmax  
Fecha de Ingreso: agosto-2010
Ubicación: Sonora
Mensajes: 172
Antigüedad: 13 años, 8 meses
Puntos: 8
Respuesta: System.Diagnostics.Process y Office 2010

Yo he manejado el metodo "Kill" para detener un proceso, solo que este no te pregunta si quieres guardar algun cambio si es el caso, tambien esta el metodo "CloseMainWindow" este si te pregunta si quieres guardar algun cambio antes de cerrar el proceso, no se si esto te sirva de ayuda, comentanos si tienes alguna duda.
  #3 (permalink)  
Antiguo 02/11/2012, 06:14
 
Fecha de Ingreso: octubre-2012
Mensajes: 5
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: System.Diagnostics.Process y Office 2010

Creo que no me he debido explicar bien.
Mi problema es que, si en el SO hay abierto, por ejemplo, un Excel, si lanzo una hoja de cálculo desde mi aplicación, app es Nothing y no puedo controlar el proceso.

Gracias
  #4 (permalink)  
Antiguo 02/11/2012, 10:59
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: System.Diagnostics.Process y Office 2010

Hola que tal, bueno este problema se me a presentado ami cuando exporto utilizando alguna utileria para exportarlo.

Lo que ocurres es que se quiere abrir, pero la aplicacion que esta abierta es la que controla a la nueva, la razon aun no la encuentro , e investigado como evitar esto, pero aun no encuentro como hacerlo

Yo lo que hago es grabar el grid en un Excel por medio de actualizacion de celdas ( UPDATE )

Un pequeño ejemplo:

Código C#:
Ver original
  1. string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
  2.                             @"Data Source=" + sFileName + ";" +
  3.                             @"Extended Properties=" + '"' + "Excel 8.0;HDR=NO" + '"';
  4.                             OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
  5.                             oleConn.Open();
  6.  
  7.                             OleDbCommand cmd = new OleDbCommand();
  8.                             cmd.Connection = oleConn;
  9.  
  10.                             cmd.CommandText = "UPDATE [Hoja1$C1:C1] SET F1 = '" + sMensaje.ToString().Trim() + "'";
  11.                             cmd.ExecuteNonQuery();
  12.  
  13.                             nColumna = 0;
  14.                             foreach (DataGridViewColumn columna in Grid.Columns)
  15.                             {
  16.                                 foreach (DataGridViewRow renglon in Grid.Rows)
  17.                                 {
  18.                                     cmd.CommandText = "UPDATE [Hoja1$" + sData[nColumna] + "" + Informacion.ToString() + ":" + sData[nColumna] + "" + Informacion.ToString() + "] SET F1 ='" + Grid[columna.Index, renglon.Index].Value.ToString().Replace("'", "''") + "'";
  19.                                     cmd.ExecuteNonQuery();
  20.                                     Informacion++;
  21.                                 }
  22.  
  23.                                 nColumna += 3;
  24.                                 Informacion = Global;
  25.                             }
  26.  
  27.                             oleConn.Close();
  #5 (permalink)  
Antiguo 02/11/2012, 12:06
 
Fecha de Ingreso: octubre-2012
Mensajes: 5
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: System.Diagnostics.Process y Office 2010

Cita:
Iniciado por drako_darpan Ver Mensaje
Hola que tal, bueno este problema se me a presentado ami cuando exporto utilizando alguna utileria para exportarlo.

Lo que ocurres es que se quiere abrir, pero la aplicacion que esta abierta es la que controla a la nueva, la razon aun no la encuentro , e investigado como evitar esto, pero aun no encuentro como hacerlo

Yo lo que hago es grabar el grid en un Excel por medio de actualizacion de celdas ( UPDATE )

Un pequeño ejemplo:
Pero es que mi problema no es sólo con Excel, es con cualquier aplicación de Office2010. Lo que me planteas no me sirve, yo lo que hago es abrir documentos del usuario en cualquier formato y con el programa predeterminado.
  #6 (permalink)  
Antiguo 05/11/2012, 19:35
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: System.Diagnostics.Process y Office 2010

Hola que tal, si el problema se presenta al querer abrir cualquier aplicacion al momento de exportarlo a office, puesto que también me paso.

Incluso me pasa con el Oppen Office, y no entiendo el por que .

Pero segun me e dado cuenta, es por que al exportarlos los pasa al portapapeles, pero no se vacia. Como te comento este problema hasta el momento no le e encontrado solucion por que yo al exportarlo a Excel, lo filtro por un HTML y luego lo convierto, para darle un poco de formato , pero al querer abrirlo me dice: Como deseas abrir el archivo .

Pero hasta el momento no e dado con una solucion para eso, como te digo para exportar a Excel yo uso ese metodo y me a funcionado.


Etiquetas: office
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 05:30.