#!/usr/bin/perl use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Visio'; my $Visio = Win32::OLE->new('Visio.Application'); $MacroName = "Stencil"; #Running a macro $visiofile = "d:\\VisioProject\\StencilProject.vsd"; my $Doc = $Visio->{'Documents'}->Open($visiofile); $Visio->Run($MacroName); $Visio->Quit