What does Sensitivity of Personal mean on an Appointment in Outlook? - outlook

I have a VBA macro to schedule Outlook appointments from Excel. One of the properties of an AppointmentItem is Sensitivity. When it is set to olPrivate, the Private padlock icon turns on, and olNormal turns this off.
What do olPersonal and olConfidential do?

Related

Open Task pane from command in Outlook add-in using Office.js

I am working on an outlook add-in and I need the ability to open a task pane from one of the button commands.
Long story short the command will reach out to an API. The result of the API call will let the client side know if any user interaction is required. If it is I want to present the user with the task pane to fill in any required information.
From what I have found you should be able to call Office.addin.showAsTaskpane().
However this only works if you are using the Shared runtime requirement set which is only supported in Powerpoint, Word, and Excel.
In Outlook you can open a task pane by clicking on the ribbon button or notification item which can be added programmatically, i.e. dynamically. So, you may consider adding a notification item with a link for opening a task pane as a possible workaround. However, it requires a user interaction.
Web add-ins don't provide any way in Outlook to open a task pane programmatically. You can file a new feature request at https://aka.ms/M365dev-suggestions .
This is not supported yet
You can refer from here Duplicate question OR similar
Thanks

Shared archive between Gmail and Outlook

I need to access a Gmail account from both Gmail and Outlook. This seems to generally work OK despite the differences between labels and folders: messages with multiple labels appear in multiple Outlook folders, etc.
The one place I'm having trouble is with archived mail. Messages archived from Gmail have no label, so are not imap'd to Outlook and are not searchable from Outlook.
Is there any way to make this work, or any reasonable workflow workaround? My goals are:
Old messages remain searchable, but not in my inbox.
Single keystroke or mouse click to move a message into this state.
Searchable from both Gmail's web interface and the Outlook desktop client
I found an answer to most of my question on the Superuser Stackoverflow site: https://superuser.com/a/785136/538789 explains how to do almost everything I wanted and https://superuser.com/a/758329/538789 (another answer to the same question) fills in the remaining bit of how to make GMail's archive be searchable from Outlook.
Short answer, in case those links ever die:
In GMail's IMAP settings: auto-expunge immediate; archive the message.
In Outlook's settings: In File -> Account Settings -> Account Settings -> Email Tab -> Select your account -> Change button -> More Settings -> Advanced Tab: Under Deleted Items enable Mark Items for deletion but do not move them automatically
In Outlook: manually create an "All Mail" folder under [Gmail]

Redemption updating Outlook appointment potentially causing Outlook save error

I have an application that syncs appointments between Outlook and my application. The syncing code uses Redemption to update the appointments in Outlook.
When an appointment is added in Outlook, my code catches the item added event, generates an equivalent appointment in my application, and adds my appointment ID as a user property in the Outlook appointment then saves it.
The strange problem I'm having is this:
Single click on a day in the month view
Text box shows in the day block, type in the subject, then hit Enter
Double click the new appointment to open it right away
Make some changes such as setting a reminder
Hit save button
At this point, the Outlook will show me a message box saying "The item cannot be saved because it was changed by another user or in another window."
I find this happening quite often if I have my appointment syncing add-in enabled, but never happens if I disable it.
It almost looks like Outlook detects the change of my code saving the user property via Redemption and doesn't like it.
Is this because Redemption is accessing to the MAPI table directly to save the data, while Outlook still caches the appointment COM object when I open it too quickly. So that the appointment I opened is "outdated" by the time I want to save it again?
The Outlook version I'm testing against is Outlook 2016.
This error is returned if the following happens:
Your code (or Outlook) opens the item
Redemption opens the item
Redemption modifies the item
Redemption saves it
Outlook (or your code) modifies and saves the Outlook item
You can either make sure Outlook does not open the item in #1 or (if it is already opened) you can piggyback on the Outlook item and open it using RDOSession.GetRDOObjectfromOutlookObject at step #2.

How can I tell if Office Clipboard collection is turned on?

I want to know whether the Office clipboard collection is turned on. This is the clipboard pane that saves the last 24 clipboard data. On Office 2007 and 2010 you get it by expanding the clipboard area on the Home ribbon, and in Office 2003 you can open it from the task pane area, and selecting clipboard from the menu.
I've an Office plugin.
Although I'm doing all sort of API hooking (using IAT), I'm looking for the simplest solution.
My initial idea was to look for a window with title: "Collect and Paste 2.0" (check out yourself with Spy++), with various Windows class (e.g. in Word it is bosa_sdm_msword). However, users can check the 'Collect without showing Office clipboard', and restart Office. At this point, Office will collect data without any sign to the Window.
I am looking at registry key: Software\Microsoft\Office\%d.0\Common\General\AcbOn. This is cool, but this entry isn't saved until user exit Office. Hence, users can open a different application, turn on collection, close the window.
Office clipboard creates an icon in the notification area. See question: how to acquire list of notification area icons?. Unfortunately, this question got no answer that work. If you know the answer for this, please reply here or on that question (you'll get +1 twice!)
As I said, I'm inside the process of the application and I'm able to intercept anything that has an export symbol, but I'd like to minimize the effect on the application. For example, intercepting send message, or subclassing a Window will have an effect on the performance (and in some cases: stability) of the Office application.
In Office 2003 there is a window with a class named ('ActiveClipboard'), but I can't find it on 2007 and 2010. On the other hand I see WM_USER+2304, which I don't know what it is.
Has anyone went through that path? Any hint?
Answering my own question:
As far as I can tell, Office doesn't have any event or API in the object model to tell you whether Office is collecting the clipboard. However, the combination of these two methods is working for me:
Enumerate all windows in the system, and search for a Window with the following attributes (class name/title respectively):
Word 2010: "bosa_sdm_msword", "Collect and Paste 2.0"
Word 2003: "bosa_sdm_Microsoft Office Word 11.0", "Collect and Paste 2.0"
Word 2007: "bosa_sdm_Microsoft Office Word 12.0", "Collect and Paste 2.0"
Excel (all): bosa_sdm_XL9", "Collect and Paste 2.0"
PowerPoint (all): "bosa_sdm_Mso96", L"Collect and Paste 2.0"
If such a window exists, this means Office is collecting clipboard data.
Search registry key: HKCR\Software\Microsoft\Office\14.0\Common\General\AcbOn (REG_DWORD). A value of 1 well tell you Office is collecting data.

Outlook 2007 add-in - What event occurs when an user moves an email from a folder to another one?

I am writing an Outlook 2007 add-in. I would like to know what event occurs when user moves an email from a folder to another one (with drag and drop or with move to folder option). My application represents a spam filter, I have a Spam folder, and I need to know whenever user moves an email form inbox to spam or form spam to inbox (this means for me that the email was wrong classified and I have to retrain it).
Thanks
Install the tool Outlook Spy then try out your experiment and see what events Outlook fires under the hood
how about Folder.BeforeItemMove?
Spambayes is a popular Open Source spam filter, which works exactly the way you describe - have a look at how it does it.

Resources