I'd like to schedule a meeting, using outlook, every 3rd Friday of each month.
As an example:
July 2019 --> Friday 19th
Aug 2019 --> Friday 23th
The first week of August (starting on Thursday) should not be counted.
Is there a way to set it using the default recurring options provided by outlook?
You may set up a corresponding meeting in Outlook manually and then check its properties in VBA programmatically:
Public Sub Test()
ActiveExplorer().Selection.Item(1)
End Sub
Don't forget to select the recurring appointment item in Outlook before running the VBA sub.
Related
Slack has the /remind command that allows you to set a reminder in a channel. I am trying to have slack remind me every fortnight starting from next Saturday at 8pm to jump on a call. It seems like an extension of the help documentation.
I tried:
/remind #here Fortnightly planning and retro every fortnight from saturday at 8pm
but it didn't work and the reminder states:
I will remind space-racing “planning and retro every fortnight from saturday at 8pm” at 9AM every other Saturday (next occurrence is April 22nd).
Any thoughts? thanks in advance
I was trying to do this today also. Either of these options work:
Needs to be run the week before you want it to start:
/remind me to "ABC" every other Saturday 8pm
/remind me to "ABC" Saturday 8pm every 2 weeks
Otherwise specify the start date
/remind me to "ABC" Jun 19th 8pm every 2 weeks
/remind me to "ABC" next Saturday 8pm every 2 weeks
Slackbot told me:
I will remind you to “ABC” at 8PM every other Saturday (next occurrence is June 19th).
Only achievable when setting a reminder <7 days when the first occurrence should happen. For example if you want to set the reminder at Saturday May 9th at 8pm, the earliest you can set the reminder is Saturday May 2nd 8:01pm
Then you run a command like so:
/remind #my-channel #my-group-to-notify This is my reminder message at 8pm every other Saturday
You can skip the channel or group of course. But it's nice if you run some team ceremonies and want to set reminder to specific people to attend a meeting etc.
Hint: you always set the time as per your current timezone, if other people are in different time zone the reminder will be at their time, so you don't need to worry that 8pm might be for them later/earlier. You all will see reminder in the same moment.
You can specify the starting date by the keyword starting at the end.
/remind #my-channel #my-group-to-notify This is my reminder message at 8pm every other Saturday starting April 29nd
But you need to set this. they week before you want to get notified.
For e.g Today is 7th September 2018 ( Friday) and you want to get notified on 21st September 2018 ( Friday ) i.e second Friday after today ( Friday ).
you need to use this command on next Friday. ie. on 14th September 2018 , use this command and slack will start reminding you after every other( second ) friday.
Example Command on SlackBot :
/remind me to "Send : Time Sheet" every other Friday 11am
I am currently using slack, it’s a great team work tool. I have one issue though: when I create a remind say, /remind me “abc” at night, it sets the reminding time as 3pm. but this is not night, i would like to have 6pm, or better I can set it myself (i.e., set tonight as 6pm). How can I achieve this? - btw, i live in US west coast
You can use the time itself or a relative time:
/remind me "abc" at 6pm CST
/remind me "123" tomorrow night at 8pm CST
/remind me "youandme" 5 hours from now
You can also set your timezone data by exploring the /tz command
You can set it on the account level by following the instructions here.
I have this recurring job in our Rails service that sends out emails on Friday every two weeks. However, based on our business requirement, the first week of the "every two weeks" schedule should be this week, which means the email should be sent out this Friday, and then 2 weeks after that, and 4 weeks after that, etc.
The schedule shouldn't be broken when the service restarts. For example, after the email is sent out this Friday, if I restart the service on Saturday, it shouldn't schedule the job to Friday next week -- should still be the Friday of the week after next week. In short, the week 0 should be persistent and stick to this week.
Is it doable in ice_cube? Or are there any other better solution? Thank!
Setting "week 0" is built into IceCube. When you create the schedule, specify the start time rather than Time.now.
2.1.4 :012 > s = IceCube::Schedule.new(Time.now.beginning_of_month)
2.1.4 :013 > s.add_recurrence_rule IceCube::Rule.monthly.count(3)
2.1.4 :014 > s.all_occurrences
=> [2014-12-01 00:00:00 -0500, 2015-01-01 00:00:00 -0500, 2015-02-01 00:00:00 -0500]
Here, I told IceCube the schedule starts at the beginning of this month, although I could have used any value. IceCube computes the schedule based on that time, giving me Dec 1, Jan 1, and Feb 1.
This question is slightly related to this one.
Using the NetLogo time extension on NetLogo 5.1.0 and Windows 8.1, I would like my simulation to
represent one day as one netlogo tick,
do some daily tasks,
do some monthly task on the first day of each month,
(do some yearly and decadal tasks, but that's not relevant for this question).
According to the time documentation, this should be possible:
"So if you use the time:plus primitive to add 1 month to the date "2012-02-02", you will get "2012- 03-02"; and if you add another month you get "2012-04-02" even though February and March have different numbers of days."
However, in my minimal working example below, the output of the print command in the console is 2011 January 2, 2011 February 2, 2011 March 5 and 2011 April 5.
So, how can I schedule a task on the some day each month?
Bonus question: How can I schedule the task in the first of each month (instead of the second)?
Here's the working example:
extensions [time]
globals[
start-time
current-time
]
to setup
clear-all
reset-ticks
set start-time time:create "2011-01-01"
set current-time time:anchor-to-ticks start-time 1.0 "days"
time:anchor-schedule start-time 1.0 "days"
;time:schedule-repeating-event-with-period "observer" task do-daily 1 1.0 "days"
time:schedule-repeating-event-with-period "observer" task do-monthly 1 1 "months"
go-until
end
to do-daily
; here are the daily tasks
end
to do-monthly
; here are the monthly tasks
print time:show current-time "yyyy MMMM d"
end
to go-until
time:go-until 100
end
This was a bug that has now been fixed. See:
https://github.com/colinsheppard/time/issues/34
I got in trouble with creation of an all day event appointment using Exchange 2010 Web Services (EWS) .
According to existing requirements to create an All day event appointment object needs to have specified start and end time (i.e. 10/20/2011 12:00:00 AM), and also timezone.
But my application converted to use EWS instead of WebDAV sets start and end time converted to GMT (Greenwich) time which then sent to Exchange server.
Such technique worked perfectly with WebDAV.
But with EWS I get weird result: appointment spans on 3 (three) days, and is NOT All day event appointment !!!
My mailbox timezone set to Pacific Standard Time (using OWA interface), and Exchange server Date and Time also set to Pacific Standard time.
Appointment start and end times are set to “2011-10-20T07:00:00.000Z” and “2011-10-21T07:00:00.000Z” respectively.
In terms of local time these times are “10/20/2011 12:00:00 AM” and “10/21/2011 12:00:00 AM” respectively (considering Daylight Saving time).
If IsAllDayEvent property of appointment object set to False – appointment created correctly – not as All day, starts at 10/20/2011 12AM and ends at 10/21/2011 12AM, and occupies only one day – October /20/2011 in Outlook Calendar.
But If isAllDayEvent property of appointment object set to True (everything rest remains the same) – appointment starts at Oct/19/2011 9:00:00PM, ends at Oct/21/2011 9:00:00PM, and is NOT All day.
It might be that I’m doing something wrong, but based on described above following question raised for me:
does EWS support Greenwich Time for All day events?
If yes – what might be my mistakes?
I appreciate any suggestion.
Sincerely
Andrew
Ran into a similar problem where my all day event was being created from 4pm the previous day to 4pm the specified date of the all day event (I'm currently in pacific standard time -8 so appears to be a UTC bug on the exchange server side).
When calling Appointment.save, use the optional second parameter, SendInvitationsMode.SendToNone, e.g.:
a.save(new FolderId(WellKnownFolderName.Calendar),
SendInvitationsMode.SendToNone);
If you prefer XML see Envelope/Body/CreateItem/#SendMeetingInvitations:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
<t:RequestServerVersion Version="Exchange2007"></t:RequestServerVersion>
</soap:Header>
<soap:Body>
<m:CreateItem SendMeetingInvitations="SendToNone">
<m:SavedItemFolderId>
<t:DistinguishedFolderId Id="calendar"></t:DistinguishedFolderId>
</m:SavedItemFolderId>
<m:Items>
<t:CalendarItem>
<t:Subject>From Java EWS</t:Subject>
<t:Body BodyType="HTML">the body</t:Body>
<t:Start>2014-01-03T00:00:00Z</t:Start>
<t:End>2014-01-04T00:00:00Z</t:End>
<t:IsAllDayEvent>true</t:IsAllDayEvent>
</t:CalendarItem>
</m:Items>
</m:CreateItem>
</soap:Body>
</soap:Envelope>
In addition to Pete's answer:Note that there is a difference between what Exchange has stored and what Outlook tells you. I'm writing 'pure' SOAP XML calls to an Exchange 2010 Server calendar and viewing the results through Outlook 2003. The creation calls explicitly specify UTC times and have no other time zone information. The server has UTC settings.
If I now create an allday event like this:
<mes:CreateItem SendMeetingInvitations="SendToNone">
<mes:Items>
<typ:CalendarItem>
<typ:Subject>Alldayevent</typ:Subject>
<typ:Start>2013-01-08T01:00:00.000Z</typ:Start>
<typ:End>2013-01-08T02:00:00.000Z</typ:End>
<typ:IsAllDayEvent>true</typ:IsAllDayEvent>
... Exchange correctly stores this as (GetItem output):
<t:Start>2013-01-08T00:00:00Z</t:Start>
<t:End>2013-01-09T00:00:00Z</t:End>
<t:IsAllDayEvent>true</t:IsAllDayEvent>
If Outlook is also configured for UTC this shows as an all day event for 8. January (as expected).
However, if I set Outlook to UTC+1 (Amsterdam time), the event is displayed extending over two days (and note he checkbox being blank):
Checking 'All day' in that situation results in (GetItem output):
<t:Start>2013-01-07T23:00:00Z</t:Start>
<t:End>2013-01-09T23:00:00Z</t:End>
<t:IsAllDayEvent>true</t:IsAllDayEvent>
I'm doing a DAV to EWS conversion myself. Something that might be of interest I ran across from Best Practices for Using Exchange Web Services for Calendaring Tasks (Ex 2007, but I assume applies to Exchange 2010 and 2013)
When Exchange Web Services receives a request to create a new CalendarItem for which the start and End properties are identified by non-UTC-offset strings, the server must convert the Start and End properties to Coordinated Universal Time (UTC) before the CalendarItem can be stored. The following are the rules for the conversion to UTC:
If the request contains an explicit time zone definition via a MeetingTimeZone property, the server will apply the correct offset with regard to Standard and Daylight rules as defined by the time zone.
If no explicit time zone is defined, the current time zone of the computer that is running Exchange 2007 (specifically, the Client Access server that is processing the request) will be used.
Note:
In Exchange 2007 SP1, all unspecified time zones are set to UTC instead of the time zone of the Client Access server.
Experimenting a little bit, I found that if you do not specify a timezone, EWS will indeed apply the time as UTC. If IsAllDayEvent is true start times and end are ignored besides their date component. So an all day event turns into 12:00am-12:00am UTC or 5:00pm-5:00pm on my calendar (I'm -7 UTC also). The Best Practices article recommends using the MeetingTimeZone element, but I received an error that it was depreciated, use StartTimeZone and EndTimeZone instead. Indeed adding <StartTimeZone Id="Pacific Standard Time"> seems to work.
As far as your 3 day issue goes I was able to reproduce similar results. Here is what I suspect is happening. If you tell Exchange the start time is 7am and end time is 8am, and flag it all day, it will automatically set the start and end times to yyy-mm-ddT00:00:00 and yyy-mm-dd+1T00:00:00. So if I send an appointment for 2011-11-04T07:00:00 to 2011-11-05T07:00:00 w/o the timezone element, it thinks I'm trying to span two days. The start time 2011-11-04T07:00:00 becomes 2011-11-04T00:00:00 to 2011-11-05T00:00:00. The end time 2011-11-05T07:00:00 becomes becomes 2011-11-05T00:00:00 to 2011-11-06T00:00:00. This gets thrown on the calendar as UTC. When viewed it in Outlook or in webapp it displays it in PST as Nov 3rd 5pm - Nov 6th 5pm and looks like its spanning 3 days (but only actually only 48 hours).
You need to specified MeetingTimeZone(for ES2007) or StartTimeZone(for ES2010+). I had the same problem, and it helped me.