Change Zoom Settings in Outlook via C# VSTO - outlook

I want to change the Zoom Percentage of a Mail Item via C# or VB, that doesnt matter. Ive created an Project but its not possible to access the corret variable. Is this even possible?
I dont want to change the Font Size, just the Zoom Percentage while writing an email.
NOT of the Whole Outlook, just of the Mail Item.
thanks <3

You can use the Word object model for changing the zoom level of a particular mail item shown in the inspector window:
Dim Document As Object
'
Set Document = inspector.WordEditor
Document.Windows.Item(1).View.Zoom.Percentage = 200 '200 %
The Inspector.WordEditor property returns the Microsoft Word Document Object Model of the message being displayed. Note, you need to add a COM reference to the Word object model to get access to the Word methods and properties.
You may find the Adjusting Outlook's Zoom Setting in Email article helpful.

Related

Getting cursor position in mailItem htmlbody

I am need to achieve the following behavior.
I have added some stuff to the mailItem.HTMLbody, a table with some data and a couple of links.
My plugin has a button, which when adds some html after the position of the cursor. This event may occure several times.
I have tried using WordDocument.selection class for this, but it works with the mailItem.body rather than the mailItem.HTMLBody.
How should I go about this?
Thank you in advance.
Outlook does not use an HTML editor on top of HTMLBody. It uses the Word editor accessible from Inspector.WordEditor.

How to highlight Outlook contacts

Is there a way how to display some contacts from Outlook's contact list in different manner?
So far I've seen, that there is quite some customization available for Office applications, however I haven't seen anything even remotely close to this functionality.
No, there is no way to display Outlook contacts in a different color.
Well, indeed this is what I found - it is possible only via adding of the new AutoFormatRule to the Outlook.TableView.
Sample code would be something like:
Outlook.AutoFormatRule autoFormatRule = tableView.AutoFormatRules.Add("My own rule");
autoFormatRule.Font.Bold = true;
autoFormatRule.Font.Strikethrough = true;
autoFormatRule.Filter = <filtering>;
tableView.Save();
tableView.Apply();
For filling in 'filtering' part one can use DASL Queries
But I still need to figure out what to do with the non-list views.
I can suggest only one possible way - replace the default folder view with a custom form where you can display entries in the way you need. See Creating Adjacent Windows In Outlook for more information.
Also you may consider using Add-in Express. They provide such layouts out of the box. See Advanced Outlook view and form regions.
Note, you can use any .net controls on top of custom forms.

Visual Studio Lightswitch Auto Fill for existing data

I am new to using visual studio lightswitch and I have formed a table with data, but I want to know if there's a way I can get it so that when I start typing, suggestions will come up. As a lot of the data (i.e. Company Name) is repeated throughout, so it would save me typing it out in full every time. I don't want to use a drop box as it cant be limited. I have got this far without typing code so if we could keep it basic that would be great. Thanks
I am really desperate; Any help or comments would be much appreciated
LS HTML 2013 supports filtering/searching collections out of the box, just mark all searchable fields of your entities as "Is Searchable" and display the filter/search box on your screen, e.g. having your Customers displayed on a BrowseCustomers screen, you can trigger this capability as following:
myapp.BrowseCustomers.created = function (screen) {
screen.Customers.showSearch();
};
if you need "more control", you can add a dataitem to the screen (e.g. string "FilterTerm"), bind it to the query and tweak the LS createQuery method for your specific needs (e.g. the Customers VisualCollection), a good example can be found at Progressive insight on autocomplete as you type in the Lightswitch html Client

How do I separate inline images and attaches using MAPI?

My program uses MAPI for working with Exchange mailboxes. The problem is if a user fires up Outlook, adds a file as an attachment and also opens Paint, selects a region there, copies it into clipboard and pastes into the message body the resulting message showns two attachments.
More specifically, the program calls IMAPIMessage::GetAttachmentsTable() to retrieve the attachments table and that table contains two objects. Is there a way a program can decide whether the "attachment" is really an attached file or a portion of inline content?
You will need to check whether the HTML body (through the img tag) refers to the attachment, either through img:cid and PT_ATTACH_CONENTS_ID property or though the file name (PR_ATTACH_LONG_FILENAME) or contnet location (PR_ATTACH_COMTENT_LOCATION).
The property you are looking for is PR_RENDERING_POSITION (0x370B0003). A -1 means that the attachment is a "normal" attachment and not in-line. If the value is anything other than -1, then that indicates an in-line attachment and the value is the position in the body that the attachment should be rendered at.
Here is the MSDN page describing it.
EDIT:
Dmitry, I do not agree with your comment. I have HTML email messages with in-line attachments and the PR_RENDERING_POSITION is working as described in the MSDN page I posted.

How to identify or read nsf mails containing inline image

I am trying to read mails programmatically in VB6. but i am unable to read mails containing inline images or HTML code like hyper link. Can anyone suggest me the way to read this type of mails.
EDIT:
I am not getting any error message but
nsfDocument.GETITEMVALUE("Body")(0) returns only text.
images are not shown.
You may want to try a third party API to help, such as the Midas Rich Text C++ API from Genii Software. http://www.geniisoft.com/showcase.nsf/MidasCPP
Or try the code examples shown on this site to gain access to the Notes Document in HTML form: http://searchdomino.techtarget.com/tip/0,289483,sid4_gci1284906,00.html
The GetItemValue method of the Document class returns rich-text item values as an array of strings, with all rich text styling removed. The "body" field in a Notes email is generally rich text. So, you should look into using the GetFirstItem method, instead. That will return a NotesRichTextItem object (for the body field). From that object, you can access the styling of the text, hyperlinks and file attachments, etc. (I do not believe that you can access in-line images at all via the "back-end" COM classes - I think for that, you will need to drop down to use the C API classes).
Here's a quick sample of how to get a NotesRichTextItem handle:
Dim doc As NotesDocument
Dim rtitem As Variant
... get the document
Set rtitem = doc.GetFirstItem( "Body" )
If rtitem.Type = RICHTEXT Then
.. work with rtItem
End If
Here is the doc page for the NotesRichTextItemClass:
http://publib-b.boulder.ibm.com/lotus/c2359850.nsf/2e73cbb2141acefa85256b8700688cea/dc72d312572a75818525731b004a5294?OpenDocument
And here is a starting point for the C API docs:
http://www14.software.ibm.com/webapp/download/nochargesearch.jsp?k=ALL&S_TACT=104CBW71&status=Active&q=Lotus+%22C+API%22

Resources