Forums Últimos mensajes - Powered by IBM
 

Informe personalizado

07/04/2006 - 09:39 por apons | Informe spam
Hola a todos

Quiero sacar un informe muy simple con:
* Nombre de las tareas incompletas
* Trabajo
* Notas

El problema que tengo es que al hacer un informe personalizado las notas no
me salen con el texto completo.
Tambien lo he probado expordando a excel y tengo el mismo problema.
¿Existe algún informe prederminado que lo haga?¿Se puede hacer un informe
personalizado que lo haga?
 

Leer las respuestas

#1 David
10/04/2006 - 22:51 | Informe spam
Créeme que este tu asunto me ha traído de cabeza por varios días... ¿De qué
sirven las notas si no las puedes manipular?

Escarbando en la ayuda y otros lugares, encontré que Project guarda las
notas internamente en un formato rtf. No puedes acceder manualmente a esta
información, sino que necesitas de un programa VBA que te "extraiga" esta
información de tu proyecto. Luego, tendrás que generar archivos nota por
nota, para poder acceder a su contenido. Este proceso manualmente es muy
tedioso, pero con un poco más de tiempo, podrías automatizarlo. Eso ya te lo
dejo a tí ;-)

Te mando lo que he podido hacer. Analízalo, y mira a ver si te sirve como
un punto de partida:



Primero:
En el Editor de VBA, crea una referencia a la biblioteca ADO 2.1, haciendo
clic en Herramientas - Referencias, y buscando en la lista "Microsoft ActiveX
Data Objects 2.1 Library", y le activas la casilla de verificación.

Segundo:
Guardas tu proyecto con formato MPD, haciendo clic en Archivo - Guardar
como, y en el cuadro "Guardar como tipo" seleccionas "Base de datos de
Project (*.mpd)".

Tercero:
Copias el siguiente código en un módulo de Project:

Sub getRtf()
'This macro extracts RTF data from MSP_TASKS.TASK_RTF_NOTES. This data
can then be written
'to a file that can be opened with Microsoft Word or displayed in a
richedit control.

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String, rtf As String, cnString

'Open the MSP_TASKS table to look for TASK_RTF_NOTES
cnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:otas.mpd"
sql = "select PROJ_ID, TASK_UID, TASK_NAME, TASK_RTF_NOTES " & _
"from MSP_TASKS " & _
"where TASK_RTF_NOTES is not null" 'can specify a specific PROJ_ID
and TASK_UID instead
cn.Open cnString
rs.Open sql, cn

'Enumerate across the recordset looking for notes
With rs
Do While Not .EOF
rtf = StrConv(.Fields("TASK_RTF_NOTES"), vbUnicode) ' Put binary
column data into text string
Debug.Print
Debug.Print "--"
Debug.Print
Debug.Print .Fields("TASK_NAME")
Debug.Print rtf
.MoveNext
Loop
.Close
End With
End Sub


Ojo que en la instrucción Source= debes colocar el path y el nombre del
proyecto que guardaste como .mpd.


Cuarto:
Ejecutas el macro.

Quinto:
Desde el Editor de VBA, activas la ventana Inmediato (Ver - Inmediato).

Sexto:
Para cada tarea que tiene notas, verás el nombre de la nota y en seguida una
serie de líneas que corresponde cada una a un documento rtf. Copias esas
líneas, las pegas en el Block de notas, y las guardas con extensión rtf.
Luego las podrás abrir en Notepad o cualquier otra aplicación que maneje
archivos Rtf.

Cordialmente,


"apons" escribió:

Hola a todos

Quiero sacar un informe muy simple con:
* Nombre de las tareas incompletas
* Trabajo
* Notas

El problema que tengo es que al hacer un informe personalizado las notas no
me salen con el texto completo.
Tambien lo he probado expordando a excel y tengo el mismo problema.
¿Existe algún informe prederminado que lo haga?¿Se puede hacer un informe
personalizado que lo haga?

Preguntas similares