werD420
asked on
Losing Shapes when printing reports with pie chart class
Hey all I have a class thats putting out the following output for a report of users, but When I try to print it i lose the whole page!! I need for users to be able to print this could someone shine some light on the subject
<div id="employee">
<table border="1" bordercolor="#111111" id="table1" class="table1" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2">
<b>Employee Name:</b> Aebersold_Erin
</td>
</tr>
<tr>
<td>
<b>Employee ID:</b> s008450
</td><td>
<b>Manager Name:</b> Management_OPM
</td>
</tr><tr>
<td colspan="2">
<xml:namespace prefix="v"/><object id="VMLRender" classid="CLSID:10072CEC-8C C1-11D1-98 6E-00A0C95 5B42E" width="0" height="0"></object><style > v\:* {behavior=url(#VMLRender)} </style><t able cols="2" width="60%">
<tr>
<td>
<table>
<tr align="center" >
<td colspan="2"><b>Total Time Logged In: 180:54</b><br><br></td>
</tr>
<tr>
<td>
<div id="piechart" style="margin-top:0pt; margin-right:0pt;">
<v:group style="height=375pt; width=500pt" coordsize="4320,3240">
<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path="M 790 760 AE 790 760 707 707 5850000 23592960 X E">
<v:stroke on="False"/>
</v:shape>
<v:shape title="ACW" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=Red path="M 750 720 AE 750 720 707 707 5850000 5827461 X E"/>
<v:shape title="Admin" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=aqua path="M 750 720 AE 750 720 707 707 11677461 613417 X E"/>
<v:shape title="Available" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=silver path="M 750 720 AE 750 720 707 707 12290878 165151 X E"/>
<v:shape title="Break" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=blue path="M 750 720 AE 750 720 707 707 12456029 1863844 X E"/>
<v:shape title="Consult" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=yellow path="M 750 720 AE 750 720 707 707 14319873 23593 X E"/>
<v:shape title="Default" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=purple path="M 750 720 AE 750 720 707 707 14343466 70779 X E"/>
<v:shape title="Hold" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=green path="M 750 720 AE 750 720 707 707 14414245 684196 X E"/>
<v:shape title="Lunch" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=lime path="M 750 720 AE 750 720 707 707 15098441 849347 X E"/>
<v:shape title="Meeting/Training" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=maroon path="M 750 720 AE 750 720 707 707 15947788 23593 X E"/>
<v:shape title="On a Call" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=fuchsia path="M 750 720 AE 750 720 707 707 15971381 11796480 X E"/>
<v:shape title="Project" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=teal path="M 750 720 AE 750 720 707 707 27767861 1722286 X E"/>
<v:shape title="Technical" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=olive path="M 750 720 AE 750 720 707 707 29490147 0 X E"/>
</v:group></div>
</td>
<td>
<table bordercolor="white" border="1" cellpadding="0">
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:Red;'/>< /td><td>
<font>ACW</font>
</td>
<td align="right">
<font>44:15</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:aqua;'/> </td><td>
<font>Admin</font>
</td>
<td align="right">
<font>4:58</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:silver;' /></td><td >
<font>Available</font>
</td>
<td align="right">
<font>1:17</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:blue;'/> </td><td>
<font>Break</font>
</td>
<td align="right">
<font>14:06</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:yellow;' /></td><td >
<font>Consult</font>
</td>
<td align="right">
<font>0:09</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:purple;' /></td><td >
<font>Default</font>
</td>
<td align="right">
<font>0:54</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:green;'/ ></td><td>
<font>Hold</font>
</td>
<td align="right">
<font>5:21</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:lime;'/> </td><td>
<font>Lunch</font>
</td>
<td align="right">
<font>6:37</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:maroon;' /></td><td >
<font>Meeting/Training</fo nt>
</td>
<td align="right">
<font>0:1</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:fuchsia; '/></td><t d>
<font>On a Call</font>
</td>
<td align="right">
<font>89:46</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:teal;'/> </td><td>
<font>Project</font>
</td>
<td align="right">
<font>13:14</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:olive;'/ ></td><td>
<font>Technical</font>
</td>
<td align="right">
<font>0:07</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
This is confusing the heck out of me here is the class itself
<%
'this is to be included within a page to draw out pie graphs
'************************* ********** ********** ********** ********** ********** ********** ********** ********** ********** *********
'
'
' DrawPieGraph
'
' Funnily enough DrawPieGraph does just that. It draws a Pie graph.
'
' Public Properties: Please note that all properties are set defaults when the class is initialized.
'
' Diameter read/write int
' Diameter is not strictly the diameter of the circle increasing this exponatially increases the
' size of the circle.
'
' Shadow read/write boolean
' Draws a nice little shadow with your pie.
'
' Title read/write string
' Set this to title your graph. You can also include html formating if desired. ie: <font size=5>
'
' ShowLegend read/write boolean
' Set this to false if you don't want to display the legend.
'
' LegendSize read/write int
' This sets the size of the images used for the legend. Personally I like 10.
'
' HTMLinnerTableDef read/write string
' Set this to change the display of the graph.
'
' HTMLouterTableDef read/write string
' Set this to change the display of the graph.
'
' ShowValues read/write boolean
' Set this to false if you don't want to display the values.
'
' FormatValuesAsCurrency read/write boolean
' Set this to format the value as n.nn
'
' FontDef read/write string
' Set this to change the display of the legend characters.
'
' Public Methods:
' AddValue
' Parameters
' value: the value which will be converted to a percentage of the overall total
' to display a segment of the pie graph.
' label: a title/description of the value.
' color: the color to use for this segment. Must be in hex format ie:#00ffdd etc
'
' call AddValue for all the different segments that you want to display.
'
' DeleteAllAddedValues
' Parameters none
'
' call DeleteAllAddedValues to delete all the values previously added. This is useful if you
' 5:14 PM 4/5/2006 are drawing multiple pie graphs, so you can use the one object to do them all.
'
' Draw
' Parameters none
'
' call Draw to draw out the graph.
'
'************************* ********** ********** ********** ********** ********** ********** ********** ********** ********** *********
class DrawPieGraph
private pvDiameter
private pvShadow
private pvTitle
private rsPieGraphValues
private pvShowLegend
private pvLegendSize
private pvHTMLinnerTableDef
private pvHTMLouterTableDef
private pvShowValues
private pvFormatValuesAsCurrency
private pvFontDef
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
private function ReturnRecordset
dim rs
set rs = CreateObject("ADODB.Record set")
'value fld is currency data type (6)
rs.Fields.append "value",6
'label fld is varchar type (200), length is 50 chars long max
rs.Fields.append "label",200,50
'color fld is varchar type (200), length is 20 chars long, must be hex value
rs.Fields.append "color",200,20
'open the rs ready for adding records
rs.Open
set ReturnRecordset = rs
end function
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
private function ReturnValueWithFontTags(va lue)
ReturnValueWithFontTags = pvFontDef & value & "</font>"
end function
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
private sub Class_Initialize
set rsPieGraphValues = ReturnRecordset
pvDiameter = 100
pvShadow = true
pvTitle = "Time Report"
pvShowLegend = true
pvLegendSize = 20
pvHTMLinnertableDef = "<table cols=""2"" border=1>"
pvHTMLouterTableDef = "<table cellpadding=""12"" style=""border: 2px outset;"">"
pvShowValues = true
pvFormatValuesAsCurrency = false
pvFontDef = "<font size=2>"
end sub
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
'the diameter of the circle, integer
public property let Diameter(value)
pvDiameter=cint(value)
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
public property get Diameter
Diameter=pvDiameter
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
'the shadow true/false
public property let Shadow(value)
pvShadow=cbool(value)
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
public property get Shadow
Shadow=pvShadow
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
'the title - string value
public property let Title(value)
pvTitle=cstr(value)
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
public property get Title
Title=pvTitle
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
'draw out the legend
public property let ShowLegend(value)
pvShowLegend=cbool(value)
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
public property get ShowLegend
ShowLegend=pvShowLegend
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
'the legend size
public property let LegendSize(value)
pvLegendSize=cstr(value)
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
public property get LegendSize
LegendSize=pvLegendSize
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
'table definition for inner table to allow customisation
public property let HTMLinnerTableDef(value)
pvHTMLinnertableDef=cstr(v alue)
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
public property get HTMLinnerTableDef
HTMLinnerTableDef=pvHTMLin nertableDe f
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
'table definition for inner table to allow customisation
public property let HTMLouterTableDef(value)
pvHTMLouterTableDef=cstr(v alue)
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
public property get HTMLouterTableDef
HTMLouterTableDef=pvHTMLou terTableDe f
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
'show the values or not
public property let ShowValues(value)
pvShowValues=cbool(value)
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
public property get ShowValues
ShowValues=pvShowValues
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
'the size of the font for the value display
public property let FontDef(value)
pvFontDef=cstr(value)
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
public property get FontDef
FontDef=pvFontDef
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
'format the values as currency or not
public property let FormatValuesAsCurrency(val ue)
pvFormatValuesAsCurrency=c bool(value )
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
public property get FormatValuesAsCurrency
FormatValuesAsCurrency=pvF ormatValue sAsCurrenc y
end property
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
'add the values for the different segments of the pie chart
public sub AddValue(value,label,color )
with rsPieGraphValues
.AddNew
.Fields("value") = value
.Fields("label") = label
.Fields("color") = color
.Update
end with
end sub
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
public sub DeleteAllAddedValues
set rsPieGraphValues = nothing
set rsPieGraphValues = ReturnRecordset
end sub
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
'draw the actual graph
public sub Draw
Dim startPoint, endPoint, sumOfValues, percentage, i
Dim strTitle, magicNumber
dim Height, Width
if rsPieGraphValues.EOF and rsPieGraphValues.BOF then exit sub
magicNumber = 23592960 ' It's mystical, magical, kinda nutty even
startPoint = 5850000 ' this setting is approximately 12:00 noon
strTitle=pvTitle
'height to width ratio is h:w = 0.75:1
'we work out the height and width from the diameter given
'the formula is diameter=100 therefore height=375pt; width=500pt
Height = round(pvDiameter * 3.75,0)
Width = round(pvDiameter * 5,0)
with response
' GET SUM OF VALUES ****************
rsPieGraphValues.MoveFirst
do while not rsPieGraphValues.EOF
sumOfValues = sumOfValues + rsPieGraphValues("value"). Value
rsPieGraphValues.MoveNext
loop
if sumOfValues=0 then exit sub
' VML tags ************************** *********
.Write "<xml:namespace prefix=""v""/>"
.Write "<object id=""VMLRender"" classid=""CLSID:10072CEC-8 CC1-11D1-9 86E-00A0C9 55B42E"" width=""0"" height=""0""></object>"
.Write "<style> v\:* {behavior=url(#VMLRender)} </style>"
' ************************** ********** ********
' ************************** ********** ********
' Start Outer Table //
.Write pvHTMLouterTableDef & vbCrLf
.Write "<tr>" & vbCrLf
.Write "<td>" & vbCrLf
' ************************** ********** ********
' ************************** ********** ********
' Start Inner Table //
.Write pvHTMLinnertableDef & vbCrLf
if pvTitle<>"" then
.Write "<tr align=""center"" >" & vbCrLf
' Create Title //
if pvShowLegend then
.Write "<td colspan=""2""><b>" & strTitle & "</b><br><br></td>" & vbCrLf
else
.Write "<td><b>" & strTitle & "</b><br><br></td>" & vbCrLf
end if
.Write "</tr>" & vbCrLf
end if
' ************************** ********** ********
' Start Building Pie //
.Write "<tr>" & vbCrLf
.Write "<td>" & vbCrLf
'VML tags
.Write "<div id=""piechart"" style=""margin-top:0pt; margin-right:0pt;"">" & vbCrLf
.Write "<v:group style=""height=" & Height & "pt; width=" & Width & "pt"" coordsize=""4320,3240"">" & vbCrLf
' BUILD THE SHADOW ***************
if pvShadow then
.Write("<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path=""M 790 760 AE 790 760 707 707 " & startPoint & " " & magicNumber & " X E"">" & vbCrLf)
.Write("<v:stroke on=""False""/>" & vbCrLf)
.Write("</v:shape>" & vbCrLf)
end if
' BUILD THE PIE ********************
rsPieGraphValues.MoveFirst
do while not rsPieGraphValues.EOF
percentage = FormatNumber(rsPieGraphVal ues("value ").Value / sumOfValues, 3)
endPoint = magicNumber * percentage
endPoint = FormatNumber(endPoint, 0)
endPoint = Fix(endPoint)
.Write("<v:shape title="""& rsPieGraphValues("label"). Value &""" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=" & rsPieGraphValues("color"). Value & " path=""M 750 720 AE 750 720 707 707 " & startPoint & " " & endPoint & " X E""/>" & vbCrLf)
startPoint = startPoint + endPoint
rsPieGraphValues.MoveNext
loop
' VML tag
.Write("</v:group></div>" & vbCrLf)
.Write("</td>" & vbCrLf)
' End Build Pie ************************** ****
' ************************** ********** ********
' Start Legend Table //
if pvShowLegend then
.Write("<td>" & vbCrLf)
.Write("<table bordercolor=""white"" border=""1"" cellpadding=""0"">" & vbCrLf)
' Step 6) BUILD THE LEGEND
rsPieGraphValues.MoveFirst
do while not rsPieGraphValues.EOF
.Write("<tr>" & vbCrLf)
' Color //
.Write "<td><img src='../images/1pixel.gif' border=1 width='" & pvLegendSize & "' height='" & pvLegendSize & "' style='background:" & rsPieGraphValues("color"). Value & ";'/></td>"
' Category //
.Write("<td>" & vbCrLf)
.Write ReturnValueWithFontTags(rs PieGraphVa lues("labe l").Value) & vbCrLf
.Write("</td>" & vbCrLf)
' Value or Percent //
if pvShowValues then
.Write("<td align=""right"">" & vbCrLf)
if pvFormatValuesAsCurrency then
.Write ReturnValueWithFontTags(fo rmatnumber (rsPieGrap hValues("v alue").Val ue,2,true, false,fals e)) & vbCrLf
else
.Write Replace(ReturnValueWithFon tTags(rsPi eGraphValu es("value" ).Value)," .",":") & vbCrLf
end if
.Write("</td>" & vbCrLf)
end if
.Write("</tr>" & vbCrLf)
rsPieGraphValues.MoveNext
loop
' End Legend Table ************************** *
.Write("</table>" & vbCrLf)
.Write("</td>" & vbCrLf)
end if
' End Inner Table ************************** **
.Write("</tr>" & vbCrLf)
.Write("</table>" & vbCrLf)
' End Outer Table ************************** **
.Write("</td>" & vbCrLf)
.Write("</tr>" & vbCrlf)
.Write("</table>" & vbCrLf)
end with
end sub
'------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---
end class
%>
Thanks in advance
<div id="employee">
<table border="1" bordercolor="#111111" id="table1" class="table1" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2">
<b>Employee Name:</b> Aebersold_Erin
</td>
</tr>
<tr>
<td>
<b>Employee ID:</b> s008450
</td><td>
<b>Manager Name:</b> Management_OPM
</td>
</tr><tr>
<td colspan="2">
<xml:namespace prefix="v"/><object id="VMLRender" classid="CLSID:10072CEC-8C
<tr>
<td>
<table>
<tr align="center" >
<td colspan="2"><b>Total Time Logged In: 180:54</b><br><br></td>
</tr>
<tr>
<td>
<div id="piechart" style="margin-top:0pt; margin-right:0pt;">
<v:group style="height=375pt; width=500pt" coordsize="4320,3240">
<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path="M 790 760 AE 790 760 707 707 5850000 23592960 X E">
<v:stroke on="False"/>
</v:shape>
<v:shape title="ACW" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=Red path="M 750 720 AE 750 720 707 707 5850000 5827461 X E"/>
<v:shape title="Admin" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=aqua path="M 750 720 AE 750 720 707 707 11677461 613417 X E"/>
<v:shape title="Available" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=silver path="M 750 720 AE 750 720 707 707 12290878 165151 X E"/>
<v:shape title="Break" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=blue path="M 750 720 AE 750 720 707 707 12456029 1863844 X E"/>
<v:shape title="Consult" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=yellow path="M 750 720 AE 750 720 707 707 14319873 23593 X E"/>
<v:shape title="Default" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=purple path="M 750 720 AE 750 720 707 707 14343466 70779 X E"/>
<v:shape title="Hold" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=green path="M 750 720 AE 750 720 707 707 14414245 684196 X E"/>
<v:shape title="Lunch" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=lime path="M 750 720 AE 750 720 707 707 15098441 849347 X E"/>
<v:shape title="Meeting/Training" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=maroon path="M 750 720 AE 750 720 707 707 15947788 23593 X E"/>
<v:shape title="On a Call" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=fuchsia path="M 750 720 AE 750 720 707 707 15971381 11796480 X E"/>
<v:shape title="Project" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=teal path="M 750 720 AE 750 720 707 707 27767861 1722286 X E"/>
<v:shape title="Technical" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=olive path="M 750 720 AE 750 720 707 707 29490147 0 X E"/>
</v:group></div>
</td>
<td>
<table bordercolor="white" border="1" cellpadding="0">
<tr>
<td><img src='../images/1pixel.gif'
<font>ACW</font>
</td>
<td align="right">
<font>44:15</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif'
<font>Admin</font>
</td>
<td align="right">
<font>4:58</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif'
<font>Available</font>
</td>
<td align="right">
<font>1:17</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif'
<font>Break</font>
</td>
<td align="right">
<font>14:06</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif'
<font>Consult</font>
</td>
<td align="right">
<font>0:09</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif'
<font>Default</font>
</td>
<td align="right">
<font>0:54</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif'
<font>Hold</font>
</td>
<td align="right">
<font>5:21</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif'
<font>Lunch</font>
</td>
<td align="right">
<font>6:37</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif'
<font>Meeting/Training</fo
</td>
<td align="right">
<font>0:1</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif'
<font>On a Call</font>
</td>
<td align="right">
<font>89:46</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif'
<font>Project</font>
</td>
<td align="right">
<font>13:14</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif'
<font>Technical</font>
</td>
<td align="right">
<font>0:07</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
This is confusing the heck out of me here is the class itself
<%
'this is to be included within a page to draw out pie graphs
'*************************
'
'
' DrawPieGraph
'
' Funnily enough DrawPieGraph does just that. It draws a Pie graph.
'
' Public Properties: Please note that all properties are set defaults when the class is initialized.
'
' Diameter read/write int
' Diameter is not strictly the diameter of the circle increasing this exponatially increases the
' size of the circle.
'
' Shadow read/write boolean
' Draws a nice little shadow with your pie.
'
' Title read/write string
' Set this to title your graph. You can also include html formating if desired. ie: <font size=5>
'
' ShowLegend read/write boolean
' Set this to false if you don't want to display the legend.
'
' LegendSize read/write int
' This sets the size of the images used for the legend. Personally I like 10.
'
' HTMLinnerTableDef read/write string
' Set this to change the display of the graph.
'
' HTMLouterTableDef read/write string
' Set this to change the display of the graph.
'
' ShowValues read/write boolean
' Set this to false if you don't want to display the values.
'
' FormatValuesAsCurrency read/write boolean
' Set this to format the value as n.nn
'
' FontDef read/write string
' Set this to change the display of the legend characters.
'
' Public Methods:
' AddValue
' Parameters
' value: the value which will be converted to a percentage of the overall total
' to display a segment of the pie graph.
' label: a title/description of the value.
' color: the color to use for this segment. Must be in hex format ie:#00ffdd etc
'
' call AddValue for all the different segments that you want to display.
'
' DeleteAllAddedValues
' Parameters none
'
' call DeleteAllAddedValues to delete all the values previously added. This is useful if you
' 5:14 PM 4/5/2006 are drawing multiple pie graphs, so you can use the one object to do them all.
'
' Draw
' Parameters none
'
' call Draw to draw out the graph.
'
'*************************
class DrawPieGraph
private pvDiameter
private pvShadow
private pvTitle
private rsPieGraphValues
private pvShowLegend
private pvLegendSize
private pvHTMLinnerTableDef
private pvHTMLouterTableDef
private pvShowValues
private pvFormatValuesAsCurrency
private pvFontDef
'-------------------------
private function ReturnRecordset
dim rs
set rs = CreateObject("ADODB.Record
'value fld is currency data type (6)
rs.Fields.append "value",6
'label fld is varchar type (200), length is 50 chars long max
rs.Fields.append "label",200,50
'color fld is varchar type (200), length is 20 chars long, must be hex value
rs.Fields.append "color",200,20
'open the rs ready for adding records
rs.Open
set ReturnRecordset = rs
end function
'-------------------------
private function ReturnValueWithFontTags(va
ReturnValueWithFontTags = pvFontDef & value & "</font>"
end function
'-------------------------
private sub Class_Initialize
set rsPieGraphValues = ReturnRecordset
pvDiameter = 100
pvShadow = true
pvTitle = "Time Report"
pvShowLegend = true
pvLegendSize = 20
pvHTMLinnertableDef = "<table cols=""2"" border=1>"
pvHTMLouterTableDef = "<table cellpadding=""12"" style=""border: 2px outset;"">"
pvShowValues = true
pvFormatValuesAsCurrency = false
pvFontDef = "<font size=2>"
end sub
'-------------------------
'the diameter of the circle, integer
public property let Diameter(value)
pvDiameter=cint(value)
end property
'-------------------------
public property get Diameter
Diameter=pvDiameter
end property
'-------------------------
'the shadow true/false
public property let Shadow(value)
pvShadow=cbool(value)
end property
'-------------------------
public property get Shadow
Shadow=pvShadow
end property
'-------------------------
'the title - string value
public property let Title(value)
pvTitle=cstr(value)
end property
'-------------------------
public property get Title
Title=pvTitle
end property
'-------------------------
'draw out the legend
public property let ShowLegend(value)
pvShowLegend=cbool(value)
end property
'-------------------------
public property get ShowLegend
ShowLegend=pvShowLegend
end property
'-------------------------
'the legend size
public property let LegendSize(value)
pvLegendSize=cstr(value)
end property
'-------------------------
public property get LegendSize
LegendSize=pvLegendSize
end property
'-------------------------
'table definition for inner table to allow customisation
public property let HTMLinnerTableDef(value)
pvHTMLinnertableDef=cstr(v
end property
'-------------------------
public property get HTMLinnerTableDef
HTMLinnerTableDef=pvHTMLin
end property
'-------------------------
'table definition for inner table to allow customisation
public property let HTMLouterTableDef(value)
pvHTMLouterTableDef=cstr(v
end property
'-------------------------
public property get HTMLouterTableDef
HTMLouterTableDef=pvHTMLou
end property
'-------------------------
'show the values or not
public property let ShowValues(value)
pvShowValues=cbool(value)
end property
'-------------------------
public property get ShowValues
ShowValues=pvShowValues
end property
'-------------------------
'the size of the font for the value display
public property let FontDef(value)
pvFontDef=cstr(value)
end property
'-------------------------
public property get FontDef
FontDef=pvFontDef
end property
'-------------------------
'format the values as currency or not
public property let FormatValuesAsCurrency(val
pvFormatValuesAsCurrency=c
end property
'-------------------------
public property get FormatValuesAsCurrency
FormatValuesAsCurrency=pvF
end property
'-------------------------
'add the values for the different segments of the pie chart
public sub AddValue(value,label,color
with rsPieGraphValues
.AddNew
.Fields("value") = value
.Fields("label") = label
.Fields("color") = color
.Update
end with
end sub
'-------------------------
public sub DeleteAllAddedValues
set rsPieGraphValues = nothing
set rsPieGraphValues = ReturnRecordset
end sub
'-------------------------
'draw the actual graph
public sub Draw
Dim startPoint, endPoint, sumOfValues, percentage, i
Dim strTitle, magicNumber
dim Height, Width
if rsPieGraphValues.EOF and rsPieGraphValues.BOF then exit sub
magicNumber = 23592960 ' It's mystical, magical, kinda nutty even
startPoint = 5850000 ' this setting is approximately 12:00 noon
strTitle=pvTitle
'height to width ratio is h:w = 0.75:1
'we work out the height and width from the diameter given
'the formula is diameter=100 therefore height=375pt; width=500pt
Height = round(pvDiameter * 3.75,0)
Width = round(pvDiameter * 5,0)
with response
' GET SUM OF VALUES ****************
rsPieGraphValues.MoveFirst
do while not rsPieGraphValues.EOF
sumOfValues = sumOfValues + rsPieGraphValues("value").
rsPieGraphValues.MoveNext
loop
if sumOfValues=0 then exit sub
' VML tags **************************
.Write "<xml:namespace prefix=""v""/>"
.Write "<object id=""VMLRender"" classid=""CLSID:10072CEC-8
.Write "<style> v\:* {behavior=url(#VMLRender)}
' **************************
' **************************
' Start Outer Table //
.Write pvHTMLouterTableDef & vbCrLf
.Write "<tr>" & vbCrLf
.Write "<td>" & vbCrLf
' **************************
' **************************
' Start Inner Table //
.Write pvHTMLinnertableDef & vbCrLf
if pvTitle<>"" then
.Write "<tr align=""center"" >" & vbCrLf
' Create Title //
if pvShowLegend then
.Write "<td colspan=""2""><b>" & strTitle & "</b><br><br></td>" & vbCrLf
else
.Write "<td><b>" & strTitle & "</b><br><br></td>" & vbCrLf
end if
.Write "</tr>" & vbCrLf
end if
' **************************
' Start Building Pie //
.Write "<tr>" & vbCrLf
.Write "<td>" & vbCrLf
'VML tags
.Write "<div id=""piechart"" style=""margin-top:0pt; margin-right:0pt;"">" & vbCrLf
.Write "<v:group style=""height=" & Height & "pt; width=" & Width & "pt"" coordsize=""4320,3240"">" & vbCrLf
' BUILD THE SHADOW ***************
if pvShadow then
.Write("<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path=""M 790 760 AE 790 760 707 707 " & startPoint & " " & magicNumber & " X E"">" & vbCrLf)
.Write("<v:stroke on=""False""/>" & vbCrLf)
.Write("</v:shape>" & vbCrLf)
end if
' BUILD THE PIE ********************
rsPieGraphValues.MoveFirst
do while not rsPieGraphValues.EOF
percentage = FormatNumber(rsPieGraphVal
endPoint = magicNumber * percentage
endPoint = FormatNumber(endPoint, 0)
endPoint = Fix(endPoint)
.Write("<v:shape title="""& rsPieGraphValues("label").
startPoint = startPoint + endPoint
rsPieGraphValues.MoveNext
loop
' VML tag
.Write("</v:group></div>" & vbCrLf)
.Write("</td>" & vbCrLf)
' End Build Pie **************************
' **************************
' Start Legend Table //
if pvShowLegend then
.Write("<td>" & vbCrLf)
.Write("<table bordercolor=""white"" border=""1"" cellpadding=""0"">" & vbCrLf)
' Step 6) BUILD THE LEGEND
rsPieGraphValues.MoveFirst
do while not rsPieGraphValues.EOF
.Write("<tr>" & vbCrLf)
' Color //
.Write "<td><img src='../images/1pixel.gif'
' Category //
.Write("<td>" & vbCrLf)
.Write ReturnValueWithFontTags(rs
.Write("</td>" & vbCrLf)
' Value or Percent //
if pvShowValues then
.Write("<td align=""right"">" & vbCrLf)
if pvFormatValuesAsCurrency then
.Write ReturnValueWithFontTags(fo
else
.Write Replace(ReturnValueWithFon
end if
.Write("</td>" & vbCrLf)
end if
.Write("</tr>" & vbCrLf)
rsPieGraphValues.MoveNext
loop
' End Legend Table **************************
.Write("</table>" & vbCrLf)
.Write("</td>" & vbCrLf)
end if
' End Inner Table **************************
.Write("</tr>" & vbCrLf)
.Write("</table>" & vbCrLf)
' End Outer Table **************************
.Write("</td>" & vbCrLf)
.Write("</tr>" & vbCrlf)
.Write("</table>" & vbCrLf)
end with
end sub
'-------------------------
end class
%>
Thanks in advance
ASKER
another problem im having that some of these strecth across the screen and some stop at there spot
here's part of the head of my document and how im calling the class
<style type="text/css">
#employee{
width:600px
}
.table1{
width:600px
}
#piechart{
margin-right:0px;
width:60%;
}
body
{
margin-left:100px;
margin-right:200px;
}
</style>
</head>
<body>
<!--#include file="DrawPieGraphtj.asp"- ->
<%
Dim oGraph
Dim names()
Dim values()
Dim piecolor(12)
piecolor(0)="Red"
piecolor(1)="aqua"
piecolor(2)="silver"
piecolor(3)="blue"
piecolor(4)="yellow"
piecolor(5)="purple"
piecolor(6)="green"
piecolor(7)="lime"
piecolor(8)="maroon"
piecolor(9)="fuchsia"
piecolor(10)="teal"
piecolor(11)="olive"
Set oGraph = New DrawPieGraph
b=1
c=1
for i=2 to Request.Form("NumofForms")
%>
<div id="employee">
<table border="1" bordercolor="#111111" id="table1" class="table1" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2">
<b>Employee Name:</b> <%=Trim(Request.Form("CSR" &i))%>
</td>
</tr>
<tr>
<td>
<b>Employee ID:</b> <%=Trim(Request.Form("Empl ID"&i))%>
</td><td>
<b>Manager Name:</b> <%=Trim(Request.Form("Mana ger"&i))%>
</td>
</tr><tr>
<td colspan="2">
<%
for a=1 to Request.Form("totalflds"&i )
If Request.Form("Form_"&i&"La b_"&a)<>"" Then
'Response.Write("label"&i& "_"&a&"="& Request.Fo rm("Form_" &i&"Lab_"& a)&"<br>")
Redim Preserve names(b)
names(b-1)=Request.Form("F orm_"&i&"L ab_"&a)
b=b+1
End If
If Request.Form("Form_"&i&"Fl d_"&a)<>"" Then
'Response.Write("value"&i& "_"&a&"="& Request.Fo rm("Form_" &i&"Fld_"& a)&"<br>")
Redim Preserve values(c)
values(c-1)=Request.Form(" Form_"&i&" Fld_"&a)
c=c+1
End If
next
With oGraph
.Diameter = 100
.Shadow = true
.ShowLegend = true
.LegendSize = 15
.ShowValues = true
.FontDef = "<font>"
.HTMLouterTableDef = "<table cols=""2"" width=""60%"">"
.HTMLinnerTableDef = "<table>"
.Title = "Total Time Logged In: " &Trim(Request.Form("totalv al"&i))&""
End With
For j=0 to Ubound(names)-1
colorval=piecolor(j)
oGraph.AddValue Replace(values(j),":",".") , names(j), colorval
next
'Response.End
oGraph.Draw
'Response.End
oGraph.DeleteAllAddedValue s
c=1
b=1
Redim values(12)
Redim names(12)
%> </td>
</tr>
</table>
</div>
<hr width="75%" align="left">
<%
next
Set oGraph = Nothing
%>
</body>
Thanks I really appreciate any help i can get
here's part of the head of my document and how im calling the class
<style type="text/css">
#employee{
width:600px
}
.table1{
width:600px
}
#piechart{
margin-right:0px;
width:60%;
}
body
{
margin-left:100px;
margin-right:200px;
}
</style>
</head>
<body>
<!--#include file="DrawPieGraphtj.asp"-
<%
Dim oGraph
Dim names()
Dim values()
Dim piecolor(12)
piecolor(0)="Red"
piecolor(1)="aqua"
piecolor(2)="silver"
piecolor(3)="blue"
piecolor(4)="yellow"
piecolor(5)="purple"
piecolor(6)="green"
piecolor(7)="lime"
piecolor(8)="maroon"
piecolor(9)="fuchsia"
piecolor(10)="teal"
piecolor(11)="olive"
Set oGraph = New DrawPieGraph
b=1
c=1
for i=2 to Request.Form("NumofForms")
%>
<div id="employee">
<table border="1" bordercolor="#111111" id="table1" class="table1" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2">
<b>Employee Name:</b> <%=Trim(Request.Form("CSR"
</td>
</tr>
<tr>
<td>
<b>Employee ID:</b> <%=Trim(Request.Form("Empl
</td><td>
<b>Manager Name:</b> <%=Trim(Request.Form("Mana
</td>
</tr><tr>
<td colspan="2">
<%
for a=1 to Request.Form("totalflds"&i
If Request.Form("Form_"&i&"La
'Response.Write("label"&i&
Redim Preserve names(b)
names(b-1)=Request.Form("F
b=b+1
End If
If Request.Form("Form_"&i&"Fl
'Response.Write("value"&i&
Redim Preserve values(c)
values(c-1)=Request.Form("
c=c+1
End If
next
With oGraph
.Diameter = 100
.Shadow = true
.ShowLegend = true
.LegendSize = 15
.ShowValues = true
.FontDef = "<font>"
.HTMLouterTableDef = "<table cols=""2"" width=""60%"">"
.HTMLinnerTableDef = "<table>"
.Title = "Total Time Logged In: " &Trim(Request.Form("totalv
End With
For j=0 to Ubound(names)-1
colorval=piecolor(j)
oGraph.AddValue Replace(values(j),":",".")
next
'Response.End
oGraph.Draw
'Response.End
oGraph.DeleteAllAddedValue
c=1
b=1
Redim values(12)
Redim names(12)
%> </td>
</tr>
</table>
</div>
<hr width="75%" align="left">
<%
next
Set oGraph = Nothing
%>
</body>
Thanks I really appreciate any help i can get
hmm....try to use a pixel width here instead of percentage:.HTMLouterTable Def = "<table cols=""2"" width=""60%"">"
ASKER
Thanks for the input but Changing to print background images had no effect, Print preview wont even show any of the text from the screen on multiple pcs. This is a little wierd, I cant send it to an acrobat distiller or anything :( Any advice on how i can get this to print.
Also I tried changing to 600px but its still reacting the same way its like it is adding all kinds of padding next to the pie charts but the ones that its doing it on are picked randomly, and there's no viewable difference in the source
Thanks again for any help
Also I tried changing to 600px but its still reacting the same way its like it is adding all kinds of padding next to the pie charts but the ones that its doing it on are picked randomly, and there's no viewable difference in the source
Thanks again for any help
hmm.
Can you send me a link of the example?
Can you send me a link of the example?
ASKER
yes i will move it to an externally viewable web server
ASKER
this one the last four or five have extra padding
http://12.202.16.114/pie/default.asp?report=opmviewrpt.xls
but on some others it is a little more random
http://12.202.16.114/pie/default.asp?report=eeeviewrpt.xls
you can see what the default page has on it by changing it to default2.asp
Thanks again
on that first link. I noticed Rushin_Stephanie(?) is expanded beyond the page. I did a 'View Source' and found this:
<div id="piechart" style="margin-top:0pt; margin-right:0pt;">
<v:group style="height=375pt; width=500pt" coordsize="4320,3240">
<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path="M 790 760 AE 790 760 707 707 5850000 23592960 X E">
<v:stroke on="False"/>
</v:shape>
<v:shape title="ACW" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=Red path="M 750 720 AE 750 720 707 707 5850000 1627914 X E"/>
<v:shape title="Admin" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=aqua path="M 750 720 AE 750 720 707 707 7477914 141558 X E"/>
<v:shape title="Available" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=silver path="M 750 720 AE 750 720 707 707 7619472 117965 X E"/>
<v:shape title="Break" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=blue path="M 750 720 AE 750 720 707 707 7737437 1604321 X E"/>
<v:shape title="Consult" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=yellow path="M 750 720 AE 750 720 707 707 9341758 47186 X E"/>
<v:shape title="Default" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=purple path="M 750 720 AE 750 720 707 707 9388944 23593 X E"/>
<v:shape title="Hold" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=green path="M 750 720 AE 750 720 707 707 9412537 802161 X E"/>
<v:shape title="Lunch" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=lime path="M 750 720 AE 750 720 707 707 10214698 1368392 X E"/>
<v:shape title="Meeting/Training" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=maroon path="M 750 720 AE 750 720 707 707 11583090 188744 X E"/>
<v:shape title="On a Call" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=fuchsia path="M 750 720 AE 750 720 707 707 11771834 7596933 X E"/>
<v:shape title="Project" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=teal path="M 750 720 AE 750 720 707 707 19368767 10050601 X E"/>
<v:shape title="Records Merge Activity" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=olive path="M 750 720 AE 750 720 707 707 29419368 0 X E"/>
<v:shape title="Technical" style='width:4320; height:3240' strokeweight=0.5pt fillcolor= path="M 750 720 AE 750 720 707 707 29419368 0 X E"/>
</v:group></div>
see the width:4320; I'm wondering if something in your spreadsheet is making it do this. Are there external settings to the component you are using for this?
<div id="piechart" style="margin-top:0pt; margin-right:0pt;">
<v:group style="height=375pt; width=500pt" coordsize="4320,3240">
<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path="M 790 760 AE 790 760 707 707 5850000 23592960 X E">
<v:stroke on="False"/>
</v:shape>
<v:shape title="ACW" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=Red path="M 750 720 AE 750 720 707 707 5850000 1627914 X E"/>
<v:shape title="Admin" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=aqua path="M 750 720 AE 750 720 707 707 7477914 141558 X E"/>
<v:shape title="Available" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=silver path="M 750 720 AE 750 720 707 707 7619472 117965 X E"/>
<v:shape title="Break" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=blue path="M 750 720 AE 750 720 707 707 7737437 1604321 X E"/>
<v:shape title="Consult" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=yellow path="M 750 720 AE 750 720 707 707 9341758 47186 X E"/>
<v:shape title="Default" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=purple path="M 750 720 AE 750 720 707 707 9388944 23593 X E"/>
<v:shape title="Hold" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=green path="M 750 720 AE 750 720 707 707 9412537 802161 X E"/>
<v:shape title="Lunch" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=lime path="M 750 720 AE 750 720 707 707 10214698 1368392 X E"/>
<v:shape title="Meeting/Training" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=maroon path="M 750 720 AE 750 720 707 707 11583090 188744 X E"/>
<v:shape title="On a Call" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=fuchsia path="M 750 720 AE 750 720 707 707 11771834 7596933 X E"/>
<v:shape title="Project" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=teal path="M 750 720 AE 750 720 707 707 19368767 10050601 X E"/>
<v:shape title="Records Merge Activity" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=olive path="M 750 720 AE 750 720 707 707 29419368 0 X E"/>
<v:shape title="Technical" style='width:4320; height:3240' strokeweight=0.5pt fillcolor= path="M 750 720 AE 750 720 707 707 29419368 0 X E"/>
</v:group></div>
see the width:4320; I'm wondering if something in your spreadsheet is making it do this. Are there external settings to the component you are using for this?
ASKER
Thanks for the response, This number 4320 is the same on the ones that are the correct width on the screen it comes from this part of the class
.Write "<v:group style=""height=" & Height & "pt; width=" & Width & "pt"" coordsize=""4320,3240"">" & vbCrLf
' BUILD THE SHADOW ***************
if pvShadow then
.Write("<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path=""M 790 760 AE 790 760 707 707 " & startPoint & " " & magicNumber & " X E"">" & vbCrLf)
If i change it to a smaller size like 2000 it is only half the size but the table and padding issue stays the same
Iam much more concerned however as to why i cannot print this page.
Thanks again for your continued assistance
.Write "<v:group style=""height=" & Height & "pt; width=" & Width & "pt"" coordsize=""4320,3240"">" & vbCrLf
' BUILD THE SHADOW ***************
if pvShadow then
.Write("<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path=""M 790 760 AE 790 760 707 707 " & startPoint & " " & magicNumber & " X E"">" & vbCrLf)
If i change it to a smaller size like 2000 it is only half the size but the table and padding issue stays the same
Iam much more concerned however as to why i cannot print this page.
Thanks again for your continued assistance
I actually had a problem like this before with VML. We displayed VML shapes on a webpage, and it looked fine, but when people started printing it, it just disappeared. Later on I created new pages from scratch and it seemed to print fine. I never really figured out what the cause was though. Have you checked your HTML tag?
<HTML xmlns:v="urn:schemas-micro soft-com:v ml" xmlns:o="urn:schemas-micro soft-com:o ffice:offi ce" xmlns="http://www.w3.org/TR/REC-html40">
and your CSS
<!--[if !mso]>
<style>
v\:* { behavior: url(#default#VML) }
o\:* { behavior: url(#default#VML) }
.shape { behavior: url(#default#VML) }
</style>
<![endif]-->
The only funny thing I noticed with VML is that if you are printing VML using (response.write) ASP code, it wouldn't display sometimes until you explicitly wrote VML outside the ASP. (Then again, I was working with Frontpage so there may have been an issue there). Does your code display correctly in the browser (I can't see the page from where I work) ?
Try creating a simple page with 1 shape on it and see if it prints.
<HTML xmlns:v="urn:schemas-micro
and your CSS
<!--[if !mso]>
<style>
v\:* { behavior: url(#default#VML) }
o\:* { behavior: url(#default#VML) }
.shape { behavior: url(#default#VML) }
</style>
<![endif]-->
The only funny thing I noticed with VML is that if you are printing VML using (response.write) ASP code, it wouldn't display sometimes until you explicitly wrote VML outside the ASP. (Then again, I was working with Frontpage so there may have been an issue there). Does your code display correctly in the browser (I can't see the page from where I work) ?
Try creating a simple page with 1 shape on it and see if it prints.
btw I copied the VML portion of your code and pasted it on a new page and it displays and prints fine... did this work for you as well?
(I'm assuming your code is correct and it's just the VML is what is being quirky)
<HTML xmlns:v="urn:schemas-micro soft-com:v ml" xmlns:o="urn:schemas-micro soft-com:o ffice:offi ce" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<!--[if !mso]>
<style>
v\:* { behavior: url(#default#VML) }
o\:* { behavior: url(#default#VML) }
.shape { behavior: url(#default#VML) }
</style>
<![endif]-->
</head>
<body>
<div id="piechart" style="margin-top:0pt; margin-right:0pt;">
<v:group style="height=375pt; width=500pt" coordsize="4320,3240">
<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path="M 790 760 AE 790 760 707 707 5850000 23592960 X E">
<v:stroke on="False"/>
</v:shape>
<v:shape title="ACW" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=Red path="M 750 720 AE 750 720 707 707 5850000 5827461 X E"/>
<v:shape title="Admin" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=aqua path="M 750 720 AE 750 720 707 707 11677461 613417 X E"/>
<v:shape title="Available" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=silver path="M 750 720 AE 750 720 707 707 12290878 165151 X E"/>
<v:shape title="Break" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=blue path="M 750 720 AE 750 720 707 707 12456029 1863844 X E"/>
<v:shape title="Consult" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=yellow path="M 750 720 AE 750 720 707 707 14319873 23593 X E"/>
<v:shape title="Default" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=purple path="M 750 720 AE 750 720 707 707 14343466 70779 X E"/>
<v:shape title="Hold" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=green path="M 750 720 AE 750 720 707 707 14414245 684196 X E"/>
<v:shape title="Lunch" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=lime path="M 750 720 AE 750 720 707 707 15098441 849347 X E"/>
<v:shape title="Meeting/Training" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=maroon path="M 750 720 AE 750 720 707 707 15947788 23593 X E"/>
<v:shape title="On a Call" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=fuchsia path="M 750 720 AE 750 720 707 707 15971381 11796480 X E"/>
<v:shape title="Project" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=teal path="M 750 720 AE 750 720 707 707 27767861 1722286 X E"/>
<v:shape title="Technical" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=olive path="M 750 720 AE 750 720 707 707 29490147 0 X E"/>
</v:group></div>
</body>
</html>
(I'm assuming your code is correct and it's just the VML is what is being quirky)
<HTML xmlns:v="urn:schemas-micro
<head>
<!--[if !mso]>
<style>
v\:* { behavior: url(#default#VML) }
o\:* { behavior: url(#default#VML) }
.shape { behavior: url(#default#VML) }
</style>
<![endif]-->
</head>
<body>
<div id="piechart" style="margin-top:0pt; margin-right:0pt;">
<v:group style="height=375pt; width=500pt" coordsize="4320,3240">
<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path="M 790 760 AE 790 760 707 707 5850000 23592960 X E">
<v:stroke on="False"/>
</v:shape>
<v:shape title="ACW" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=Red path="M 750 720 AE 750 720 707 707 5850000 5827461 X E"/>
<v:shape title="Admin" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=aqua path="M 750 720 AE 750 720 707 707 11677461 613417 X E"/>
<v:shape title="Available" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=silver path="M 750 720 AE 750 720 707 707 12290878 165151 X E"/>
<v:shape title="Break" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=blue path="M 750 720 AE 750 720 707 707 12456029 1863844 X E"/>
<v:shape title="Consult" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=yellow path="M 750 720 AE 750 720 707 707 14319873 23593 X E"/>
<v:shape title="Default" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=purple path="M 750 720 AE 750 720 707 707 14343466 70779 X E"/>
<v:shape title="Hold" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=green path="M 750 720 AE 750 720 707 707 14414245 684196 X E"/>
<v:shape title="Lunch" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=lime path="M 750 720 AE 750 720 707 707 15098441 849347 X E"/>
<v:shape title="Meeting/Training" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=maroon path="M 750 720 AE 750 720 707 707 15947788 23593 X E"/>
<v:shape title="On a Call" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=fuchsia path="M 750 720 AE 750 720 707 707 15971381 11796480 X E"/>
<v:shape title="Project" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=teal path="M 750 720 AE 750 720 707 707 27767861 1722286 X E"/>
<v:shape title="Technical" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=olive path="M 750 720 AE 750 720 707 707 29490147 0 X E"/>
</v:group></div>
</body>
</html>
ASKER
Thanks for the response.. Sorry for the delay. I have adjusted the class above and the output page to show the proper , that this would work? namespaces and css attributes but im still having the same issue. Do you think that if i wrote this all to a file then used it.If i use file save as I still dont have the ability to print, so im not sure if this issue is b/c of the response.write statements or the code in general.
Thanks again for your help
Thanks again for your help
Ok, playing with your results page again...
When I copied and pasted your code on my page, I couldn't see the VML in print preview. But when I started copying just the body portion and placing it in a new page (using Frontpage), I could see the VML in the print preview. So I'm pretty sure that your response.writes and VML code are correct, but that you haven't defined the settings/environment correctly. Look below and see if any changes to the beginning part of the code work:
-------------------------- ---------- ---------- ---------- ---------- --
<html xmlns:v="urn:schemas-micro soft-com:v ml" xmlns:o="urn:schemas-micro soft-com:o ffice:offi ce" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 2</title>
<!--[if !mso]>
<style>
v\:* { behavior: url(#default#VML) }
o\:* { behavior: url(#default#VML) }
.shape { behavior: url(#default#VML) }
</style>
<![endif]--><!--[if gte mso 9]>
<xml><o:shapedefaults v:ext="edit" spidmax="1027"/>
</xml><![endif]-->
</head>
When I copied and pasted your code on my page, I couldn't see the VML in print preview. But when I started copying just the body portion and placing it in a new page (using Frontpage), I could see the VML in the print preview. So I'm pretty sure that your response.writes and VML code are correct, but that you haven't defined the settings/environment correctly. Look below and see if any changes to the beginning part of the code work:
--------------------------
<html xmlns:v="urn:schemas-micro
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 2</title>
<!--[if !mso]>
<style>
v\:* { behavior: url(#default#VML) }
o\:* { behavior: url(#default#VML) }
.shape { behavior: url(#default#VML) }
</style>
<![endif]--><!--[if gte mso 9]>
<xml><o:shapedefaults v:ext="edit" spidmax="1027"/>
</xml><![endif]-->
</head>
ASKER
Thanks I appreciate your response,
Ive adjusted the head of my document as requested:
---------
<html xmlns:v="urn:schemas-micro soft-com:v ml" xmlns:o="urn:schemas-micro soft-com:o ffice:offi ce" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<!--[if !mso]>
<style>
v\:* { behavior: url(#default#VML) }
o\:* { behavior: url(#default#VML) }
.shape { behavior: url(#default#VML) }
</style>
<![endif]--><!--[if gte mso 9]>
<xml><o:shapedefaults v:ext="edit" spidmax="1027"/>
</xml><![endif]-->
<style type="text/css">
#employee{
width:600px
}
.table1{
width:600px
}
#piechart{
margin-right:0px;
width:60%;
}
body
{
margin-left:100px;
margin-right:200px;
}
</style>
</head>
<body>
---
Im still receiving this issue unfortunately, I would try ad rebuild it, but im sure if i end up redoing it ill have the same results :( Do you know of anything else that could be causing this?
Ive adjusted the head of my document as requested:
---------
<html xmlns:v="urn:schemas-micro
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<!--[if !mso]>
<style>
v\:* { behavior: url(#default#VML) }
o\:* { behavior: url(#default#VML) }
.shape { behavior: url(#default#VML) }
</style>
<![endif]--><!--[if gte mso 9]>
<xml><o:shapedefaults v:ext="edit" spidmax="1027"/>
</xml><![endif]-->
<style type="text/css">
#employee{
width:600px
}
.table1{
width:600px
}
#piechart{
margin-right:0px;
width:60%;
}
body
{
margin-left:100px;
margin-right:200px;
}
</style>
</head>
<body>
---
Im still receiving this issue unfortunately, I would try ad rebuild it, but im sure if i end up redoing it ill have the same results :( Do you know of anything else that could be causing this?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ah forget my last comment. I forgot that you already WERE trying to export it to xls. ~__~
Feh my browser at work is preventing me from seeing your xls page. I guess I'll have to try at home.
Not sure if thise helps.. but who knows? (the vml checkbox part in Excel)
From: http://office.microsoft.com/en-ca/assistance/HP052561811033.aspx
>>I see a blank image where the graphic should be on my Web page.
There are several reasons why graphics may not be appearing correctly on your Web page.
Adjust your browser settings Because different browsers support different versions of HTML and HTML extensions (HTML extensions: A feature or setting that is an extension to the formal HTML specification. Extensions may not be supported by all Web browsers, but they may be used widely by Web authors. An example of an extension is marquee scrolling text.), text and graphics may look different in one computer's browser than they do in another. In some cases, graphic images appear as blanks because the browser is set to not display graphics. You can sometimes make missing graphics appear in your browser by adjusting the option to display graphics.
Test your page with different browsers When you create Web pages, consider testing them in different Web browsers— some of which are available for downloading from the Web— and with different monitor settings, to make sure all of your page elements appear correctly.
Graphics might be turned off in your Web browser To make sure that graphics are being downloaded, do the following:
Open your Web page in Microsoft Excel.
On the Tools menu, click Options, and then click the General tab.
Click Web Options, and then click the Browsers tab.
Clear the Rely on VML for displaying graphics in browsers check box. <------------------
You might have used the wrong picture format If you link a graphic to a Web page, and the graphic format isn't supported by your browser, your graphics won't show. Make sure that the linked picture is in a graphic format that is compatible with your browser. The graphic formats JPG (JPEG: A graphics file format (.jpg extension in Microsoft Windows) supported by many Web browsers that was developed for compressing and storing photographic images. It's best used for graphics with many colors, such as scanned photos.) and GIF (GIF: A graphics file format (.gif extension in Windows) used to display indexed-color graphics on the World Wide Web. It supports up to 256 colors and uses lossless compression, meaning that no image data is lost when the file is compressed.) are compatible with most browsers.
You might have changed a linked picture If you make a visual change to a linked picture, such as adding a shadow, border or outline, fill, or contrast or brightness adjustment, then Excel will create another picture with those changes for displaying in a Web page. When you view the Web page in Microsoft Internet Explorer 4 or earlier, the picture will appear with the changes but the link to the original picture will be broken. To fix the link, select the picture and click Reset Picture on the Picture toolbar.
From: http://office.microsoft.com/en-ca/assistance/HP052561811033.aspx
>>I see a blank image where the graphic should be on my Web page.
There are several reasons why graphics may not be appearing correctly on your Web page.
Adjust your browser settings Because different browsers support different versions of HTML and HTML extensions (HTML extensions: A feature or setting that is an extension to the formal HTML specification. Extensions may not be supported by all Web browsers, but they may be used widely by Web authors. An example of an extension is marquee scrolling text.), text and graphics may look different in one computer's browser than they do in another. In some cases, graphic images appear as blanks because the browser is set to not display graphics. You can sometimes make missing graphics appear in your browser by adjusting the option to display graphics.
Test your page with different browsers When you create Web pages, consider testing them in different Web browsers— some of which are available for downloading from the Web— and with different monitor settings, to make sure all of your page elements appear correctly.
Graphics might be turned off in your Web browser To make sure that graphics are being downloaded, do the following:
Open your Web page in Microsoft Excel.
On the Tools menu, click Options, and then click the General tab.
Click Web Options, and then click the Browsers tab.
Clear the Rely on VML for displaying graphics in browsers check box. <------------------
You might have used the wrong picture format If you link a graphic to a Web page, and the graphic format isn't supported by your browser, your graphics won't show. Make sure that the linked picture is in a graphic format that is compatible with your browser. The graphic formats JPG (JPEG: A graphics file format (.jpg extension in Microsoft Windows) supported by many Web browsers that was developed for compressing and storing photographic images. It's best used for graphics with many colors, such as scanned photos.) and GIF (GIF: A graphics file format (.gif extension in Windows) used to display indexed-color graphics on the World Wide Web. It supports up to 256 colors and uses lossless compression, meaning that no image data is lost when the file is compressed.) are compatible with most browsers.
You might have changed a linked picture If you make a visual change to a linked picture, such as adding a shadow, border or outline, fill, or contrast or brightness adjustment, then Excel will create another picture with those changes for displaying in a Web page. When you view the Web page in Microsoft Internet Explorer 4 or earlier, the picture will appear with the changes but the link to the original picture will be broken. To fix the link, select the picture and click Reset Picture on the Picture toolbar.
Apparently a few other people have had this problem:
http://groups.google.com/groups?hl=en&q=not+printing+vml
Possible stuff to check:
1. check verson of IE , or check other browsers to see if it works (firefox, mozilla, netscape - although I've never attempted looking at VML in those browsers)
2. The declarations of your VML:
<xml:namespace prefix="v"/>
<object id="VMLRender" classid="CLSID:10072CEC-8C C1-11D1-
986E-00A0C955B42E" width="0" height="0"></object>
<style> v\:* {behavior=url(#VMLRender)} </style>
OR
<HTML xmlns:v="urn:schemas-micro soft-com:v ml">
<style> v\:* {behavior:url(#default#VML );}
</style>
3. try printing to a different printer/computer
4. does your printer print VML when you're viewing somene else's webpage that contains VML in it? (check Microsoft's VML page and see if you can print the VML)
Other than that, I can't figure out what else can be the cause of it..
http://groups.google.com/groups?hl=en&q=not+printing+vml
Possible stuff to check:
1. check verson of IE , or check other browsers to see if it works (firefox, mozilla, netscape - although I've never attempted looking at VML in those browsers)
2. The declarations of your VML:
<xml:namespace prefix="v"/>
<object id="VMLRender" classid="CLSID:10072CEC-8C
986E-00A0C955B42E" width="0" height="0"></object>
<style> v\:* {behavior=url(#VMLRender)}
OR
<HTML xmlns:v="urn:schemas-micro
<style> v\:* {behavior:url(#default#VML
</style>
3. try printing to a different printer/computer
4. does your printer print VML when you're viewing somene else's webpage that contains VML in it? (check Microsoft's VML page and see if you can print the VML)
Other than that, I can't figure out what else can be the cause of it..
Check your browsers printing settings. By default IE will not print background images, you may need to check it off in the settings so that it does print the images