How to close an Excel instance launched by mail merge

HOW to close an Excel instance started by mail merge

this code, running inside the launch, does not have access to Excel, working through 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
+1
source share
2 answers

You can kill the excel process as follows: (from 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
source

Excel can be closed via VBA if called from Excel

Application.Quit

If you are calling Excel from outside, you will need to set up a link to Excel and then close it.

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

You need to make sure that all books are closed or saved, otherwise Excel will prompt the user to save.

0
source

All Articles