We have a shared excel file at work that we use as our shift planning roster, I would like to make a C# application that would query the file and depending on a selection, it would somehow send several entries/events to that particular users's outlook calendar.
I haven't had too much luck searching for how to do this, could someone please point me in the right direction? I can figure out the excel part but I have no idea how to make that work seamlessly with Outlook.
Thanks in advance :)
Use Application.CreateItem to create entries in the user's default Calendar. You can obtain their default Calendar by getting a Folder object reference from NameSpace.GetDefaultFolder.
See also: "Create an Appointment as a Meeting on the Calendar"
Related
So far I have a Xamarin.Forms application working for Android and IOS. What I have right now is getting spreadsheets from Google Drive for user after he login with his Google Account.
What I am trying to achieve is provide an option for user to edit spreadsheet that he select. So I'm displaying a list of spreadsheets to which this account have access (from Google Drive) and then I want to load it and allow user to manipulate it (rows/cells) and save it, so to the end I have an object which represent sheet with updated values.
Some extra information, after customer choose which spreadsheet he want to use, in code I am able to read it and what I receive is an object from type List<List<object>>, which represent collection with data from rows and columns.
I am not sure what framework I can use for Xamarin.Forms and loading this type of data, also to provide different functionalities similar to "mail merge".
One from the frameworks I went through was DevExpress, but this wouldn't work in my case, because of the data types I have. I prefer if framework that you suggest is free.
I was researching if it's possible to load Google Sheets on phone and allow customer to edit data, but still no information so far.
So generally what I need is a suggestion what tool/framework I can use or is it there any other approach for having same result.
Thanks in advance
What I found is that when I get elements from Google Drive, they have property WebViewLink, which value is link for spreadsheet, where you can edit it. It will redirect you to online Google Spreadsheets or locally installed app (Sheets).
So now, instead of looking for framework or building my own logic, I am reusing Google Spreadsheets, which I find for much better option, for my case.
I am trying to create an Outlook plugin which will ask the user couple of Question like URL/Username etc when they try to install the plugin. Then want to save those data in a text file which can be access later on when needed.
Can someone please help me with this. I am very new in Plugin development.
Thanks
If your adddin is not configured on startup, display the necessary prompts when it is used for the very first time.
I have an application that holds calendar data / events and now i want people to access this data through Microsoft Outlook (optionally with Exchange as source) as well.
I want to enable them to add the calendar to Outlook, see the events (as every other Outlook/Exchange calendar), but they also should be able to edit the events as well.
I have seen that Outlook can read ICS files. But i dont think that Outlook can write / alter these files as well.
Is there someone who has a good idea / tool / practice on how to do this job?
My idea is that the best way to accomplish this, is via Exchange. Are there possibilities for my application to sync with a shared calendar in Exchange?
Outlook can save appointments as ICS files just fine (AppoinmmentItem.SaveAs(.., olICal), the problem is that when you double click on an ICS file, Outlook crates a temporary appointment in its store, so when you modify and save the appointment, the changes will not be persisted in the original ICS file.
Why not programmatically create a separate folder in Outlook and export your appointments there? You can detect changes in that folder and copy the modified appointment back to your application if necessary.
I see a few examples for dynamically CREATING appointments via .icx files, but I have not come across any samples for allowing a user to download a dynamically created .icx file to REMOVE an item from their calendar. Any suggestions? I am not sure what attributes would need to match with the existing item - start/end/ and subject? Any help would be appreciated.
Thanks!
I was just wondering if anyone has found of or knows a way of getting a .ics file to save to outlook calendar automatically when the email it is attatched to is opened without using the Microsoft.Office.Interop.Outlook; reference. the reason i dont want to use the outlook appointment object is because i believe it can cause problems if outlook is not already runnning.
i create the .ics file in a string builder and attatch it to a mail message but have been unable to figure out a way for it to save to the calendar when the email is opened.
i'm basically loooking for a different way of getting the same effect as Appointment.Save();
Any help would be much appreciated.
Hiky,
It cannot (and should not) be done. As Andreas points out that would be abused straight away by the unscrupulous.
If this is for a select intended audience, perhaps the way to handle it would be to provide instructions for various popular devices on how to "subscribe" to the calendar feed (not import as there is a difference)
Import a calendar
Import a ics file means that one imports the events as they are defined in the calendar file. There is no syncing or updates. One can import a set of events into an existing calendar.
Subscribe to a calendar
Subscribing means telling the calendar application the url of the calendar. It will then fetch the calendar at regular intervals, checking for updates. The calendar must be available publicly, and in Google’s case, there must be a robots.txt file that allows access for the google bot. Usually this would appear as a separate calendar in one’s calendar application, allowing one to “click” the calendar off or on.