As a variant - to create framework by using internal reusable actions with parameters - as simple functions - this will be good not for big projects and will be easy to create. We can call external reusable actions from another test files (this can be represented as different libraries). Data will be loaded from external xls files and sended to these actions by parameters.
This variant is good because of the debugging possibility for code in libraries (for 8.2 version, vbs libraries can't be debugged, maybe in newer QTP versions this is not a problem anymore).
Another variant is to use external vbs library files for your framework functions or external thirdparty framework engine.