Yes, Active State Perl , the standard implementation for windows, includes a module called Win32::OLE which allows Perl scripts to interact with COM components. Using this module you can create an instance of the AWR Design Environment and program the API objects exposed by that instance.

Here is an example script which invokes the AWR Deign Environment, Creates a new Project, and adds an MLIN element.

#!perl use Win32::OLE

use strict;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'AWR Design Environment 2007';

my $mwo = Win32::OLE->new('AWR.MWOffice', sub {}) or die "MWOffice Application cannot start";

# Create a new project

# Create a new Schematic called 'MySchematic'
my $p = $mwo->Project;
my $s = $p->Schematics->Add('MySchematic');

# Add an element to the schematic
my $e = $s->Elements->Add('MLIN', 0, 0);

The Active State web site also includes a FAQ on using OLE with Perl. The FAQ includes a number of examples of using Perl to control Microsoft Office Applications. Using Perl to interact with both would enable the creation of interesting applications like an automated design review package generator or using Excel to chart data extracted from simulations in Microwave Office.


' VBScript to create MWOffice application object, add a schematic and elements.

Dim objMWO
Dim schem
Dim elem1, elem2

' Create the MWOffice Application object. (Starts the exe)

Set objMWO = CreateObject("AWR.MWOffice")

' Make sure the project is new.


' Add a schematic named "MySchematic"

Set schem = objMWO.Project.Schematics.Add("MySchematic")

' Add some elements.
Set elem1 = schem.Elements.Add("MLIN", 0, 0)
Set elem2 = schem.Elements.Add("MLIN", 0, 0, 180)

MsgBox("Element Count = " & schem.Elements.Count)