Extract the "Manager" field from Project Information using VBA - vba

Just wondering if its possible to access the "Manager" field within MS Project > Info > Project Information > Summary tab field?
I'm able to extract the Task object (Project) defined within this document [https://learn.microsoft.com/en-us/office/vba/api/project.task][1], just can't see a way to access not only Manager but Company, Category, Keywords etc.
Thank you in advance

Look under builtinproperties.
Something like...
Debug.Print ThisProject.BuiltinDocumentProperties("Author")

Related

Get MS Project Title (Not Name)

I need to get the Title of a project rather than the name of it. This can be done using the ProjectSummaryInfoEx method for the application object but I'm not sure how to get this line to return the value I need. Without any commands, it simply opens up the Summary info dialog box, and any inputs I provide come back as an invalid argument.
Any help anyone can provide would be greatly appreciated.
I suggest using:
ActiveProject.BuiltinDocumentProperties("Title")
or a property of the Project object such as:
ActiveProject.Name
References: Application object, Project object, BuiltinDocumentProperties
In addition to Rachel's answers, you can also use this:
ActiveProject.Tasks.UniqueID(0).Name
UID zero will always be the project summary task, and the name property will be the title of the project.

Wrong "ReflectedWorkItemIDFieldName" while migrating Azure DevOps Work Items

I am testing the azure-devops-migration-tools and have create a project using https://azuredevopsdemogenerator.azurewebsites.net/ (Parts Unlimited). I have generated the configuration.json and changed the Source and Target so I can test a migration, but I'm getting errors while migrating Work Items.
[15:14:41 ERR] Error running query
Microsoft.TeamFoundation.WorkItemTracking.Client.ValidationException: TF51005: The query references a field that does not exist. The error is caused by «ReflectedWorkItemId».
I've tried different options on the "ReflectedWorkItemIDFieldName" field, Scrum, Basic, Agile, Custom, empty but am still unable to migrate the work items.
How can I get the value to put on this field for the specific project?
Thanks,
Bruno
Quick Solution: Most ADO instances use the prefix 'custom' for new fields. Try "Custom.ReflectedWorkItemId" in your configuration.json to see if that resolves the problem.
More details: It's hard to tell without an actual configuration.JSON file to review. One possible problem is that you need to use the actual and full internal 'Name' of the ReflectedWorkItemID field. This doesn't show in ADO, or the Process Template when created. The recommendation is that you create a query referencing your custom field, and export the WIQL file (query file). Once you export the WIQL file, you can then open the file and see the full syntax of the custom field.
Exporting Queries: If you don't know how to do this, it can be done with VisualStudio. If you don't know how to do that, you can install this extension. It's a handy WIQL import/Export and editor. Install, and your ADO Queries with have an Edit in WIQL Editor option. Create a query that exposes your 'ReflectedWorkItemID' as a column, then edit that query in the WIQL editor and see the full names of the Reflected Work Items ID Feild. https://marketplace.visualstudio.com/items?itemName=ottostreifel.wiql-editor
SELECT
[System.Id],
[System.WorkItemType],
[System.Title],
[System.AssignedTo],
[System.ChangedBy],
[Custom.ReflectedWorkItemId]
FROM workitems
WHERE ...
I found a possible solution. I have created a custom process, change the process from the projects to this new one and add a new field. This is the field I'm using on the configuration.json and now I'm able to migrate work items
To make the migration in the "ReflectedWorkItemIDFieldName" you must do:
"Organization Settings" -> Process -> Select the process where you project are (Basic, Scrum, Agil, or CMMI).
then click on the 3 dots and create a new Inherited process.
Then with the inherited process, you are able to create a new field for each work item type. The name that you type (could be "IronMan") that name will be in your configuration file.

Link two DOOR's modules without programming

I am new with IBM DOORS and I need some hint or help with this, probably, basic issue.
I have a Module A which contains some requirements and another Modules B,C,D etc, which corresponds to a concrete supplier answering to requirements that come from Module A. Therefore, if a requirement changes (i.e the text) I would like that automatically that change is also shown in modules B,C D...
Module A (Atributes)
Req_code (text)
Req_type
Req_text
Req_owner
[...]
Module B,C.. (Atributes)
Req_code (text)
Supplier
Base_option
Req_answer
Req_comments
[...]
The idea is, somehow, to make a linkage between Req_code in Module A and Req_code from other modules (one to many) so I can create a complete view with atributes from two modules.
I have been searching on the web but I have only found that this could be done with a dxl script. Is there any other way to do this not involving programming? I tried creating a linkage module, but I did not get what I wanted.
Thanks in advance,
Bilbinight
I think what you want is actually the companion of link-by-attribute; Link > Advanced > Create links..., but first lets do a little architecture creation.
I am assuming that B, C, etc. will be creating answers to A and, as such, will be doing the linking to the objects in A as they answer. With this information, we can create Module A with Req_code (use "Object Identifier"), Req_type (Type:string or enumerated list), Req_text (Use "Object Text"), Req_owner (Type:string), etc.
Similarly, create Modules B and C with such attributes as necessary to describe the information to be contained in them. finally create a link module "L" to contain the Link Sets for B->A and C->A. note the link module contains only link sets, not actual links. the links are stored in the source modules, i.e., Modules B and C.
Just to be safe, I would also go to File > Module Properties... select Linksets tab and set linksets in each of B and C to A through link Module L. Make mandatory and Only allow outgoing links... at the bottom.
Now we are ready to create objects in A (Insert > Object). Create some requirement text in the "Object Text" attribute or any other attributes that you want to appear in the other modules.
go to B and create an object. Link > Start Link go to the Object in A you want to link to and select Link > Make Link from Start. (It may ask the first time if you want to create a link set, just say Yes.) a little orange outgoing, and yellow incoming triangle will appear on each corresponding object.
finally, in B Analysis > Wizard... choose Out-links, DOORS links only; Next> (since we only have one anyway) choose All (formal) modules and All (Link) Modules; Next>
(choose the attributes you want to display from the other module) Next> (make sure Recursive analysis is not checked) and Finish.
This will create another column in Module B with the attributes you want to display from Module A.
You can now go to View > Save As... and give the view a name and at any time, see the linked information from Module B.
The only DXL that was written here was the DXL you wrote when you ran the Wizard.
WOW! A whole free training module in how to use DOORS!
You will want to investigate the 'Link by Attribute' tool under the Link - Advanced menu. This is on DOORS 9.6.1.10, though most 9.x should have the same.
You will be able to create links between two modules, matching up a particular attribute- and then repeating the process for each subsequent module you need to link to.

Custom naming of Aeroo report filename in Odoo

is there any way to get the report output from Aeroo named with a custom naming pattern?
I.e., for the invoice: [year]_[invoice number]...
#Raffaele, I'd recommend taking a look here and to this forum post.
You'll need to use some basic python logic in the report_custom_filename module to create the file name you need according to your requirements.
Using the following example I can create output for a filename for Sales Order/Quotation:
${(object.name or '').replace('/','_')}_${object.state == 'draft' and 'draft' or '' +'.xls'}
That looks like this:
SO039_.xls
You can add another field from the document/report you're printing out by adding another section, for example:
${(object.client_order_ref or '').replace('/','_')}_
this will add the field client_order_ref in front of the document name like this:
[Here's your client order reference]_SO039.xls
Have a look at what fields are available in the model you're trying to get this information from (eg. in my case sale.order) and I think you'll find roughly what you need there.
I have still not figured out how to add a date/timestamp like you are requesting (eg. Year), however someone else may be able to offer some advice on this.

How to extract certain information from an outlook 2007 email and send it to an excel workbook

Every day I get over 50 orders in Outlook 2007. They all come in a standard form, and I would like to be able to extract certain items to be sent to an existing excel workbook for reporting. Below is a sample of an order form. Can anyone help me with a Macro to automatically extract this information. The Items all arrive into their own folder currently, and as it is now, I manually go through these orders and enter them into our ordering system, and then I have to go back and transfer the information into a spreadsheet for reporting purposes. Some clients want different information on their report, but if I had an example I can tailor the code to choose the information I need for each report. Thank you so much for any help with this.
Require Date:
Contact info:
Client_Id:
Vehicle_No:
Move Type:
Move Require:
Price Quote:
Temp Tag:
Weight Slip:
YEAR:
MAKE:
MODEL:
VIN:
CLIENT_NAME:
GVW:
COLOR:
PLATE STATE:
EN_ROUTE:
FROM_STORAGE:
FULL_DETAILING:
CONTROL_NO:
FROM_NAME:
FROM_ADDR_1:
FROM_ADDR_2:
FROM_ADDR_3:
FROM_CITY:
FROM_STATE:
FROM_ZIP:
FROM_PHONE:
FROM_PHONE2:
FROM_PHONE_EXT:
FROM_PHONE2_EXT:
FROM_EMAIL:
TO_NAME:
TO_ADDR_1:
TO_ADDR_2:
TO_ADDR_3:
TO_CITY:
TO_STATE:
TO_ZIP:
TO_PHONE:
TO_PHONE2:
TO_PHONE_EXT:
TO_PHONE2_EXT:
TO_EMAIL:
If you have to put these data manually into ordering system anyway, maybe it would be easier to extract data from there for reporting purposes.