Attendee availability online

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Dan Williams

    Attendee availability online

    Can anyone tell me how to go about creating my own custom ASP page that can
    show several different peoples availability from their Outlook/Exchange 2000
    calendars?

    I don't want to have to ask users to setup permissions for their respective
    calendars, i just want to be able to see if they're busy or not.

    Many thanks

    Dan Williams.


  • Ray at

    #2
    Re: Attendee availability online

    People don't need special permissions to see if others are free or not. You
    can use OWA, start an appointment item, select your requested attendees, and
    then view the availability of each recipient without actually sending the
    appointment.

    Ray at work

    "Dan Williams" <dan_williams@n ewcross-nursing.com> wrote in message
    news:bf3qsc$sub $1@hercules.bti nternet.com...[color=blue]
    > Can anyone tell me how to go about creating my own custom ASP page that[/color]
    can[color=blue]
    > show several different peoples availability from their Outlook/Exchange[/color]
    2000[color=blue]
    > calendars?
    >
    > I don't want to have to ask users to setup permissions for their[/color]
    respective[color=blue]
    > calendars, i just want to be able to see if they're busy or not.
    >
    > Many thanks
    >
    > Dan Williams.
    >
    >[/color]


    Comment

    • Dan Williams

      #3
      Re: Attendee availability online

      Sorry, i should have mentioned that i wanted an alternative to OWA.

      I'd like to be able to use some form of CDO or ActiveX component to create
      my own
      ASP pages.

      Dan

      "Ray at <%=sLocation% >" <ask@me.forit > wrote in message
      news:u6UURS7SDH A.1320@TK2MSFTN GP12.phx.gbl...[color=blue]
      > People don't need special permissions to see if others are free or not.[/color]
      You[color=blue]
      > can use OWA, start an appointment item, select your requested attendees,[/color]
      and[color=blue]
      > then view the availability of each recipient without actually sending the
      > appointment.
      >
      > Ray at work
      >
      > "Dan Williams" <dan_williams@n ewcross-nursing.com> wrote in message
      > news:bf3qsc$sub $1@hercules.bti nternet.com...[color=green]
      > > Can anyone tell me how to go about creating my own custom ASP page that[/color]
      > can[color=green]
      > > show several different peoples availability from their Outlook/Exchange[/color]
      > 2000[color=green]
      > > calendars?
      > >
      > > I don't want to have to ask users to setup permissions for their[/color]
      > respective[color=green]
      > > calendars, i just want to be able to see if they're busy or not.
      > >
      > > Many thanks
      > >
      > > Dan Williams.
      > >
      > >[/color]
      >
      >[/color]


      Comment

      • Dan Williams

        #4
        Re: Attendee availability online

        You people need to get out more

        Dan


        "Ray at <%=sLocation% >" <ask@me.forit > wrote in message
        news:uk6h5t7SDH A.2724@TK2MSFTN GP10.phx.gbl...[color=blue]
        > Heh heh. I thought about it, but then I was like, "well, it does have to[/color]
        do[color=blue]
        > with asp, vbscript (perhaps), exchange clients, and exchange[/color]
        applications."[color=blue]
        > Exchange admin is another story though. And I was afraid Aaron would yell
        > at me for posting his links in Exchange groups. :P
        >
        > Ray at work
        >
        > "Robert Cohen" <jerrygarcia@gr atefuldead.com> wrote in message
        > news:OcN$vp7SDH A.2256@TK2MSFTN GP11.phx.gbl...[color=green]
        > > and did I forget, I don't want to do any script that has the letters "c"[/color]
        > or[color=green]
        > > "d" in it. :-) Sorry, just being silly.
        > >
        > > btw, Ray, why didn't you send one of your appropriate asp.faq links? I
        > > thought this huge cross post would have warranted one of your[/color][/color]
        appropriate[color=blue][color=green]
        > > links.
        > >
        > >
        > >[/color]
        >
        >[/color]


        Comment

        • Ray at

          #5
          Re: Attendee availability online

          Now there's a good way to encourage people to help you in the future.

          echo Dan Williams>>vende tta.log

          Ray at work

          "Dan Williams" <dan_williams@n ewcross-nursing.com> wrote in message
          news:bf5rmn$81f $1@titan.btinte rnet.com...[color=blue]
          > You people need to get out more
          >
          > Dan
          >
          >
          > "Ray at <%=sLocation% >" <ask@me.forit > wrote in message
          > news:uk6h5t7SDH A.2724@TK2MSFTN GP10.phx.gbl...[color=green]
          > > Heh heh. I thought about it, but then I was like, "well, it does have[/color][/color]
          to[color=blue]
          > do[color=green]
          > > with asp, vbscript (perhaps), exchange clients, and exchange[/color]
          > applications."[color=green]
          > > Exchange admin is another story though. And I was afraid Aaron would[/color][/color]
          yell[color=blue][color=green]
          > > at me for posting his links in Exchange groups. :P
          > >
          > > Ray at work
          > >
          > > "Robert Cohen" <jerrygarcia@gr atefuldead.com> wrote in message
          > > news:OcN$vp7SDH A.2256@TK2MSFTN GP11.phx.gbl...[color=darkred]
          > > > and did I forget, I don't want to do any script that has the letters[/color][/color][/color]
          "c"[color=blue][color=green]
          > > or[color=darkred]
          > > > "d" in it. :-) Sorry, just being silly.
          > > >
          > > > btw, Ray, why didn't you send one of your appropriate asp.faq links?[/color][/color][/color]
          I[color=blue][color=green][color=darkred]
          > > > thought this huge cross post would have warranted one of your[/color][/color]
          > appropriate[color=green][color=darkred]
          > > > links.
          > > >
          > > >
          > > >[/color]
          > >
          > >[/color]
          >
          >[/color]


          Comment

          • Robert Cohen

            #6
            Re: Attendee availability online

            echo Ray>>he cracks me up.log

            I actually had to clean soda off my monitor because I read that while
            drinking some soda.

            but yeah, talk about bitting the hand that feeds you. Dan should have
            learned from William Shatner.

            But the funny thing is I didn't know you could do that with a bat file like
            that. So I learn things in the wierdest ways.

            --
            Sorry, I am no longer including my e-mail address as I am getting to much
            spam. I really have no desire to enlarge "it" by three inches, that is even
            if I get e-mailed 10 times a day from different e-mail addresses so I can't
            block it.
            Besides I finally came to believe what others have said, if you have a
            question, you should ask the group as others might benefit from it. Anyone
            on the group who I converse with off topic or on the side, can easily find
            my e-mail address.


            "Ray at <%=sLocation% >" <ask@me.forit > wrote in message
            news:#NP16DGTDH A.2180@TK2MSFTN GP12.phx.gbl...[color=blue]
            > Now there's a good way to encourage people to help you in the future.
            >
            > echo Dan Williams>>vende tta.log
            >
            > Ray at work
            >
            > "Dan Williams" <dan_williams@n ewcross-nursing.com> wrote in message
            > news:bf5rmn$81f $1@titan.btinte rnet.com...[color=green]
            > > You people need to get out more
            > >
            > > Dan
            > >
            > >
            > > "Ray at <%=sLocation% >" <ask@me.forit > wrote in message
            > > news:uk6h5t7SDH A.2724@TK2MSFTN GP10.phx.gbl...[color=darkred]
            > > > Heh heh. I thought about it, but then I was like, "well, it does have[/color][/color]
            > to[color=green]
            > > do[color=darkred]
            > > > with asp, vbscript (perhaps), exchange clients, and exchange[/color]
            > > applications."[color=darkred]
            > > > Exchange admin is another story though. And I was afraid Aaron would[/color][/color]
            > yell[color=green][color=darkred]
            > > > at me for posting his links in Exchange groups. :P
            > > >
            > > > Ray at work
            > > >
            > > > "Robert Cohen" <jerrygarcia@gr atefuldead.com> wrote in message
            > > > news:OcN$vp7SDH A.2256@TK2MSFTN GP11.phx.gbl...
            > > > > and did I forget, I don't want to do any script that has the letters[/color][/color]
            > "c"[color=green][color=darkred]
            > > > or
            > > > > "d" in it. :-) Sorry, just being silly.
            > > > >
            > > > > btw, Ray, why didn't you send one of your appropriate asp.faq links?[/color][/color]
            > I[color=green][color=darkred]
            > > > > thought this huge cross post would have warranted one of your[/color]
            > > appropriate[color=darkred]
            > > > > links.
            > > > >
            > > > >
            > > > >
            > > >
            > > >[/color]
            > >
            > >[/color]
            >
            >[/color]


            Comment

            • Ray at

              #7
              Re: Attendee availability online

              heh heh. cmd.exe rules. I find myself reverting back to that instead of
              using the FSO quite often. I mean, what's easier? A or B?

              A:
              Dim objFSO, objDir, objFiles
              Set objFSO = CreateObject("S cripting.FileSy stemObject")
              Set objDir = objFSO.GetFolde r("D:\Path")
              Set objFiles = objDir.Files
              For Each f in objFiles
              sOutput = sOutput & f.Name & vbCrLf
              Next
              Set objDir = Nothing
              Set objFiles = Nothing


              Set oOutputFile = objFSO.CreateTe xtFile("D:\Path \file.txt", True)
              oOutputFile.Wri te sOutput
              oOutputFile.Clo se
              Set oOutputFile = Nothing
              Set objFSO = Nothing


              B:
              dir D:\Path /B /A:-D>D:\PathFile.t xt


              Ray at work cross posting off topic posts and will now stop.


              "Robert Cohen" <jerrygarcia@gr atefuldead.com> wrote in message
              news:OM6CRTGTDH A.1324@TK2MSFTN GP11.phx.gbl...[color=blue]
              > echo Ray>>he cracks me up.log
              >
              > I actually had to clean soda off my monitor because I read that while
              > drinking some soda.
              >
              > but yeah, talk about bitting the hand that feeds you. Dan should have
              > learned from William Shatner.
              >
              > But the funny thing is I didn't know you could do that with a bat file[/color]
              like[color=blue]
              > that. So I learn things in the wierdest ways.
              >[/color]


              Comment

              • Curt_C [MVP]

                #8
                Re: Attendee availability online

                I'll second ya....
                ..BAT files too, DOS commands still are quick and easy. I'm amazed at the
                looks on the "younger" developers when you drop to DOS to do a quick command
                and they look like they've never seen a command prompt before.....
                scarry.....

                --
                ----------------------------------------------------------
                Curt Christianson (Software_AT_Da rkfalz.Com)
                Owner/Lead Designer, DF-Software

                ---------------------------------------------------------
                ...Offering free scripts & code snippits for everyone...
                ---------------------------------------------------------

                "Ray at <%=sLocation% >" <ask@me.forit > wrote in message
                news:u9i7XwHTDH A.1688@TK2MSFTN GP11.phx.gbl...[color=blue]
                > heh heh. cmd.exe rules. I find myself reverting back to that instead of
                > using the FSO quite often. I mean, what's easier? A or B?
                >
                > A:
                > Dim objFSO, objDir, objFiles
                > Set objFSO = CreateObject("S cripting.FileSy stemObject")
                > Set objDir = objFSO.GetFolde r("D:\Path")
                > Set objFiles = objDir.Files
                > For Each f in objFiles
                > sOutput = sOutput & f.Name & vbCrLf
                > Next
                > Set objDir = Nothing
                > Set objFiles = Nothing
                >
                >
                > Set oOutputFile = objFSO.CreateTe xtFile("D:\Path \file.txt", True)
                > oOutputFile.Wri te sOutput
                > oOutputFile.Clo se
                > Set oOutputFile = Nothing
                > Set objFSO = Nothing
                >
                >
                > B:
                > dir D:\Path /B /A:-D>D:\PathFile.t xt
                >
                >
                > Ray at work cross posting off topic posts and will now stop.
                >
                >
                > "Robert Cohen" <jerrygarcia@gr atefuldead.com> wrote in message
                > news:OM6CRTGTDH A.1324@TK2MSFTN GP11.phx.gbl...[color=green]
                > > echo Ray>>he cracks me up.log
                > >
                > > I actually had to clean soda off my monitor because I read that while
                > > drinking some soda.
                > >
                > > but yeah, talk about bitting the hand that feeds you. Dan should have
                > > learned from William Shatner.
                > >
                > > But the funny thing is I didn't know you could do that with a bat file[/color]
                > like[color=green]
                > > that. So I learn things in the wierdest ways.
                > >[/color]
                >
                >[/color]


                Comment

                • Dan Williams

                  #9
                  Re: Attendee availability online

                  Without the help of you two (cheers for your time anyway, i was only using a
                  bit of English sarcasm!!), i've managed to create my own custom ASP page
                  that will show the attendee availability of other users.

                  The codes as follows (if your at all interested!):-

                  Copy and paste it to a freebusy.asp file, then edit the strServer,
                  strMailbox and strDistListName variables to your own values.

                  <%@ LANGUAGE="VBSCR IPT" %>
                  <%
                  Option Explicit
                  Response.Expire s = 0
                  %>
                  <!--#include file="adovbs.in c"-->
                  <HTML>
                  <HEAD>
                  <META NAME="GENERATOR " Content="Micros oft Visual InterDev 1.0">
                  <META HTTP-EQUIV="Content-Type" content="text/html;charset=is o-8859-1">
                  <TITLE>Marketin g Staff availability</TITLE>
                  </HEAD>
                  <BODY>
                  <%

                  Const CdoAddressListG AL = 0
                  Const CdoUser = 0
                  Const CdoDistList = 1
                  Const blnDisplayOnlyO utOfOffice = FALSE

                  Dim objSession, objAddressList, objAddressEntri es, objAddressEntry ,
                  objMembers, objMember
                  Dim dteStartDate, dteEndDate, strDistListName , strServer, strMailbox,
                  strProfileInfo, strFreeBusyInfo
                  Dim intCounter, intTimeCounter

                  If Request.ServerV ariables("LOGON _USER") = "" Then
                  Response.Status = "401 Access Denied"
                  End If

                  On Error Resume Next

                  strServer = "EXCHANGESERVER " <-- insert your Exchange Mail server name here.
                  strMailbox = "EXCHANGEMAILBO X" <-- insert your mailbox name here
                  strDistListName = "DISTRIBUTIONLI ST" <-- insert your own ActiveDirectory
                  distribution group here.

                  dteStartDate = Request.Form("d ate")
                  if dteStartDate = "" then dteStartDate = Date()

                  SELECT CASE Request.Form("S ubmit")
                  CASE "Previous" dteStartDate = DateAdd("d",-1,dteStartDate)
                  CASE "Next" dteStartDate = DateAdd("d",1,d teStartDate)
                  END SELECT

                  dteEndDate = DateAdd("d",1,d teStartDate)
                  strProfileInfo = strServer & vbLF & strMailbox

                  set objSession = Server.CreateOb ject("MAPI.Sess ion")
                  objSession.Logo n "", "", False, True, 0, True, strProfileInfo
                  %>
                  <form name="form1" action="freebus y.asp" method="POST">
                  <TABLE width="100%">
                  <tr>
                  <td width="20%"><IN PUT size="8" value="<%=dteSt artDate%>" name="date">
                  &nbsp<input type="submit" name="Submit" value="Submit"> </td>
                  <td width="60%" align=center><H 3><font color='#000000' face='Arial,
                  Helvetica, sans-serif'>Marketin g Staff availability</font></h3></td>
                  <td><input type="submit" name="Submit" value="Previous ">&nbsp<inp ut
                  type="submit" name="Submit" value="Next"></td>
                  </tr>
                  </table>
                  </form>
                  <%

                  set objAddressList = objSession.GetA ddressList(CdoA ddressListGAL)
                  set objAddressEntri es = objAddressList. AddressEntries
                  set objAddressEntry = objAddressEntri es.Item(strDist ListName)

                  if objAddressEntry .DisplayType = CdoDistList then
                  set objMembers = objAddressEntry .Members
                  Response.Write( "<table align=center cellpadding='0' cellspacing='0'
                  cols='2' width='80%' bordercolor='#f fffff' " _
                  & "border='1' bordorcolorligh t='#ffffff' bordorcolordark ='#ffffff'
                  bgcolor='#ffff9 9'>")
                  Response.Write( "<tr valign='top'>")
                  Response.Write( "<th align='left' width='20%' valign='top'
                  bgcolor='#f28a8 a'><font color='#000000' face='Arial, " _
                  & "Helvetica, sans-serif'>Name</font></th>")
                  Response.Write( "<th align='left' width='80%' valign='top'
                  bgcolor='#f28a8 a'><font color='#000000' face='Arial, " _
                  & "Helvetica, sans-serif'>&nbsp;" & formatdatetime( dteStartDate, 1) &
                  "</font></th>")
                  Response.Write( "<tr valign='top'>")
                  Response.Write( "<td>&nbsp</td>")
                  Response.Write( "<td rowspan='" & objMembers.Coun t + 1 & "'>")
                  Response.Write( "<table border='1' cellpadding='0' cellspacing='0'
                  width='100%' bordercolor='#f fffff' " _
                  & "bordercolordar k='#ffffff' bordercolorligh t='#ffffff'>")
                  Response.Write( "<tr>")

                  For intCounter = 0 to 23
                  Response.Write( "<td width='200' colspan='2'>" & intCounter & ":00</td>")
                  next

                  for each objMember in objMembers
                  if objMember.Displ ayType = CdoUser then
                  strFreeBusyInfo = objMember.GetFr eeBusy(dteStart Date, dteEndDate, 30)
                  if err.number <> 0 then
                  strFreeBusyInfo = String(48, "9")
                  err.clear
                  end if

                  if blnDisplayOnlyO utOfOffice then
                  Response.Write( "<TR>")
                  for intCounter = 1 to 48
                  Select case mid(strFreeBusy Info, intCounter, 1)
                  Case "0"
                  Response.Write( "<td width='100' bgcolor='#00000 0'>&nbsp</td>")
                  Case "1"
                  Response.Write( "<td width='100' bgcolor='#00000 0'>&nbsp</td>")
                  Case "2"
                  Response.Write( "<td width='100' bgcolor='#00000 0'>&nbsp</td>")
                  Case "3"
                  Response.Write( "<td width='100' bgcolor=purple> &nbsp</td>")
                  Case "9"
                  Response.Write( "<td width='100' bgcolor='#00000 0'>&nbsp</td>")
                  end select
                  next
                  else
                  Response.Write( "<TR>")
                  for intCounter = 1 to 48
                  Select case mid(strFreeBusy Info, intCounter, 1)
                  Case "0"
                  Response.Write( "<td width='100' bgcolor='#c0c0c 0'>&nbsp</td>")
                  Case "1"
                  Response.Write( "<td width='100' bgcolor=lightbl ue>&nbsp</td>")
                  Case "2"
                  Response.Write( "<td width='100' bgcolor=blue>&n bsp</td>")
                  Case "3"
                  Response.Write( "<td width='100' bgcolor=purple> &nbsp</td>")
                  Case "9"
                  Response.Write( "<td width='100' bgcolor='#00000 0'>&nbsp</td>")
                  end select
                  next
                  end if
                  end if
                  next

                  Response.Write( "</tr>")
                  Response.Write( "</table>")
                  Response.Write( "</tr>")

                  for each objMember in objMembers
                  if objMember.Displ ayType = CdoUser then
                  Response.Write( "<tr valign='top'>")
                  Response.Write( "<td nowrap>&nbsp;" & objMember.Name & "&nbsp</td>")
                  Response.Write( "</tr>")
                  end if
                  next

                  Response.Write( "<td align='left' width='20%' valign='top'
                  bgcolor='#f28a8 a'><font color='#000000' face='Arial, " _
                  & "Helvetica, sans-serif'>&nbsp</font></td>")
                  Response.Write( "<td align='left' width='80%' valign='top'
                  bgcolor='#f28a8 a'><font color='#000000' face='Arial, " _
                  & "Helvetica, sans-serif'>&nbsp</font></td>")
                  Response.Write( "</table>")

                  Response.Write( "<br>")

                  Response.Write( "<center><t able align=center cellpadding='0' cellspacing='0'
                  cols='2' width='80%' bordercolor='#f fffff' " _
                  & "border='1' bordorcolorligh t='#ffffff' bordorcolordark ='#ffffff'>")
                  Response.Write( "<tr valign='top'>")

                  Response.Write( "<td width='2%' bgcolor=lightbl ue>&nbsp</td>")
                  Response.Write( "<td align='left' width='18%' valign='top'><f ont
                  color='#000000' face='Arial, Helvetica, sans-serif'>" _
                  & "&nbsp;Tentativ e</font></th>")

                  Response.Write( "<td width='2%' bgcolor='#c0c0c 0'>&nbsp</td>")
                  Response.Write( "<td align='left' width='18%' valign='top'><f ont
                  color='#000000' face='Arial, Helvetica, sans-serif'>" _
                  & "&nbsp;Free </font></th>")

                  Response.Write( "<td width='2%' bgcolor=blue>&n bsp</td>")
                  Response.Write( "<td align='left' width='18%' valign='top'><f ont
                  color='#000000' face='Arial, Helvetica, sans-serif'>" _
                  & "&nbsp;Busy </font></th>")

                  Response.Write( "<td width='2%' bgcolor=purple> &nbsp</td>")
                  Response.Write( "<td align='left' width='18%' valign='top'><f ont
                  color='#000000' face='Arial, Helvetica, sans-serif'>" _
                  & "&nbsp;Out of Office</font></th>")

                  Response.Write( "<td width='2%' bgcolor='#00000 0'>&nbsp</td>")
                  Response.Write( "<td align='left' width='18%' valign='top'><f ont
                  color='#000000' face='Arial, Helvetica, sans-serif'>" _
                  & "&nbsp;No Information</font></th>")

                  Response.Write( "</tr>")
                  Response.Write( "</table></center>")
                  end if

                  %>
                  <BR>
                  <table border='0' cellspacing='10 ' height='12' width='100%'>
                  <tr>
                  <td height='5' width='295'><fo nt color='#000000' face='Arial, Helvetica,
                  sans-serif'>Last updated <%=Now%></td>
                  <td align=right><in put type='button' name='Close' value='Close'
                  onClick="window .close()"></td>
                  </tr>
                  </table>

                  <%
                  objSession.Logo ff
                  set objSession = nothing
                  set objAddressList = nothing
                  set objAddressEntri es = nothing
                  set objMembers = nothing
                  set objMember = nothing

                  %>

                  </BODY>
                  </HTML>


                  "Dan Williams" <dan_williams@n ewcross-nursing.com> wrote in message
                  news:bf3qsc$sub $1@hercules.bti nternet.com...[color=blue]
                  > Can anyone tell me how to go about creating my own custom ASP page that[/color]
                  can[color=blue]
                  > show several different peoples availability from their Outlook/Exchange[/color]
                  2000[color=blue]
                  > calendars?
                  >
                  > I don't want to have to ask users to setup permissions for their[/color]
                  respective[color=blue]
                  > calendars, i just want to be able to see if they're busy or not.
                  >
                  > Many thanks
                  >
                  > Dan Williams.
                  >
                  >[/color]


                  Comment

                  • Dan White

                    #10
                    Re: Attendee availability online

                    What to you have in the adovbs.inc file?

                    Dan
                    "Dan Williams" <dan_williams@n ewcross-nursing.com> wrote in message
                    news:bflp8n$5uo $1@sparta.btint ernet.com...[color=blue]
                    > Without the help of you two (cheers for your time anyway, i was only using[/color]
                    a[color=blue]
                    > bit of English sarcasm!!), i've managed to create my own custom ASP page
                    > that will show the attendee availability of other users.
                    >
                    > The codes as follows (if your at all interested!):-
                    >
                    > Copy and paste it to a freebusy.asp file, then edit the strServer,
                    > strMailbox and strDistListName variables to your own values.
                    >
                    > <%@ LANGUAGE="VBSCR IPT" %>
                    > <%
                    > Option Explicit
                    > Response.Expire s = 0
                    > %>
                    > <!--#include file="adovbs.in c"-->
                    > <HTML>
                    > <HEAD>
                    > <META NAME="GENERATOR " Content="Micros oft Visual InterDev 1.0">
                    > <META HTTP-EQUIV="Content-Type" content="text/html;charset=is o-8859-1">
                    > <TITLE>Marketin g Staff availability</TITLE>
                    > </HEAD>
                    > <BODY>
                    > <%
                    >
                    > Const CdoAddressListG AL = 0
                    > Const CdoUser = 0
                    > Const CdoDistList = 1
                    > Const blnDisplayOnlyO utOfOffice = FALSE
                    >
                    > Dim objSession, objAddressList, objAddressEntri es, objAddressEntry ,
                    > objMembers, objMember
                    > Dim dteStartDate, dteEndDate, strDistListName , strServer, strMailbox,
                    > strProfileInfo, strFreeBusyInfo
                    > Dim intCounter, intTimeCounter
                    >
                    > If Request.ServerV ariables("LOGON _USER") = "" Then
                    > Response.Status = "401 Access Denied"
                    > End If
                    >
                    > On Error Resume Next
                    >
                    > strServer = "EXCHANGESERVER " <-- insert your Exchange Mail server name[/color]
                    here.[color=blue]
                    > strMailbox = "EXCHANGEMAILBO X" <-- insert your mailbox name here
                    > strDistListName = "DISTRIBUTIONLI ST" <-- insert your own ActiveDirectory
                    > distribution group here.
                    >
                    > dteStartDate = Request.Form("d ate")
                    > if dteStartDate = "" then dteStartDate = Date()
                    >
                    > SELECT CASE Request.Form("S ubmit")
                    > CASE "Previous" dteStartDate = DateAdd("d",-1,dteStartDate)
                    > CASE "Next" dteStartDate = DateAdd("d",1,d teStartDate)
                    > END SELECT
                    >
                    > dteEndDate = DateAdd("d",1,d teStartDate)
                    > strProfileInfo = strServer & vbLF & strMailbox
                    >
                    > set objSession = Server.CreateOb ject("MAPI.Sess ion")
                    > objSession.Logo n "", "", False, True, 0, True, strProfileInfo
                    > %>
                    > <form name="form1" action="freebus y.asp" method="POST">
                    > <TABLE width="100%">
                    > <tr>
                    > <td width="20%"><IN PUT size="8" value="<%=dteSt artDate%>" name="date">
                    > &nbsp<input type="submit" name="Submit" value="Submit"> </td>
                    > <td width="60%" align=center><H 3><font color='#000000' face='Arial,
                    > Helvetica, sans-serif'>Marketin g Staff availability</font></h3></td>
                    > <td><input type="submit" name="Submit" value="Previous ">&nbsp<inp ut
                    > type="submit" name="Submit" value="Next"></td>
                    > </tr>
                    > </table>
                    > </form>
                    > <%
                    >
                    > set objAddressList = objSession.GetA ddressList(CdoA ddressListGAL)
                    > set objAddressEntri es = objAddressList. AddressEntries
                    > set objAddressEntry = objAddressEntri es.Item(strDist ListName)
                    >
                    > if objAddressEntry .DisplayType = CdoDistList then
                    > set objMembers = objAddressEntry .Members
                    > Response.Write( "<table align=center cellpadding='0' cellspacing='0'
                    > cols='2' width='80%' bordercolor='#f fffff' " _
                    > & "border='1' bordorcolorligh t='#ffffff' bordorcolordark ='#ffffff'
                    > bgcolor='#ffff9 9'>")
                    > Response.Write( "<tr valign='top'>")
                    > Response.Write( "<th align='left' width='20%' valign='top'
                    > bgcolor='#f28a8 a'><font color='#000000' face='Arial, " _
                    > & "Helvetica, sans-serif'>Name</font></th>")
                    > Response.Write( "<th align='left' width='80%' valign='top'
                    > bgcolor='#f28a8 a'><font color='#000000' face='Arial, " _
                    > & "Helvetica, sans-serif'>&nbsp;" & formatdatetime( dteStartDate, 1) &
                    > "</font></th>")
                    > Response.Write( "<tr valign='top'>")
                    > Response.Write( "<td>&nbsp</td>")
                    > Response.Write( "<td rowspan='" & objMembers.Coun t + 1 & "'>")
                    > Response.Write( "<table border='1' cellpadding='0' cellspacing='0'
                    > width='100%' bordercolor='#f fffff' " _
                    > & "bordercolordar k='#ffffff' bordercolorligh t='#ffffff'>")
                    > Response.Write( "<tr>")
                    >
                    > For intCounter = 0 to 23
                    > Response.Write( "<td width='200' colspan='2'>" & intCounter & ":00</td>")
                    > next
                    >
                    > for each objMember in objMembers
                    > if objMember.Displ ayType = CdoUser then
                    > strFreeBusyInfo = objMember.GetFr eeBusy(dteStart Date, dteEndDate, 30)
                    > if err.number <> 0 then
                    > strFreeBusyInfo = String(48, "9")
                    > err.clear
                    > end if
                    >
                    > if blnDisplayOnlyO utOfOffice then
                    > Response.Write( "<TR>")
                    > for intCounter = 1 to 48
                    > Select case mid(strFreeBusy Info, intCounter, 1)
                    > Case "0"
                    > Response.Write( "<td width='100' bgcolor='#00000 0'>&nbsp</td>")
                    > Case "1"
                    > Response.Write( "<td width='100' bgcolor='#00000 0'>&nbsp</td>")
                    > Case "2"
                    > Response.Write( "<td width='100' bgcolor='#00000 0'>&nbsp</td>")
                    > Case "3"
                    > Response.Write( "<td width='100' bgcolor=purple> &nbsp</td>")
                    > Case "9"
                    > Response.Write( "<td width='100' bgcolor='#00000 0'>&nbsp</td>")
                    > end select
                    > next
                    > else
                    > Response.Write( "<TR>")
                    > for intCounter = 1 to 48
                    > Select case mid(strFreeBusy Info, intCounter, 1)
                    > Case "0"
                    > Response.Write( "<td width='100' bgcolor='#c0c0c 0'>&nbsp</td>")
                    > Case "1"
                    > Response.Write( "<td width='100' bgcolor=lightbl ue>&nbsp</td>")
                    > Case "2"
                    > Response.Write( "<td width='100' bgcolor=blue>&n bsp</td>")
                    > Case "3"
                    > Response.Write( "<td width='100' bgcolor=purple> &nbsp</td>")
                    > Case "9"
                    > Response.Write( "<td width='100' bgcolor='#00000 0'>&nbsp</td>")
                    > end select
                    > next
                    > end if
                    > end if
                    > next
                    >
                    > Response.Write( "</tr>")
                    > Response.Write( "</table>")
                    > Response.Write( "</tr>")
                    >
                    > for each objMember in objMembers
                    > if objMember.Displ ayType = CdoUser then
                    > Response.Write( "<tr valign='top'>")
                    > Response.Write( "<td nowrap>&nbsp;" & objMember.Name & "&nbsp</td>")
                    > Response.Write( "</tr>")
                    > end if
                    > next
                    >
                    > Response.Write( "<td align='left' width='20%' valign='top'
                    > bgcolor='#f28a8 a'><font color='#000000' face='Arial, " _
                    > & "Helvetica, sans-serif'>&nbsp</font></td>")
                    > Response.Write( "<td align='left' width='80%' valign='top'
                    > bgcolor='#f28a8 a'><font color='#000000' face='Arial, " _
                    > & "Helvetica, sans-serif'>&nbsp</font></td>")
                    > Response.Write( "</table>")
                    >
                    > Response.Write( "<br>")
                    >
                    > Response.Write( "<center><t able align=center cellpadding='0'[/color]
                    cellspacing='0'[color=blue]
                    > cols='2' width='80%' bordercolor='#f fffff' " _
                    > & "border='1' bordorcolorligh t='#ffffff' bordorcolordark ='#ffffff'>")
                    > Response.Write( "<tr valign='top'>")
                    >
                    > Response.Write( "<td width='2%' bgcolor=lightbl ue>&nbsp</td>")
                    > Response.Write( "<td align='left' width='18%' valign='top'><f ont
                    > color='#000000' face='Arial, Helvetica, sans-serif'>" _
                    > & "&nbsp;Tentativ e</font></th>")
                    >
                    > Response.Write( "<td width='2%' bgcolor='#c0c0c 0'>&nbsp</td>")
                    > Response.Write( "<td align='left' width='18%' valign='top'><f ont
                    > color='#000000' face='Arial, Helvetica, sans-serif'>" _
                    > & "&nbsp;Free </font></th>")
                    >
                    > Response.Write( "<td width='2%' bgcolor=blue>&n bsp</td>")
                    > Response.Write( "<td align='left' width='18%' valign='top'><f ont
                    > color='#000000' face='Arial, Helvetica, sans-serif'>" _
                    > & "&nbsp;Busy </font></th>")
                    >
                    > Response.Write( "<td width='2%' bgcolor=purple> &nbsp</td>")
                    > Response.Write( "<td align='left' width='18%' valign='top'><f ont
                    > color='#000000' face='Arial, Helvetica, sans-serif'>" _
                    > & "&nbsp;Out of Office</font></th>")
                    >
                    > Response.Write( "<td width='2%' bgcolor='#00000 0'>&nbsp</td>")
                    > Response.Write( "<td align='left' width='18%' valign='top'><f ont
                    > color='#000000' face='Arial, Helvetica, sans-serif'>" _
                    > & "&nbsp;No Information</font></th>")
                    >
                    > Response.Write( "</tr>")
                    > Response.Write( "</table></center>")
                    > end if
                    >
                    > %>
                    > <BR>
                    > <table border='0' cellspacing='10 ' height='12' width='100%'>
                    > <tr>
                    > <td height='5' width='295'><fo nt color='#000000' face='Arial, Helvetica,
                    > sans-serif'>Last updated <%=Now%></td>
                    > <td align=right><in put type='button' name='Close' value='Close'
                    > onClick="window .close()"></td>
                    > </tr>
                    > </table>
                    >
                    > <%
                    > objSession.Logo ff
                    > set objSession = nothing
                    > set objAddressList = nothing
                    > set objAddressEntri es = nothing
                    > set objMembers = nothing
                    > set objMember = nothing
                    >
                    > %>
                    >
                    > </BODY>
                    > </HTML>
                    >
                    >
                    > "Dan Williams" <dan_williams@n ewcross-nursing.com> wrote in message
                    > news:bf3qsc$sub $1@hercules.bti nternet.com...[color=green]
                    > > Can anyone tell me how to go about creating my own custom ASP page that[/color]
                    > can[color=green]
                    > > show several different peoples availability from their Outlook/Exchange[/color]
                    > 2000[color=green]
                    > > calendars?
                    > >
                    > > I don't want to have to ask users to setup permissions for their[/color]
                    > respective[color=green]
                    > > calendars, i just want to be able to see if they're busy or not.
                    > >
                    > > Many thanks
                    > >
                    > > Dan Williams.
                    > >
                    > >[/color]
                    >
                    >[/color]


                    Comment

                    Working...