You can use the Script engine of VNA Tolls II for measurement automation, see the following example:
import clr
clr.AddReference('System.Windows.Forms')
clr.AddReference('Metas.Vna.Tools')
clr.AddReference('Metas.Vna.Data')
clr.AddReference('Metas.Instr.Driver')
clr.AddReference('Metas.Instr.VisaExtensions')
from System.IO import Directory
from System.Threading import Thread
from System.Windows.Forms import MessageBox
from Metas.Vna.Tools import Script
from Metas.Instr.VisaExtensions import SrqMessageBasedSession
from Metas.Vna.Data import VnaParameter
print 'Measurement Automation - Michael Wollensack METAS - 08.07.2014'
vnaDevice = 'Agilent_PNA_N5225A'
journalPath = 'Journal_01.vnalog'
dutName = 'DUT_01'
measurementDir = 'Measurements_01\\DUTs\\' + dutName + '\\'
s = Script()
s.RootPath = RootPath
# Create Measuremet Directory
Directory.CreateDirectory(RootPath + '\\' + measurementDir)
# Open VNA
vna = s.OpenVna(vnaDevice)
# Setup Sx,x Ports: 1,2
vna.ParameterMatrix = VnaParameter.SParameterMatrix(2)
# Load Journal
journal = s.LoadJournal(journalPath)
# Open DUT
dut = SrqMessageBasedSession('visa://l-217-01-64.ad.metas/GPIB0::8::INSTR')
# Measurement 1
fname = measurementDir + dutName + '_A1A2A3A4.sdatb'
print fname
dut.Write('A1A2A3A4')
Thread.Sleep(1000)
journal.AddMeasurementJournalItem(vnaDevice, fname, vna)
s.SaveJournal(journalPath, journal)
# Measurement 2
fname = measurementDir + dutName + '_B1B2B3B4.sdatb'
print fname
dut.Write('B1B2B3B4')
Thread.Sleep(1000)
journal.AddMeasurementJournalItem(vnaDevice, fname, vna)
s.SaveJournal(journalPath, journal)
# Close VNA
vna.Close()
print 'Please reload the ' + journalPath + ' in the tabular page called Measurement Journal.'