2009-09-17 6 views
1

Comment fermer instance Excel a commencé par publipostageCOMMENT fermer par exemple Excel a commencé par publipostage

ce code en cours d'exécution dans le lanceur n'a pas accès à Excel en cours d'exécution via DDE ??

'For i = 1 To Workbooks.Count 
' MsgBox ("here" + Workbooks(i).Name) 
'If (Workbooks(i).Name <> ActiveWorkbook.Name) Then 
'Workbooks(i).Close 
'End If 
'Next i 

Répondre

0

Vous pouvez tuer le processus Excel comme ceci: (de http://www.dreamincode.net/code/snippet1543.htm)

//Namespaces needed 
using System.Diagnostics; 

public bool FindAndKillProcess(string name) 
{ 
    //here we're going to get a list of all running processes on 
    //the computer 
    foreach (Process clsProcess in Process.GetProcesses()) { 
     //now we're going to see if any of the running processes 
     //match the currently running processes by using the StartsWith Method, 
     //this prevents us from incluing the .EXE for the process we're looking for. 
     //. Be sure to not 
     //add the .exe to the name you provide, i.e: NOTEPAD, 
     //not NOTEPAD.EXE or false is always returned even if 
     //notepad is running 
     if (clsProcess.ProcessName.StartsWith(name)) 
     { 
      //since we found the proccess we now need to use the 
      //Kill Method to kill the process. Remember, if you have 
      //the process running more than once, say IE open 4 
      //times the loop thr way it is now will close all 4, 
      //if you want it to just close the first one it finds 
      //then add a return; after the Kill 
      clsProcess.Kill(); 
      //process killed, return true 
      return true; 
     } 
    } 
    //process not found, return false 
    return false; 
} 
0

Excel peut être fermé par VBA, si elle est appelée à partir d'Excel

Application.Quit 

Si elle est appelée à l'extérieur Excel, vous devrez définir une référence à Excel, puis fermez-le.

Set appExcel = GetObject(, "Excel.Application") 
appExcel.Quit 

Vous devez vous assurer que tous les classeurs sont fermés ou enregistrés, sinon Excel invitera l'utilisateur à enregistrer.

Questions connexes