Muss es denn unbedingt der API sein. Es geht doch auch so:
Code:
  ' Variablen deklarieren
  Dim systemNames As New cwbx.systemNames
  Dim as400 As New cwbx.AS400System
  On Error GoTo failed
  ' Standardsystem abrufen und zur Initialisierung des Objekts AS400System
  ' verwenden
  as400.Define systemNames.DefaultSystem
  ' Versuchen, das Kennwort für Benutzer "user" auf dem Standardsystem zu ändern
  as400.ChangePassword "user", "oldpw", "newpw"
  MsgBox "Kennwort erfolgreich geändert"
  Exit Sub
failed:
  ' Fehlerinformationen anzeigen
  MsgBox "Fehlernummer = " & Err.Number & vbCr & _
         "Fehlerbeschreibung = " & Err.Description & vbCr & _
         "Fehlerquelle = " & Err.Source & vbCr & _
         "iSeries Access für Windows-Rückkehrcode = " & as400.Errors.ReturnCode
  ' Alle zurückgegebenen iSeries Access für Windows-Nachrichten anzeigen
  For Each cwbErr In as400.Errors
    MsgBox "iSeries Access für Windows-Nachrichtentext: " & vbCr & cwbErr.Text
  Next
Das ist ein Beispiel aus den Activex Automatisierungsobjekten.

Bruno