VBA(Office 2003) Sample Program
    Sample program of settings and queries

	'Create VISA ResourceManager object
	Dim rm As New VisaComLib.ResourceManager
	Dim accessMode As VisaComLib.accessMode
	Dim serial As String
	Dim timeOut As Integer
	Dim optionString As String
	Dim msg As VisaComLib.IMessage
    
	accessMode = VisaComLib.accessMode.NO_LOCK
    
	'Serial number of the programmable AC/DC power source
	serial = "0123456"
    
	timeOut = 0
	optionString = ""
	'Connect with the device
	Set msg = rm.Open("USB0::0x0D4A::12::" & serial & "::INSTR", _
		accessMode, _
		timeOut, _
		optionString)
	'Set the frequency as 50.0Hz, and ask the value
	msg.WriteString (":FREQ 50.0;:FREQ?" & vbLf)
	Debug.Print msg.ReadString(256)
	'Close the device
	msg.Close

    
    Sample program of transferring ARB data
'Create VISA ResourceManager object Dim rm As New VisaComLib.ResourceManager Dim accessMode As VisaComLib.accessMode Dim serial As String Dim timeOut As Integer Dim optionString As String Dim msg As VisaComLib.IMessage Dim i As Integer Dim buff(4095) As Long Dim p As Double Dim data(8191) As Byte Dim j As Integer Dim b As Byte Dim pi As Double Dim arbCmd As String accessMode = VisaComLib.accessMode.NO_LOCK 'Serial number of the programmable AC/DC power source serial = "0123456" timeOut = 0 optionString = "" 'Connect with the device Set msg = rm.Open("USB0::0x0D4A::12::" & serial & "::INSTR", _ accessMode, _ timeOut, _ optionString) 'Create the waveform data pi = Atn(1#) * 4# p = 2 * pi / 4096 For i = 0 To 4095 buff(i) = CLng(Math.Sin(p * i) * 16383) Next 'Convert the message and the waveform data into byte data arbCmd = ":TRACe ARB1,#48192" For j = 0 To Len(arbCmd) - 1 data(j) = CByte(AscB(Mid(arbCmd, j + 1, 1))) Next For i = 0 To 4095 b = CByte(((buff(i) \ &H100&) And &HFF&)) data(j) = b j = j + 1 b = CByte((buff(i) And &HFF&)) data(j) = b j = j + 1 Next 'Transfer the data msg.Write data, Len(arbCmd) + 8192 'Close the device msg.Close