Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have a VB script in an Excel spreadsheet that imports data from a MS
Project file. Right now I have the Project fields that are being imported hardcoded in the script, e.g. Name, Text1. For Each task In MSProj.ActiveProject.Tasks Cells(i,1) = task.Name Cells(i,2) = task.Text1 i= i+ 1 Next t I would like to be able to change which fields are being imported by setting a value on a worksheet rather than having to change the code each time. So if I wanted the Start and Finish fields for each task rather than the Name and Text1 fields, I could change some cells from "Name" and "Text1" to "Start" and "Finish". However, I'm not sure how to change these strings into something that can reference the proper field in the task object. Any suggestions. Thanks. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Dim MyField1 As String
Dim MyField2 As String 'Change A1 to the cell you have a field in 'Change B1 to the cell you have a field in MyField1 = Range("A1").Value MyField2 = Range("B1").Value " wrote: I have a VB script in an Excel spreadsheet that imports data from a MS Project file. Right now I have the Project fields that are being imported hardcoded in the script, e.g. Name, Text1. For Each task In MSProj.ActiveProject.Tasks Cells(i,1) = task.Name Cells(i,2) = task.Text1 i= i+ 1 Next t I would like to be able to change which fields are being imported by setting a value on a worksheet rather than having to change the code each time. So if I wanted the Start and Finish fields for each task rather than the Name and Text1 fields, I could change some cells from "Name" and "Text1" to "Start" and "Finish". However, I'm not sure how to change these strings into something that can reference the proper field in the task object. Any suggestions. Thanks. |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I don't use MS Project, but if the task has a Fields collection and you name
to 2 ranges that contain the field names, maybe something like this: For Each task In MSProj.ActiveProject.Tasks Cells(i,1) = task.Fields(Range("rngField1").Value) Cells(i,2) = task.Fields(Range("rngField2").Value) i= i+ 1 Next t Also, I assume you have a line Dim task as MSProject.Task It may be better not to use the same word for a variable as is used as an object. maybe: Dim MyTask as MSProject.Task NickHK wrote in message ups.com... I have a VB script in an Excel spreadsheet that imports data from a MS Project file. Right now I have the Project fields that are being imported hardcoded in the script, e.g. Name, Text1. For Each task In MSProj.ActiveProject.Tasks Cells(i,1) = task.Name Cells(i,2) = task.Text1 i= i+ 1 Next t I would like to be able to change which fields are being imported by setting a value on a worksheet rather than having to change the code each time. So if I wanted the Start and Finish fields for each task rather than the Name and Text1 fields, I could change some cells from "Name" and "Text1" to "Start" and "Finish". However, I'm not sure how to change these strings into something that can reference the proper field in the task object. Any suggestions. Thanks. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Have 2 create 2 new date fields after export from MS project 4 piv | Excel Discussion (Misc queries) | |||
Linking MS Project fields in Excel | Excel Discussion (Misc queries) | |||
Referencing .Net Remoting Services project in MS Excel Macro | Excel Discussion (Misc queries) | |||
Referencing Call to Another Project | Excel Programming | |||
Referencing Code from another project | Excel Programming |