PDA

View Full Version : Ribbon Calendar DatePicker Word 2007-2010



Excel Fox
04-28-2011, 03:53 PM
A word based ribbon calendar. Just created for fun. Feedback would be appreciated :)

In case you'd like to have this in Excel, raise your hand ;)

And for those of you who are interested in the XML



<!--Ribbon Examples from ExcelFox.com-->
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="CalendarLoad"><!--For Excel 2010, use 2009/07 instead of 2006/01-->
<ribbon>
<tabs>
<tab id="tabActiveMonth" label="Calendar" insertAfterMso="TabView" keytip="C">
<group id="grpActiveMonth" getLabel="GroupLabel">
<box boxStyle="horizontal" id="OuterBoxControl">
<box boxStyle="vertical" id="InnerBoxControl">
<comboBox
id="cboMonth"
screentip="Month"
supertip="Select the desired month"
sizeString="XXXXXXXXXXXX"
onChange="MonthOnChange"
getItemID="MonthItemID"
getItemCount="MonthItemCount"
getItemLabel="MonthItemLabel"
keytip="DM"
getText="MonthGetText">
<!--<item id="cboMonth01" label="Jan"/>
<item id="cboMonth02" label="Feb"/>
<item id="cboMonth03" label="Mar"/>
<item id="cboMonth04" label="Apr"/>
<item id="cboMonth05" label="May"/>
<item id="cboMonth06" label="Jun"/>
<item id="cboMonth07" label="Jul"/>
<item id="cboMonth08" label="Aug"/>
<item id="cboMonth09" label="Sep"/>
<item id="cboMonth10" label="Oct"/>
<item id="cboMonth11" label="Nov"/>
<item id="cboMonth12" label="Dec"/>-->
</comboBox>
<comboBox
id="cboYear"
screentip="Month"
supertip="Select the desired month"
sizeString="XXXXXXXXXXXX"
onChange="YearOnChange"
getItemID="YearItemID"
getItemCount="YearItemCount"
getItemLabel="YearItemLabel"
keytip="DY"
getText="YearGetText">
<!--<item id="cboYear12" label="2010"/>
<item id="cboYear11" label="2011"/>
<item id="cboYear10" label="2012"/>
<item id="cboYear09" label="2013"/>
<item id="cboYear08" label="2014"/>
<item id="cboYear07" label="2015"/>
<item id="cboYear06" label="2016"/>
<item id="cboYear05" label="2017"/>
<item id="cboYear04" label="2018"/>
<item id="cboYear03" label="2019"/>
<item id="cboYear02" label="2020"/>
<item id="cboYear01" label="2021"/>-->
</comboBox>
<comboBox
sizeString="XXXXXXXXXXXX" getText="DateTypeGetText"
id="cboDateType" onChange="DateTypeOnChange">
<item id="itmDT01" label="General Date"/>
<item id="itmDT02" label="Long Date"/>
<item id="itmDT03" label="Short Date"/>
</comboBox>
</box>
</box>
<box boxStyle="horizontal" id="Box1">
<box boxStyle="vertical" id="InnerBox01">
<toggleButton id="btnWeedDay01" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay01" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay15" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox02">
<toggleButton id="btnWeedDay02" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay02" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay16" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox03">
<toggleButton id="btnWeedDay03" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay03" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay17" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox04">
<toggleButton id="btnWeedDay04" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay04" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay18" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox05">
<toggleButton id="btnWeedDay05" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay05" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay19" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox06">
<toggleButton id="btnWeedDay06" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay06" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay20" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox07">
<toggleButton id="btnWeedDay07" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay07" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay21" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox08">
<toggleButton id="btnWeedDay08" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay08" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay22" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox09">
<toggleButton id="btnWeedDay09" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay09" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay23" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox10">
<toggleButton id="btnWeedDay10" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay10" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay24" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox11">
<toggleButton id="btnWeedDay11" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay11" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay25" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox12">
<toggleButton id="btnWeedDay12" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay12" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay26" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox13">
<toggleButton id="btnWeedDay13" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay13" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay27" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox14">
<toggleButton id="btnWeedDay14" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction"/>
<toggleButton id="btnDay14" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
<toggleButton id="btnDay28" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip"/>
</box>
<box boxStyle="vertical" id="InnerBox15">
<toggleButton id="btnWeedDay15" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction" getVisible="DayVisible"/>
<toggleButton id="btnFalseDay01" label="X" enabled="false" getVisible="DayVisible"/>
<toggleButton id="btnDay29" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip" getVisible="DayVisible"/>
</box>
<box boxStyle="vertical" id="InnerBox16">
<toggleButton id="btnWeedDay16" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction" getVisible="DayVisible"/>
<toggleButton id="btnFalseDay02" label="X" enabled="false" getVisible="DayVisible"/>
<toggleButton id="btnDay30" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip" getVisible="DayVisible"/>
</box>
<box boxStyle="vertical" id="InnerBox17">
<toggleButton id="btnWeedDay17" getLabel="WeekDayLabel" getPressed="WeekDayPressed" onAction="WeekDayOnAction" getVisible="DayVisible"/>
<toggleButton id="btnFalseDay03" label="X" enabled="false" getVisible="DayVisible"/>
<toggleButton id="btnDay31" getLabel="DayLabel" getPressed="DayPressed" onAction="DayAction" getKeytip="DayGetKeyTip" getVisible="DayVisible"/>
</box>
</box>
</group>
</tab>
</tabs>
</ribbon>
</customUI>



https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA (https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA)

Ian McDonald
07-27-2011, 01:20 AM
Hi - great little application and yes I agree it should be part of the standard set of ribbon controls

Did you ever produce a drop down (ie more classic style) version similar to the dtPicker ocx calendar control ?


Regards



https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA (https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA)
https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgxesLhWNr_zNP0GUdh4AaABAg.9hI1CQJMLLo9hWn2pGBe SS (https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgxesLhWNr_zNP0GUdh4AaABAg.9hI1CQJMLLo9hWn2pGBe SS)
https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgzkRujoMw9PblmXDQ14AaABAg.9hJRnEjxQrd9hJoCjomN I2 (https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgzkRujoMw9PblmXDQ14AaABAg.9hJRnEjxQrd9hJoCjomN I2)
https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgzPZbG7OvUkh35nXDd4AaABAg.9hJOZEEZa6p9hJqLC7El-w (https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgzPZbG7OvUkh35nXDd4AaABAg.9hJOZEEZa6p9hJqLC7El-w)
https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgwUcEpm8u6ZW3uOHXx4AaABAg.9hIlxxGY7t49hJsB2PWx C4 (https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgwUcEpm8u6ZW3uOHXx4AaABAg.9hIlxxGY7t49hJsB2PWx C4)
https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgyvDj6NWT1Gxyy2JyR4AaABAg.9hIKlNPeqDn9hJskm92n p6 (https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgyvDj6NWT1Gxyy2JyR4AaABAg.9hIKlNPeqDn9hJskm92n p6)
https://www.youtube.com/watch?v=pkhazgI3LAo&lc=Ugwy7qx_kG9iUmMVO_F4AaABAg.9hI2IGUdmTW9hJuyaQaw qx (https://www.youtube.com/watch?v=pkhazgI3LAo&lc=Ugwy7qx_kG9iUmMVO_F4AaABAg.9hI2IGUdmTW9hJuyaQaw qx)
https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgxesLhWNr_zNP0GUdh4AaABAg.9hI1CQJMLLo9hJwTB9Jl ob (https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgxesLhWNr_zNP0GUdh4AaABAg.9hI1CQJMLLo9hJwTB9Jl ob)
https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgyyQWYVP1OnCqavb-x4AaABAg (https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgyyQWYVP1OnCqavb-x4AaABAg)
https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgwJKKmExZ1FdZVDJf54AaABAg (https://www.youtube.com/watch?v=pkhazgI3LAo&lc=UgwJKKmExZ1FdZVDJf54AaABAg)
https://www.youtube.com/watch?v=pkhazgI3LAo&lc=Ugz_p0kVGrLntPtYzCt4AaABAg (https://www.youtube.com/watch?v=pkhazgI3LAo&lc=Ugz_p0kVGrLntPtYzCt4AaABAg)
https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA (https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA)

littleiitin
09-06-2011, 07:56 AM
Nice application

https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA (https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA)
https://www.youtube.com/watch?v=bRd4mJglWiM&lc=UgxRmh2gFhpmHNnPemR4AaABAg.A0opm95t2XEA0q3Kshmu uY (https://www.youtube.com/watch?v=bRd4mJglWiM&lc=UgxRmh2gFhpmHNnPemR4AaABAg.A0opm95t2XEA0q3Kshmu uY)
https://www.youtube.com/watch?v=bRd4mJglWiM&lc=UgxRmh2gFhpmHNnPemR4AaABAg (https://www.youtube.com/watch?v=bRd4mJglWiM&lc=UgxRmh2gFhpmHNnPemR4AaABAg)
https://eileenslounge.com/viewtopic.php?p=318868#p318868 (https://eileenslounge.com/viewtopic.php?p=318868#p318868)
https://eileenslounge.com/viewtopic.php?p=318311#p318311 (https://eileenslounge.com/viewtopic.php?p=318311#p318311)
https://eileenslounge.com/viewtopic.php?p=318302#p318302 (https://eileenslounge.com/viewtopic.php?p=318302#p318302)
https://eileenslounge.com/viewtopic.php?p=317704#p317704 (https://eileenslounge.com/viewtopic.php?p=317704#p317704)
https://eileenslounge.com/viewtopic.php?p=317704#p317704 (https://eileenslounge.com/viewtopic.php?p=317704#p317704)
https://eileenslounge.com/viewtopic.php?p=317857#p317857 (https://eileenslounge.com/viewtopic.php?p=317857#p317857)
https://eileenslounge.com/viewtopic.php?p=317541#p317541 (https://eileenslounge.com/viewtopic.php?p=317541#p317541)
https://eileenslounge.com/viewtopic.php?p=317520#p317520 (https://eileenslounge.com/viewtopic.php?p=317520#p317520)
https://eileenslounge.com/viewtopic.php?p=317510#p317510 (https://eileenslounge.com/viewtopic.php?p=317510#p317510)
https://eileenslounge.com/viewtopic.php?p=317547#p317547 (https://eileenslounge.com/viewtopic.php?p=317547#p317547)
https://eileenslounge.com/viewtopic.php?p=317573#p317573 (https://eileenslounge.com/viewtopic.php?p=317573#p317573)
https://eileenslounge.com/viewtopic.php?p=317574#p317574 (https://eileenslounge.com/viewtopic.php?p=317574#p317574)
https://eileenslounge.com/viewtopic.php?p=317582#p317582 (https://eileenslounge.com/viewtopic.php?p=317582#p317582)
https://eileenslounge.com/viewtopic.php?p=317583#p317583 (https://eileenslounge.com/viewtopic.php?p=317583#p317583)
https://eileenslounge.com/viewtopic.php?p=317605#p317605 (https://eileenslounge.com/viewtopic.php?p=317605#p317605)
https://eileenslounge.com/viewtopic.php?p=316935#p316935 (https://eileenslounge.com/viewtopic.php?p=316935#p316935)
https://eileenslounge.com/viewtopic.php?p=317030#p317030 (https://eileenslounge.com/viewtopic.php?p=317030#p317030)
https://eileenslounge.com/viewtopic.php?p=317030#p317030 (https://eileenslounge.com/viewtopic.php?p=317030#p317030)
https://eileenslounge.com/viewtopic.php?p=317014#p317014 (https://eileenslounge.com/viewtopic.php?p=317014#p317014)
https://eileenslounge.com/viewtopic.php?p=316940#p316940 (https://eileenslounge.com/viewtopic.php?p=316940#p316940)
https://eileenslounge.com/viewtopic.php?p=316927#p316927 (https://eileenslounge.com/viewtopic.php?p=316927#p316927)
https://eileenslounge.com/viewtopic.php?p=316875#p316875 (https://eileenslounge.com/viewtopic.php?p=316875#p316875)
https://eileenslounge.com/viewtopic.php?p=316704#p316704 (https://eileenslounge.com/viewtopic.php?p=316704#p316704)
https://eileenslounge.com/viewtopic.php?p=316412#p316412 (https://eileenslounge.com/viewtopic.php?p=316412#p316412)
https://eileenslounge.com/viewtopic.php?p=316412#p316412 (https://eileenslounge.com/viewtopic.php?p=316412#p316412)
https://eileenslounge.com/viewtopic.php?p=316254#p316254 (https://eileenslounge.com/viewtopic.php?p=316254#p316254)
https://eileenslounge.com/viewtopic.php?p=316046#p316046 (https://eileenslounge.com/viewtopic.php?p=316046#p316046)
https://eileenslounge.com/viewtopic.php?p=317050&sid=d7e077e50e904a138c794e1f2115da95#p317050 (https://eileenslounge.com/viewtopic.php?p=317050&sid=d7e077e50e904a138c794e1f2115da95#p317050)
https://www.youtube.com/@alanelston2330 (https://www.youtube.com/@alanelston2330)
https://www.youtube.com/watch?v=yXaYszT11CA&lc=UgxEjo0Di9-9cnl8UnZ4AaABAg.9XYLEH1OwDIA35HNIei0z- (https://www.youtube.com/watch?v=yXaYszT11CA&lc=UgxEjo0Di9-9cnl8UnZ4AaABAg.9XYLEH1OwDIA35HNIei0z-)
https://eileenslounge.com/viewtopic.php?p=316154#p316154 (https://eileenslounge.com/viewtopic.php?p=316154#p316154)
https://www.youtube.com/watch?v=TW3l7PkSPD4&lc=UgwAL_Jrv7yg7WWC8x14AaABAg (https://www.youtube.com/watch?v=TW3l7PkSPD4&lc=UgwAL_Jrv7yg7WWC8x14AaABAg)
https://teylyn.com/2017/03/21/dollarsigns/#comment-191 (https://teylyn.com/2017/03/21/dollarsigns/#comment-191)
https://eileenslounge.com/viewtopic.php?p=317050#p317050 (https://eileenslounge.com/viewtopic.php?p=317050#p317050)
https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA (https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA)

aselim
10-20-2012, 10:55 PM
Yes, nice application.

Rick Rothstein
10-22-2012, 09:41 PM
In case you'd like to have this in Excel, raise your hand ;)


http://www.thecodecage.com/forumz/images/smilies/smack.gif

Excel Fox
10-28-2012, 11:13 PM
Rick, I'll get back to you on this one.

Excel Fox
11-01-2012, 12:04 AM
And the Excel ribbon based date picker! Tested in 2007. Should work in 2010 as well. May not work in any higher version. Feedback is welcome.

Rick Rothstein
11-01-2012, 01:34 AM
And the Excel ribbon based date picker! Tested in 2007. Should work in 2010 as well. May not work in any higher version. Feedback is welcome.

This is a great concept and I really like it! Here are some immediate reaction comments (in no particular order of importance)...

1. Selecting the month sometimes shows the next month until you click a day number. For example, with Octboer 31, 2012 selected, choose February from the month drop-down... March displays as the month... click a day number and it corrects itself to February.

2. Visual thing... On my copy of XL2007, the day numbers do not seem evenly spaced across their rows (1 and 2 seem further apart than 2 and 3; 5 and 6 seem further apart than 6 and 7, and there is a couple more examples as well).

3. When the year drop-down is opened, can the current year be position in the middle of the list rather than at the bottom of the list? I think that would be handier as most new selections for the year will usually be within a few years either side of the current year.

4. Can you change the functioning of the date format button to allow the user to type in his own format pattern? I think it would be useful if I could specify, say, d-mmm-yy directly in the text field for the date format button rather than to have to custom format the cell individually.

Excel Fox
11-01-2012, 01:49 AM
Excellent feedback! I'll see what I can do about those Rick.

And I'm happy you liked it. I didn't really give much credit to this when I was developing this last year, and I didn't particularly like the layout (still don't), as the Ribbon doesn't support more than 3 rows of elements. But I did think that someone would find it handy (90+ downloads isn't bad!).

Excel Fox
11-01-2012, 01:57 AM
Tried to replicate the first point, but I couldn't. I tried quite a few other possibilities, but it seems that any change to the month or year drop-down always (and I mean always) select day 1 of that month. Can you check that again and let me know Rick?

Rick Rothstein
11-01-2012, 01:57 AM
...and I didn't particularly like the layout (still don't), as the Ribbon doesn't support more than 3 rows of elements.

I think it was an excellent compromise... easy to understand, easy to use.

Rick Rothstein
11-01-2012, 02:12 AM
Tried to replicate the first point, but I couldn't. I tried quite a few other possibilities, but it seems that any change to the month or year drop-down always (and I mean always) select day 1 of that month. Can you check that again and let me know Rick?
Checked again and it still operates the way I posted. Here is how I make it happen. Select October and then click the 31 button (this enters the date into the active cell), next click the down arrow for the month drop-down and select February from the list... March display with day 2 selected**... click any (valid) day button and the month name changes to February with the clicked day selected.

** I just noticed something that may help in tracking down the problem. For the year 2012, March 2nd was selected, but for a non-leap year, March 3rd is selected instead. It is as though your calculation method is to go to the last day of the month and subtract the new month's last day number from it... that seems to be the way the day is being generated for me... don't have any idea about the month that is being select though. When I get some free time, I will try examining your code for myself to see if I can spot what is happening.

Oh, I forget to mention... I am using XL2007 (SP2) if that might end of mattering.

Excel Fox
11-01-2012, 02:31 AM
Tried again. It's always selecting the 1st day. I guess it's the SP2. I'll try on another machine (probably at work) and get back to you on this one.

Admin
11-01-2012, 08:04 AM
Great work Excel Fox !!

It works fine on 2010.

RobertVb
03-08-2013, 08:55 AM
Do you have the Xml as well??

Looks great!!

Robert

Excel Fox
03-08-2013, 05:38 PM
The XML is posted in the original post Robert

RobertVb
03-12-2013, 06:18 AM
Thank you for your reply,

Did i miss the call bacl functions, ???

Regards,
Robert

RobertVb
03-12-2013, 06:57 AM
Alt F11,...

RobertVb
03-12-2013, 07:24 AM
2 minor things,

first your screentip for year, gives also month instead of year,

two: btnWeedDay should be btnWeekDay i guessed,...,
which is not so important, because you used it through your whole application,
because, just to let you know,...

(changed the year myself, because 35 years ahead, and back, where just a little bit to much for me...),

Only thing overhere is that the day highlighted is wednesday, although it tuesday here,...
try to figure it out in your code,

windows settings??
Timedifference,???

Regards,

Robert

RobertVb
03-12-2013, 07:53 AM
'Callback for btnWeedDay1 getLabel
Sub WeekDayLabel(control As IRibbonControl, ByRef returnedVal)
'Stop
returnedVal = Left(WeekdayName(Weekday(DateSerial(Year(dtmDate), Month(dtmDate), Val(Right(control.ID, 2))))), 2)

returnedVal = Left(WeekdayName(Weekday(DateSerial(Year(dtmDate), Month(dtmDate), Val(Right(control.ID, 2))), vbUseSystemDayOfWeek)), 2)

End Sub

changing in system day of weeks will do the trick!
(was now on vbSunday),

Thank you for your co-operation and application,!!!

Regards,

Robert

Dexter1759
08-05-2013, 02:45 PM
Hi,

The end of last week I was looking for a drop-down ribbon calendar and cam across this post. It inspired me to come up with my own solution as I wanted to have a couple of drop-down calendars, that could be used for something like, Start Date and End Date in conjunction with a "Run Report" button.

I ended up creating the following as an initial test:

1091

1090

The sample has two calendars in but, it could easily be 1, 3, 4, 5, etc....

The xml for a single calendar is as follows:


<box id="box_cal1" boxStyle="horizontal">
<labelControl id="lblCalName_cal1"
getLabel="getCalendarLabel"
getVisible="getCalendarLabelVisibility"
tag="rxgal_cal1"/>
<buttonGroup id="butGrp_cal1">
<button id="butPrevYear_cal1"
imageMso="OutlinePromoteToHeading"
onAction="rxbut_PrevYear"
tag="rxgal_cal1"
screentip="Previous Year"/>
<button id="butPrevMonth_cal1"
imageMso="OutlinePromote"
onAction="rxbut_PrevMonth"
tag="rxgal_cal1"
screentip="Previous Month"/>
<gallery id="rxgal_cal1"
getLabel="rxgal_getLabel"
columns="7"
rows="7"
getItemCount="rxgal_getItemCount"
getItemLabel="rxgal_getItemLabel"
onAction="rxgal_Click"
showItemLabel="true"
tag="rxgal_cal1"
getScreentip="rxgal_getScreentip"
getSupertip="rxgal_getSupertip">
<button id="butYesterday_cal1"
imageMso="ProposeNewTime"
label="Yesterday"
onAction="rxbut_Yesterday"
tag="rxgal_cal1"/>
<button id="butToday_cal1"
imageMso="AccessListEvents"
label="Today"
onAction="rxbut_Today"
tag="rxgal_cal1"/>
<button id="butTomorrow_cal1"
imageMso="RecoverInviteToMeeting"
label="Tomorrow"
onAction="rxbut_Tomorrow"
tag="rxgal_cal1"/>
</gallery>
<button id="butNextMonth_cal1"
imageMso="OutlineDemote"
onAction="rxbut_NextMonth"
tag="rxgal_cal1"
screentip="Next Month"/>
<button id="butNextYear_cal1"
imageMso="OutlineDemoteToBodyText"
onAction="rxbut_NextYear"
tag="rxgal_cal1"
screentip="Next Year"/>
</buttonGroup>
</box>


To add further calendars, copy and paste the above and do a quick Find & Replace on "_cal1" to replace it with "_cal2", "_cal3", etc.

There is a sub routine called "InitialiseCalendars", that needs changing for each calendar you add. Below is the routine as required for the screenshots above. It allows you to set the default date, the label, label visibilty, screentip and supertip per calendar. The default dates are required, everything else is optional.


Sub InitialiseCalendars()

Const sKEY_CAL1 As String = "rxgal_cal1"
Const sKEY_CAL2 As String = "rxgal_cal2"

Set colDates = New Dictionary
Set colCalendarLabels = New Dictionary
Set colCalLabelVisible = New Dictionary
Set colCalScreentips = New Dictionary
Set colCalSupertips = New Dictionary

'Set default Dates
'The key must match the Ribbon ID for the gallery control that represents the calendar
colDates.Add sKEY_CAL1, Date
colDates.Add sKEY_CAL2, Date

colCalendarLabels.Add sKEY_CAL1, "Start:"
colCalendarLabels.Add sKEY_CAL2, "End:"

colCalLabelVisible.Add sKEY_CAL1, True
colCalLabelVisible.Add sKEY_CAL2, True

colCalScreentips.Add sKEY_CAL1, "Start Date"
colCalScreentips.Add sKEY_CAL2, "End Date"

colCalSupertips.Add sKEY_CAL1, "The start date from which you want to run the report."

End Sub

Attached is the XLAM file example, I'd love you feedback on way to improve it.

It hasn't been extensively tested and has only been tested on 2007 (SP2 I think).

Dex

Admin
08-12-2013, 08:14 PM
Hi Dex,

Welcome to ExcelFox !!!

:cool:

Working fine in Xl 2010 on Win 7.

Thanks for sharing !

Dexter1759
08-15-2013, 01:03 PM
Not a problem, thanks for testing it :)

amar.kshirsagar
08-26-2013, 04:56 PM
it is great ....:):) really helpful

Excel Fox
09-23-2013, 09:07 AM
Wow! Dexter, this is simply awesome. I didn't realize you had gone ahead and put together a much better gallery based calendar. Here's my attempt a few months before at http://www.excelfox.com/forum/f10/ribbon-datepicker-calendar-control-for-excel-2007-2010-a-575/

Clearly you've given it a bit more thought than me (I'll probably use your Ribbon Calendar, or shamelessly steal some of your idea).