ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Charts and Charting in Excel (https://www.excelbanter.com/charts-charting-excel/)
-   -   Textbox on chart doesn't print in Office 2003, but does in 2007 (https://www.excelbanter.com/charts-charting-excel/185432-textbox-chart-doesnt-print-office-2003-but-does-2007-a.html)

Jeff Donkersgoed

Textbox on chart doesn't print in Office 2003, but does in 2007
 
I have some charts that I create through C# code on a "template" worksheet
and then copy it over to a new worksheet using the following code. When
looking at the chart.Shapes, I can see the three Textbox objects that I want
and these are the only shapes available. I can see them on the screen in
both Excel 2003 and 2007 correctly. When I print in 2003 though, the
textboxes don't appear like they do for 2007. Can anyone shed some light on
why this might be happening?

// Copy the images and charts (note index starts at 1)
for (int z = 1; z <= wsTemplate.Shapes.Count; z++)
{
((Excel.Shape)wsTemplate.Shapes.Item(z)).Copy();
wsClientPatient.get_Range("A1", "A1").Activate();
((Excel.Worksheet)app.ActiveSheet).Paste(Missing.V alue, Missing.Value);
}

for (int chartNum = 1; chartNum <= 2; chartNum++)
{
chart = ((Excel.ChartObject)wsClientPatient.ChartObjects(c hartNum)).Chart;
chart.ChartArea.Top = (chartNum == 1) ? 868 : 1047;
chart.ChartArea.Left = 25;

// Temporary test
for (int z = 1; z <= chart.Shapes.Count; z++)
{
object y = chart.Shapes.Item(z);
Microsoft.Office.Core.MsoShapeType yy = chart.Shapes.Item(z).Type;
}
}

Jeff Donkersgoed

Textbox on chart doesn't print in Office 2003, but does in 2007
 
I think I'm getting a bit closer...in Excel 2003, I discovered that the
"Print object" checkbox wasn't checked on my textboxes. Checking it allowed
them to show up in the print preview. Does anyone know how to set this in
code? I tried below, but the property was already set to true, so I don't
think it's the right spot. I can't find a similar checkbox in Excel 2007 to
verify.

for (int z = 1; z <= chart.Shapes.Count; z++)
{
chart.Shapes.Item(z).ControlFormat.PrintObject = true;
}

"Jeff Donkersgoed" wrote:

I have some charts that I create through C# code on a "template" worksheet
and then copy it over to a new worksheet using the following code. When
looking at the chart.Shapes, I can see the three Textbox objects that I want
and these are the only shapes available. I can see them on the screen in
both Excel 2003 and 2007 correctly. When I print in 2003 though, the
textboxes don't appear like they do for 2007. Can anyone shed some light on
why this might be happening?

// Copy the images and charts (note index starts at 1)
for (int z = 1; z <= wsTemplate.Shapes.Count; z++)
{
((Excel.Shape)wsTemplate.Shapes.Item(z)).Copy();
wsClientPatient.get_Range("A1", "A1").Activate();
((Excel.Worksheet)app.ActiveSheet).Paste(Missing.V alue, Missing.Value);
}

for (int chartNum = 1; chartNum <= 2; chartNum++)
{
chart = ((Excel.ChartObject)wsClientPatient.ChartObjects(c hartNum)).Chart;
chart.ChartArea.Top = (chartNum == 1) ? 868 : 1047;
chart.ChartArea.Left = 25;

// Temporary test
for (int z = 1; z <= chart.Shapes.Count; z++)
{
object y = chart.Shapes.Item(z);
Microsoft.Office.Core.MsoShapeType yy = chart.Shapes.Item(z).Type;
}
}



All times are GMT +1. The time now is 04:26 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com