Here's some of the code
Class Module C1281
Public Property Let Mode(Value As String)
pMode = Value
If pMode = "AC" Then
Call Talkto(pGPIB, "ACV AUTO,FILT-ON,RESL4" & Chr$(10), 100)
ElseIf pMode = "DC" Then Call Talkto(pGPIB, "DCV AUTO,RESL8", 100)
ElseIf pMode = "FREQ" Then Call Talkto(pGPIB, " ", 100)
ElseIf pMode = "RES" Then Call Talkto(pGPIB, "OHMS AUTO,TWR,RESL6", 100)
ElseIf pMode = "4RES" Then Call Talkto(pGPIB, "OHMS AUTO,FWR,RESL6", 100)
ElseIf pMode = "IDC" Then Call Talkto(pGPIB, "DCI AUTO,FILT-ON,RESL6", 100)
ElseIf pMode = "IAC" Then Call Talkto(pGPIB, "ACI AUTO,FILT-ON,RESL6", 100)
Else:
Call Talkto(pGPIB, "DCV AUTO,RESL8" & Chr$(10), 100)
pMode = "DC"
End If
End Property
Test
Sub MeasVolts()
Sheet = "Sheet1"
Row = 1
'OPC = 0
tInput = Sheets(Sheet).Range("C1").Value
MColumn = Sheets(Sheet).Range("C2").Value
Rdgs = Sheets(Sheet).Range("C3").Value
Set DVM = New C1281
DVM.Mode = "DC"
For Reading = 1 To Rdgs
For tDelay = 1 To tInput
Call Wait(10)
DoEvents
Next tDelay
'While Sheets(Sheet).Cells(1, Column).Value > 1
While Sheets(Sheet).Range(MColumn & Row).Value <> 0
Row = Row + 1
'Column = Column + 1
DoEvents
Wend
Sheets(Sheet).Range(MColumn & Row).Value = DVM.Level
DoEvents
Next Reading
Set DVM = Nothing
Call CloseAll
End Sub
Command Library
Sub Readlong(Device, Command, Answer)
'Check to see if Addresses of kit loaded
If (addresslist(Device) < 1) Then
Call SetAddress(Device)
End If
Dim Buffer As String * 30
'MsgBox ("Command Length " & Len(Command))
Call viWrite(addresslist(Device), Command, Len(Command), Len(Command))
'Call viVPrintf(addresslist(Device), Command & "\n", 0) 'Chr$(10), 0)
Call Sleep(120000)
Call viVScanf(addresslist(Device), "%t", Buffer)
Buffer = Replace(Buffer, Chr$(10), "") '"\n", "") Line feed
Buffer = Replace(Buffer, Chr$(13), "") '"\l", "") Carriage return
Buffer = Replace(Buffer, Chr$(32), "") '"\r", "") Space
Answer = Buffer * 1
End Sub