RE:Como crear proyecto mediante código
Lo que vos queres hacer, se encuadra dentro de un AddIn. Un AddIn es código .Net que se ejecuta en el entorno de desarrollo. En vez de trabajar con la pantalla y el Windows, ya tenés objetos para acceder a los datos del proyecto.
Yo trabajé con AddIns en VB5. Hice un programa que calculaba el porcentaje de documentación de código. También hice otro que enumeraba las líneas para acceder a los errores.
Lamentablemente, todavía no he hecho AddIns en .Net (aunque sería interesante hacerlo), pero supongo que no debe ser complicado.
En VB5, el AddIn tenía un objeto Instancia del cual dependían objetos "Project" (en una colección) de los cuales dependían objetos "Components" (en una colección). Los Components podían ser Formularios, Clases, Documentos, etc.
Cualquier cosa mandame un mail
Ernesto