As Tony T. would say, it makes more sense to have a lisp function that can be called rather than try to do it all with the VL interface. Here is a small function that does what you need, but I'm not sure what the TwistAngle actually does......I can cahnge it with this function, and the View dialog shows it as changed, but the actual view that gets restored is the same as it started out.
Anyway, you could just call this from VBA like so:
''First 2 functions from Tony T's example sent to me
Public vlApp As Object
' Initialize and/or return vl application object
' Note that we don't try to cache any other Vl
' objects, because they are all document-specific
Public Function GetVlApp() As Object
If (vlApp Is Nothing) Then
Set vlApp = AcadApplication.GetInterfaceObject("Vl.Application.16")
End If
Set GetVlApp = vlApp
End Function
' Call this to get a LISP function defined in the Active document
' (do not cache the result because it is document-specific)
Public Function VlFunc(Name As String) As Object
Set VlFunc = GetVlApp.ActiveDocument.Functions.Item(Name)
End Function
''This calls the setviewangle lisp function
Sub testViewAngle()
Dim oView As AcadView
Dim dRot As Double
Set oView = ThisDrawing.Views.Item("test")
dRot = 1.57
VlFunc("setviewangle").Funcall oView.Handle, dRot
End Sub
and the lisp:
(defun setviewangle (hndl ang / elist)
(setq elist (entget (handent hndl)))
(entmod (subst (cons 50 ang)(assoc 50 elist) elist))
)
HTH,
Jeff