Cómo operar Microsoft Project a través de VBA
La siguiente es una clase general que escribí en VB. Ne llama a VBA para manipular proyectos de MS.
Esta clase implementa funciones comunes como crear y abrir archivos de proyecto, agregar tareas, actualizar y degradar tareas y guardar proyectos.
Consulta las notas para obtener más detalles.
Proyectos públicos
Autor: Sun 041201
Dimmprjapp como MSProject. "Aplicación" se refiere a la biblioteca de clases msproject de VB.Net.
"Dim mRow As Integer = 0" registra el número de fila de la tarea en el proyecto.
Sub público nuevo()
mPrjApp = nuevo MSProject. fin de la aplicación Sub public Sub nuevo proyecto()
MPrjApp. FileNew() 'Crea un nuevo subarchivo final del proyecto' El proyecto se puede guardar como una base de datos. Si lo guardamos como una base de datos, podemos abrir este archivo de proyecto directamente a través de ODBC.
Por supuesto, si está familiarizado con los proyectos de bases de datos, también puede manipular directamente los datos en la base de datos para modificar el archivo del proyecto. Aunque Microsoft ha proporcionado una descripción de la estructura de la base de datos, no es muy detallada y hay relativamente poca información oficial en esta área. Más adelante escribiré un artículo sobre la manipulación de la base de datos del proyecto a través de ODBC.
Subapertura pública (ByVal ODBCName es una cadena, ByVal ProjectName es una cadena)
mPrjApp. Archivo abierto(" <+odbc name+" & gt;\ "+nombre del proyecto)End SubPublic Sub nuevo proyecto(ByVal tmpFileName como cadena)
nombre de plantilla tenue como objeto = tmpFileName
mPrjApp.FileNew(False, nombre de plantilla)End Sub public Sub save As(Ruta del archivo ByVal como cadena)
Si existe Io.file(ruta del archivo)
Eliminar archivo IO. (ruta del archivo) Finalizar IfmPrjApp. Archivo Guardar como (FilePath, MSProject. formato de archivo pj. pjmpp) Finalizar Sub public Sub agregar tarea (ByVal TaskName es una cadena, ByVal StartDate es una cadena, ByVal FinishDate es una cadena, ByVal Resource opcional es String = " " )
MPrjApp. SelectTaskField(mRow, "Nombre")
SetTaskField("Nombre",TaskName)
MPrjApp("Hora de inicio", Inicio. Fecha)
MPrjApp.SetTaskField("Fecha completa")
SetTaskField("Nombre del recurso", Recurso)' El recurso aquí indica a quién está asignada la tarea, mrow = 1 end sub sub degradación()
mPrjApp. p>
mPrjApp. FileCloseAll(MSProject.PjSaveType.pjDoNotSave)
MPrjApp.Salir()End Clase SubEnd Ejemplo de esta clase (C#):
Proyecto prj = nuevo proyecto ();
prj.
nuevo proyecto(" D:\ Prueba \ Prueba . MPP ");