Для вызова COM-компонентов из VBScript ваш объект должен реализовывать интерфейс IDispatch . Как только вы это сделаете, вы можете сделать что-то вроде:
Set myObj = CreateObject("yourObject")
myObj.f "Hello, world!"
Отображение между аргументом VARIANT, передаваемым из vbscript, и аргументом BSTR, ожидаемым реализацией, является задачей вашей реализации IDispatch. Если вы используете ATL, см. Эту статью о том, как использовать встроенную реализацию ATis IDispatch: http://flylib.com/books/en/3.90.1.47/1/