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="VBSCRIPT" %>
<%
Option Explicit
Response.Expires = 0
%>
<!--#include file="adovbs.inc"-->
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual InterDev 1.0">
<META HTTP-EQUIV="Content-Type" content="text/html;charset=iso-8859-1">
<TITLE>Marketing Staff availability</TITLE>
</HEAD>
<BODY>
<%
Const CdoAddressListGAL = 0
Const CdoUser = 0
Const CdoDistList = 1
Const blnDisplayOnlyOutOfOffice = FALSE
Dim objSession, objAddressList, objAddressEntries, objAddressEntry,
objMembers, objMember
Dim dteStartDate, dteEndDate, strDistListName, strServer, strMailbox,
strProfileInfo, strFreeBusyInfo
Dim intCounter, intTimeCounter
If Request.ServerVariables("LOGON_USER") = "" Then
Response.Status = "401 Access Denied"
End If
On Error Resume Next
strServer = "EXCHANGESERVER" <-- insert your Exchange Mail server name here.
strMailbox = "EXCHANGEMAILBOX" <-- insert your mailbox name here
strDistListName = "DISTRIBUTIONLIST" <-- insert your own ActiveDirectory
distribution group here.
dteStartDate = Request.Form("date")
if dteStartDate = "" then dteStartDate = Date()
SELECT CASE Request.Form("Submit")
CASE "Previous" dteStartDate = DateAdd("d",-1,dteStartDate)
CASE "Next" dteStartDate = DateAdd("d",1,dteStartDate)
END SELECT
dteEndDate = DateAdd("d",1,dteStartDate)
strProfileInfo = strServer & vbLF & strMailbox
set objSession = Server.CreateObject("MAPI.Session")
objSession.Logon "", "", False, True, 0, True, strProfileInfo
%>
<form name="form1" action="freebusy.asp" method="POST">
<TABLE width="100%">
<tr>
<td width="20%"><INPUT size="8" value="<%=dteStartDate%>" name="date">
 <input type="submit" name="Submit" value="Submit"></td>
<td width="60%" align=center><H3><font color='#000000' face='Arial,
Helvetica, sans-serif'>Marketing Staff availability</font></h3></td>
<td><input type="submit" name="Submit" value="Previous"> <input
type="submit" name="Submit" value="Next"></td>
</tr>
</table>
</form>
<%
set objAddressList = objSession.GetAddressList(CdoAddressListGAL)
set objAddressEntries = objAddressList.AddressEntries
set objAddressEntry = objAddressEntries.Item(strDistListName)
if objAddressEntry.DisplayType = CdoDistList then
set objMembers = objAddressEntry.Members
Response.Write("<table align=center cellpadding='0' cellspacing='0'
cols='2' width='80%' bordercolor='#ffffff' " _
& "border='1' bordorcolorlight='#ffffff' bordorcolordark='#ffffff'
bgcolor='#ffff99'>")
Response.Write("<tr valign='top'>")
Response.Write("<th align='left' width='20%' valign='top'
bgcolor='#f28a8a'><font color='#000000' face='Arial, " _
& "Helvetica, sans-serif'>Name</font></th>")
Response.Write("<th align='left' width='80%' valign='top'
bgcolor='#f28a8a'><font color='#000000' face='Arial, " _
& "Helvetica, sans-serif'> " & formatdatetime(dteStartDate, 1) &
"</font></th>")
Response.Write("<tr valign='top'>")
Response.Write("<td> </td>")
Response.Write("<td rowspan='" & objMembers.Count + 1 & "'>")
Response.Write("<table border='1' cellpadding='0' cellspacing='0'
width='100%' bordercolor='#ffffff' " _
& "bordercolordark='#ffffff' bordercolorlight='#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.DisplayType = CdoUser then
strFreeBusyInfo = objMember.GetFreeBusy(dteStartDate, dteEndDate, 30)
if err.number <> 0 then
strFreeBusyInfo = String(48, "9")
err.clear
end if
if blnDisplayOnlyOutOfOffice then
Response.Write("<TR>")
for intCounter = 1 to 48
Select case mid(strFreeBusyInfo, intCounter, 1)
Case "0"
Response.Write("<td width='100' bgcolor='#000000'> </td>")
Case "1"
Response.Write("<td width='100' bgcolor='#000000'> </td>")
Case "2"
Response.Write("<td width='100' bgcolor='#000000'> </td>")
Case "3"
Response.Write("<td width='100' bgcolor=purple> </td>")
Case "9"
Response.Write("<td width='100' bgcolor='#000000'> </td>")
end select
next
else
Response.Write("<TR>")
for intCounter = 1 to 48
Select case mid(strFreeBusyInfo, intCounter, 1)
Case "0"
Response.Write("<td width='100' bgcolor='#c0c0c0'> </td>")
Case "1"
Response.Write("<td width='100' bgcolor=lightblue> </td>")
Case "2"
Response.Write("<td width='100' bgcolor=blue> </td>")
Case "3"
Response.Write("<td width='100' bgcolor=purple> </td>")
Case "9"
Response.Write("<td width='100' bgcolor='#000000'> </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.DisplayType = CdoUser then
Response.Write("<tr valign='top'>")
Response.Write("<td nowrap> " & objMember.Name & " </td>")
Response.Write("</tr>")
end if
next
Response.Write("<td align='left' width='20%' valign='top'
bgcolor='#f28a8a'><font color='#000000' face='Arial, " _
& "Helvetica, sans-serif'> </font></td>")
Response.Write("<td align='left' width='80%' valign='top'
bgcolor='#f28a8a'><font color='#000000' face='Arial, " _
& "Helvetica, sans-serif'> </font></td>")
Response.Write("</table>")
Response.Write("<br>")
Response.Write("<center><table align=center cellpadding='0' cellspacing='0'
cols='2' width='80%' bordercolor='#ffffff' " _
& "border='1' bordorcolorlight='#ffffff' bordorcolordark='#ffffff'>")
Response.Write("<tr valign='top'>")
Response.Write("<td width='2%' bgcolor=lightblue> </td>")
Response.Write("<td align='left' width='18%' valign='top'><font
color='#000000' face='Arial, Helvetica, sans-serif'>" _
& " Tentative</font></th>")
Response.Write("<td width='2%' bgcolor='#c0c0c0'> </td>")
Response.Write("<td align='left' width='18%' valign='top'><font
color='#000000' face='Arial, Helvetica, sans-serif'>" _
& " Free</font></th>")
Response.Write("<td width='2%' bgcolor=blue> </td>")
Response.Write("<td align='left' width='18%' valign='top'><font
color='#000000' face='Arial, Helvetica, sans-serif'>" _
& " Busy</font></th>")
Response.Write("<td width='2%' bgcolor=purple> </td>")
Response.Write("<td align='left' width='18%' valign='top'><font
color='#000000' face='Arial, Helvetica, sans-serif'>" _
& " Out of Office</font></th>")
Response.Write("<td width='2%' bgcolor='#000000'> </td>")
Response.Write("<td align='left' width='18%' valign='top'><font
color='#000000' face='Arial, Helvetica, sans-serif'>" _
& " 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'><font color='#000000' face='Arial, Helvetica,
sans-serif'>Last updated <%=Now%></td>
<td align=right><input type='button' name='Close' value='Close'
onClick="window.close()"></td>
</tr>
</table>
<%
objSession.Logoff
set objSession = nothing
set objAddressList = nothing
set objAddressEntries = nothing
set objMembers = nothing
set objMember = nothing
%>
</BODY>
</HTML>
"Dan Williams" <da**********@newcross-nursing.com> wrote in message
news:bf**********@hercules.btinternet.com...
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.