HOW TO in der Nähe Seriendruck Excel-Instanz gestartet
Frage
Wie Excel-Instanz von Seriendruck gestartet schließen
Dieser Code innerhalb Launcher ausgeführt haben keinen Zugriff auf Excel über DDE läuft ??
'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
Lösung
Sie können die Excel-Prozess töten wie folgt: (von 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;
}
Andere Tipps
Excel über VBA werden kann geschlossen, wenn aus aufgerufen innerhalb Excel
Application.Quit
Wenn Sie von außerhalb Excel genannt, müssen Sie einen Verweis auf Excel setzen und es dann schließen.
Set appExcel = GetObject(, "Excel.Application")
appExcel.Quit
Sie müssen sicherstellen, dass alle Arbeitsmappen geschlossen oder gespeichert, andernfalls wird Excel den Benutzer auffordern, zu speichern.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow