Cómo matar un proceso en vba

lord_in Mensajes publicados 44 Fecha de registro   Estado Miembro -  
audalice Mensajes publicados 1 Estado Miembro -
Bonjour,
me gustaría saber cómo matar un proceso EXCEL.EXE en VBA
estoy en VBA bajo Access

gracias
Configuración: Windows Vista Firefox 2.0.0.8

6 respuestas

  1. audalice Mensajes publicados 1 Estado Miembro 4
     
    Para el uso de Taskkill, parece que la escritura del código VBA sería más bien:

    vba.Interaction.Shell("TASKKILL /F /IM excel.exe")
    4
  2. garion28 Mensajes publicados 1545 Fecha de registro   Estado Miembro Última intervención   408
     
    He encontrado esto
    vba.Interaction.Shell("TASKKILL excel.exe /F /IM")

    una interacción con el símbolo del sistema

    si no funciona añade cmd.exe delante del taskkill
    --
    ¿Tienes problemas con IE8? Yo te doy LA solución, instala Firefox (busca en Google)
    1
  3. lord_in Mensajes publicados 44 Fecha de registro   Estado Miembro
     
    La fonction Kill peut être utilisée dans un programme VBA pour supprimer des fichiers. Voici un exemple de syntaxe :

    ```vba
    Kill "C:\chemin\vers\le\fichier.txt"
    ```

    Cette ligne de code supprimera le fichier spécifié à l'emplacement donné. Assurez-vous que le fichier n'est pas ouvert ou utilisé par un autre processus avant d'utiliser cette fonction.
    0
    1. ShaBoo Mensajes publicados 406 Estado Miembro 50
       
      No sé ... pero puedes probar ...
      0
  4. Raph04 Mensajes publicados 182 Estado Miembro 24
     
    Tengo la misma necesidad, ya que en mi base de datos quiero crear un Excel con datos provenientes de la misma.
    Cuando ejecuto mi función una vez, funciona y me crea un Excel. Pero en la segunda ejecución (sin cambiar, ni los datos, ni el código) la función falla en un rango y un proceso EXCEL.EXE es visible en el administrador de tareas aunque no tengo ningún Excel abierto (al menos que sea visible...)

    Sin embargo, al final de mi función cierro mi libro de trabajo y el objeto "aplicación de Excel":

    xlBook.Close xlApp.Quit Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing


    Creo que lo mejor es matar el proceso directamente...
    0
  5. Raph04 Mensajes publicados 182 Estado Miembro 24
     
    En realidad, el enlace proporcionado más arriba no está mal.
    Es un poco pesado, pero funciona... El único problema es que no puedo ejecutar mi función con Excel abierto al mismo tiempo... Y además, ahora una vez de cada dos (con una gran precisión), siempre en mi Rango, me da un error diciéndome que el servidor remoto no existe o no está disponible, cuando estoy trabajando en local -_-...

    Pero realmente no entiendo por qué me deja un proceso al final de mi función... porque, a mi parecer, eso es lo que hace que falle, algo así como Excel que lleva el mismo nombre.

    'Inicializaciones Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Add 'Creación de la hoja de presupuesto Set xlSheet = xlBook.Worksheets.Add xlSheet.Name = "Presupuesto" [...] Funciones... [...] xlApp.DisplayAlerts = False xlBook.SaveAs chemin & "\Import\Budgets\Budgets " & Me.Liste_Annee.Value & " & Format(Now, "yyyy-mm-dd - hhmmss") & ".xls" xlBook.Close xlApp.DisplayAlerts = True xlApp.Quit Abase.Close Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing 


    Y no es la primera vez que tengo problemas con los Rangos así...
    0