The JScript listing below shows how to open documents, set a document as the active document, iterate through the open documents, and close documents.
 
This code is available in the sample file ..\UModelExamples\API\JScript\DocumentAccess.js (see also Example Files).
 
// Initialize application's COM object. This will start a new instance of the application and // return its main COM object. Depending on COM settings, a the main COM object of an already // running application might be returned. try {   objUModel = WScript.GetObject("", "UModel.Application");   } catch(err) {}   if( typeof( objUModel ) == "undefined" ) {    try   {   objUModel = WScript.GetObject("", "UModel_x64.Application")   }    catch(err)    {       WScript.Echo( "Can't access or create UModel.Application" );       WScript.Quit();    } }   // if newly started, the application will start without its UI visible. Set it to visible. objUModel.Visible = true;   // **************************** code snippet for "Simple Document Access" ***********************   // Locate examples using property PersonalDataDirectory objDoc = objUModel.OpenDocument(objUModel.PersonalDataDirectory + "\\UModelExamples\\Bank_MultiLanguage.ump"); // open all diagrams objDoc.OpenAllDiagrams();   // **************************** code snippet for "Simple Document Access" ***********************   // **************************** code snippet for "Iteration" ************************************   objName = ""; count = 0; // go through all open diagrams using a JScript Enumerator for (var iterDiagrams = new Enumerator(objDoc.DiagramWindows); !iterDiagrams.atEnd(); iterDiagrams.moveNext()) {    objName += "\t" + ++count + " " + iterDiagrams.item().Name + "\n"; }   WScript.Echo("Opened diagrams: \n" + objName);   // go through all open diagrams using index-based access to the document collection for (i = objDoc.DiagramWindows.Count; i > 0; i--)    objDoc.DiagramWindows.Item(i).Close();     // **************************** code snippet for "Iteration" ************************************   //objUModel.Visible = false;      // will shutdown application if it has no more COM connections objUModel.Visible = true;   // will keep application running with UI visible      |