Group:  Microsoft Word ยป microsoft.public.word.drawing.graphics
Thread: HOW DO I CREATE MY OWN CALENDER

DotNetBag
.NET Development Newsgroups

HTVi
TV Discussion Newsgroups

Our Hot Pick: Rising Antivirus 2006 - Certified by TUV & Checkmark! Get 10% discount by entering this coupon code: ONDISCOUNT10
Rising Antivirus 2006

HOW DO I CREATE MY OWN CALENDER
REDD 04.08.2006 12:25:01

Re: HOW DO I CREATE MY OWN CALENDER
"Doug Robbins - Word MVP" <dkr[ at ]REMOVECAPSmvps.org> 05.08.2006 19:37:14
Run a macro containing the following code:

' Macro created 11/14/98 by Doug Robbins to make calendar
' Modified 11/29/98 to add shading to weekends and "non-date" cells. '
Dim Message, Title, Default, Calyear, Thisyear, nyday
Thisyear = Year(Date)
Message = "Enter the year for which you want to create a calendar" '
Set prompt.
Title = "Calendar Maker" ' Set title.
Default = Thisyear ' Set default.
Calyear = InputBox(Message, Title, Default)
With ActiveDocument.PageSetup
.Orientation = wdOrientLandscape
.TopMargin = CentimetersToPoints(2)
.BottomMargin = CentimetersToPoints(1)
.LeftMargin = CentimetersToPoints(1.5)
.RightMargin = CentimetersToPoints(1)
End With
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=13,
NumColumns _
:=38
Selection.Tables(1).Select
Selection.Cells.SetHeight RowHeight:=38, HeightRule:=wdRowHeightExactly
Selection.Cells.SetWidth ColumnWidth:=CentimetersToPoints(0.65), RulerStyle
_
:=wdAdjustNone
Selection.Rows.SpaceBetweenColumns = CentimetersToPoints(0)
Selection.Font.Size = 8
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.SelectRow
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.SelectColumn
With Selection.Cells
With .Shading
.BackgroundPatternColorIndex = wdTurquoise
End With
End With
Counter = 1
While Counter < 6
Selection.MoveRight Unit:=wdCharacter, Count:=6
Selection.Extend
Selection.MoveRight Unit:=wdCharacter, Count:=2
Selection.SelectColumn
With Selection.Cells
With .Shading
.BackgroundPatternColorIndex = wdTurquoise
End With
End With
Counter = Counter + 1
Wend
Selection.MoveLeft Unit:=wdCharacter, Count:=36
Dim days$(7)
days$(0) = "Sat": days$(1) = "Sun": days$(2) = "Mon": days$(3) = "Tue":
days$(4) = "Wed": days$(5) = "Thu": days$(6) = "Fri" ': days$(7) = "Sat"

Dim mon$(12)
mon$(1) = "January": mon$(2) = "February": mon$(3) = "March": mon$(4) =
"April": mon$(5) = "May": mon$(6) = "June": mon$(7) = "July": mon$(8) =
"August": mon$(9) = "September": mon$(10) = "October": mon$(11) =
"November": mon$(12) = "December"
Dim monthdays$(12)
If ((Calyear Mod 4 = 0 And Calyear Mod 400 = 0) Or (Calyear Mod 4 = 0
And Calyear Mod 100 <> 0)) Then
monthdays$(1) = "32": monthdays$(2) = "30": monthdays$(3) = "32":
monthdays$(4) = "31": monthdays$(5) = "32": monthdays$(6) = "31":
monthdays$(7) = "32": monthdays$(8) = "32": monthdays$(9) = "31":
monthdays$(10) = "32": monthdays$(11) = "31": monthdays$(12) = "32" Else
monthdays$(1) = "32": monthdays$(2) = "29": monthdays$(3) = "32":
monthdays$(4) = "31": monthdays$(5) = "32": monthdays$(6) = "31":
monthdays$(7) = "32": monthdays$(8) = "32": monthdays$(9) = "31":
monthdays$(10) = "32": monthdays$(11) = "31": monthdays$(12) = "32" End
If
Colno = 1
rowno = 1
While Colno < 38
ActiveDocument.Tables(1).Cell(1, Colno + 1).Range.InsertBefore
days$(Colno Mod 7)
Colno = Colno + 1
Wend
While rowno < 13
ActiveDocument.Tables(1).Cell(rowno + 1, 1).Range.InsertBefore
Left(mon$(rowno), 3)
rowno = rowno + 1
Wend
rowno = 1
While rowno < 13
Counter = 1
dayone = WeekDay(mon$(rowno) & " 1," & Calyear) If dayone
Mod 7 = 0 Then
Colno = 8
Else
Colno = (dayone Mod 7) + Counter
End If
Painter = 2
While Painter < Colno
ActiveDocument.Tables(1).Cell(rowno + 1,
Painter).Shading.BackgroundPatternColorIndex = wdTurquoise
Painter = Painter + 1
Wend
While Counter < Val(monthdays$(rowno))
ActiveDocument.Tables(1).Cell(rowno + 1,
Colno).Range.InsertBefore Counter
Colno = Colno + 1
Counter = Counter + 1
Wend
While Colno < 39
ActiveDocument.Tables(1).Cell(rowno + 1,
Colno).Shading.BackgroundPatternColorIndex = wdTurquoise
Colno = Colno + 1
Wend
rowno = rowno + 1
Wend
Selection.SelectRow
Selection.Cells.HeightRule = wdRowHeightAuto
Selection.InsertRows 1
Selection.Cells.Merge
Selection.Font.Size = 18
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertAfter Calyear



--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"REDD" <REDD[ at ]discussions.microsoft.com> wrote in message
news:611E308D-36AC-4A45-9E8D-BADC7E3BE959[ at ]microsoft.com...
[Quoted Text]
>


Home | Search | Terms | Imprint | Contact
Newsgroups Reader - provided by WiredBox.Net