adding or substituting a telephone number in Outlook::_ContactItem

  • Thread starter Thread starter Acaccia
  • Start date Start date
A

Acaccia

Hi to all (still you !? :oD) ...
Thank for yours previous suggestions... Now...another question... Is it
possible to add new telephone number type (e.g. Home 3) in
Outlook::ContactItem?
Otherwise so as that the new type of number to take the place of an old name
type (e.g. Home 3 substitute Fax (office)).

P.S. in last example, don'tcare if I retrieve phone data with
get_BusinessFaxNumber method for Home 3 number, I should modify only the
name displayed in contact item!

Thank's in advance. Bye!
Andrea
 
No, it is not possible to add another field that has the same functionality
as the built-in phone number fields. Nor can you change the list of phone
number fields or the name of any built-in field. You can, however, add
another simple text field and name it whatever you like.
 
Sue Mosher said:
No, it is not possible to add another field that has the same functionality
as the built-in phone number fields. Nor can you change the list of phone
number fields or the name of any built-in field.

D'oh! :o)
You can, however, add
another simple text field and name it whatever you like.

What it means exactly? Suppose that I wish to add a new text field and name
in the in the _Inspector of a contact item (e.g. named Home 3). How can I
memorize permanently this data like any other built-in telephone number?
Thank's a lot!
Andrea
 
Sue Mosher said:
You can design a custom form, add a new field named Home 3, and add a text
box for that field to any page. If you're new at forms design, see
http://www.outlookcode.com/d/forms.htm and
http://www.outlookcode.com/d/contactform.htm

Ok, I'm looking this interesting pages at this links...
Is it possible to load a customized form directly from my add-in? In
details, I want to create an installation wizard for my add-in... how can I
automatically install a customized form (e.g. creating an office template
file (oft))?

P.S. congratulations for your book, unfortunately it is dedicated especially
to VB developers (e.g. COM add-in parts), I hope that you are thinking to
write one about COM Office add-in for VC++ developers too. We need it!

Bye
Andrea
 
You can use the FormDescription.PublishForm method to programmatically
publish a custom form. See http://www.outlookcode.com/d/distributeforms.htm
Note that .oft files are used mainly for backing up custom form designs, not
creating new items.

I don't speak C++ and have no motivation to learn it.

--
Sue Mosher, Outlook MVP
Author of
Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers



Acaccia said:
"Sue Mosher [MVP-Outlook]" <[email protected]> ha scritto nel
messaggio
You can design a custom form, add a new field named Home 3, and add a
text
box for that field to any page. If you're new at forms design, see
http://www.outlookcode.com/d/forms.htm and
http://www.outlookcode.com/d/contactform.htm

Ok, I'm looking this interesting pages at this links...
Is it possible to load a customized form directly from my add-in? In
details, I want to create an installation wizard for my add-in... how can
I
automatically install a customized form (e.g. creating an office template
file (oft))?

P.S. congratulations for your book, unfortunately it is dedicated
especially
to VB developers (e.g. COM add-in parts), I hope that you are thinking to
write one about COM Office add-in for VC++ developers too. We need it!

Bye
Andrea
 
Sue Mosher said:
You can use the FormDescription.PublishForm method to programmatically
publish a custom form.

Ok... I have follow your suggestion and works fine... but there is a
problem: I have customized a form for a contact item but how can I publicize
this form so as that all old contacts that I have in my contacts list, take
on this modifies? Infact older contacts keep default contact form. I have
tried to publicize automatically my contact form with this code (porting it
from the VB code that you has suggest to me):

CComPtr <Outlook::_ContactItem> CustomContactItem;
CComPtr <Outlook::FormDescription> CustomFormDescription;

bstrName_T =_T("myForm.oft");
bstrName = bstrName_T.copy()
hr = m_spApp->CreateItemFromTemplate(bstrName,myFolder,(IDispatch**)
&CustomContactItem);
if(FAILED(hr)) {
AfxMessageBox("Failed to load the outlook form template");
}

//setting description of form

CustomContactItem->get_FormDescription(&CustomFormDescription);
bstrName_T = _T("MyForm");
bstrName = bstrName_T.copy();
CustomFormDescription->put_Name(bstrName);
Outlook::OlFormRegistry ofr = olFolderRegistry;
CComVariant myFolder(DISP_E_PARAMNOTFOUND, VT_ERROR);

//publicize the form

CustomFormDescription->PublishForm(ofr,myFolder); //myFolder is the default
value!

//close the item
Outlook::OlInspectorClose oic = olSave;
CustomContactItem->Close(oic);

and seem that it works fine... any further suggestions?
Bye Andrea
 
You publish the form only once, then you need to change the MessageClass
property on each item to set it to the class for that form.

--
Sue Mosher, Outlook MVP
Author of
Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers



Acaccia said:
"Sue Mosher [MVP-Outlook]" <[email protected]> ha scritto nel
messaggio
You can use the FormDescription.PublishForm method to programmatically
publish a custom form.

Ok... I have follow your suggestion and works fine... but there is a
problem: I have customized a form for a contact item but how can I
publicize
this form so as that all old contacts that I have in my contacts list,
take
on this modifies? Infact older contacts keep default contact form. I have
tried to publicize automatically my contact form with this code (porting
it
from the VB code that you has suggest to me):

CComPtr <Outlook::_ContactItem> CustomContactItem;
CComPtr <Outlook::FormDescription> CustomFormDescription;

bstrName_T =_T("myForm.oft");
bstrName = bstrName_T.copy()
hr = m_spApp->CreateItemFromTemplate(bstrName,myFolder,(IDispatch**)
&CustomContactItem);
if(FAILED(hr)) {
AfxMessageBox("Failed to load the outlook form template");
}

//setting description of form

CustomContactItem->get_FormDescription(&CustomFormDescription);
bstrName_T = _T("MyForm");
bstrName = bstrName_T.copy();
CustomFormDescription->put_Name(bstrName);
Outlook::OlFormRegistry ofr = olFolderRegistry;
CComVariant myFolder(DISP_E_PARAMNOTFOUND, VT_ERROR);

//publicize the form

CustomFormDescription->PublishForm(ofr,myFolder); //myFolder is the
default
value!

//close the item
Outlook::OlInspectorClose oic = olSave;
CustomContactItem->Close(oic);

and seem that it works fine... any further suggestions?
Bye Andrea
 
Back
Top