non troppo difficile...

metti su un form un Frame e un CommandButton, poi copia questo codice:

codice:
Dim Expanded As Boolean

Private Sub Command1_Click()

If Not Expanded Then
    Expanded = True
    Command1.Caption = "Chiudi Help"
    Me.Width = Me.Width + Frame1.Width + 150
Else
    Expanded = False
    Command1.Caption = "Apri Help"
    Me.Width = Me.Width - Frame1.Width - 150
End If

End Sub

Private Sub Form_Load()

Me.Width = 8085
Me.Height = 6255
Frame1.Width = 3240
Frame1.Height = Me.ScaleHeight - 300
Frame1.Left = Me.ScaleWidth - Frame1.Width - 150
Frame1.Top = (Me.ScaleHeight - Frame1.Height) / 2
Expanded = False
Me.Width = Me.Width - Frame1.Width - 150
Command1.Move Me.ScaleWidth - Command1.Width - 150, Me.ScaleHeight - Command1.Height - 150
Command1.Caption = "Apri Help"

End Sub

Private Sub Form_Resize()
If Me.WindowState = 2 Then
    Me.WindowState = 0
    Me.Move 0, 0, Screen.Width, Screen.Height - 430
End If

Frame1.Width = 3240
Frame1.Height = Me.ScaleHeight - 300
Frame1.Top = (Me.ScaleHeight - Frame1.Height) / 2

If Expanded Then
    Frame1.Left = Me.ScaleWidth - Frame1.Width - 150
    Command1.Move Me.ScaleWidth - Command1.Width - Frame1.Width - 300, Me.ScaleHeight - Command1.Height - 150
Else
    Frame1.Left = Me.ScaleWidth
    Command1.Move Me.ScaleWidth - Command1.Width - 150, Me.ScaleHeight - Command1.Height - 150
End If

End Sub
ovviamente non è perfetto, soprattutto se hai intenzione di mantenere il form massimizzato... ma è un inizio

Boolean