I keep needing to open the folder containing the Eplan Project I’m currently working on, so I decided to modify a script initially created by Sean P. Mulherin.

Enjoy

//Luc Morin, 2012, based on work By Sean Patrick Mulherin
//
//Small script to open the folder containing the currently selected project in Windows Explorer
//
//It adds a new Action to Eplan: OpenProjectFolderInExplorerAction
//This action can be called either from a menu, a toolbar button, or from a script
//
//Simply "load" the script in Eplan (don't "run" it).
 
public class RegisterScriptMenu
{
    [DeclareMenu()]
    public void MenuFunction()
    {
		//Add a new menu point for our Action. it will be placed in the "Utilities" menu.
		//This menu point will call our Action when selected by the user
        Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();
        oMenu.AddMenuItem("Open Project Folder",
        				"OpenProjectFolderInExplorerAction",
        				"Opens the current Project Document folder in Windows Explorer",
						System.UInt32.Parse("35032"), 	// ID of the prvious menu
						System.Int32.Parse("0"), 	// ID of the next menu. (0 no special)
						false,
						true);
    }
 
	//Our Action declaration
	[DeclareAction("OpenProjectFolderInExplorerAction")]
	public void Action()
	{
		//Execute a "selectionset" action to obtain the currently selected project's full name (including folder)
		Eplan.EplApi.ApplicationFramework.ActionManager oMngr = new Eplan.EplApi.ApplicationFramework.ActionManager();
		Eplan.EplApi.ApplicationFramework.Action oSelSetAction = oMngr.FindAction("selectionset");
		string sProjectFolder = string.Empty;
		if (oSelSetAction != null)
		{
			Eplan.EplApi.ApplicationFramework.ActionCallingContext ctx = new Eplan.EplApi.ApplicationFramework.ActionCallingContext();
			ctx.AddParameter("TYPE", "PROJECT");
			bool bRet = oSelSetAction.Execute(ctx);
			if (bRet)
			{
				string selectedProject = string.Empty;
				ctx.GetParameter("PROJECT", ref selectedProject);
 
				//Obtain the project folder. Must add the trailing backslah or else Windows Explorer won't cooperate
				sProjectFolder =  System.IO.Path.GetDirectoryName(selectedProject) + "\";
			}
			else
			{
				System.Windows.Forms.MessageBox.Show("Action could not be executed!");
			}
		}
		else
		{
		System.Windows.Forms.MessageBox.Show("Action Selection could not be executed");
		}
 
		//Launch Windows Explorer with our Project Path
		System.Diagnostics.Process.Start("explorer.exe", sProjectFolder);
    }
}

Enjoy