1

我正在使用 Win32::OLE Perl 模块来更改图表中特定数据点的模式。

我可以这样做:

$chart->SeriesCollection(2)->Points(5)->{Interior}->{Pattern} = xlPatternUp;

例如。需要明确的是,这完全符合预期。但是 xlPattern* 常量只允许 Excel 识别的模式子集。似乎在 msoPattern* 常量中指定了全套模式(至少我要使用的特定模式是)。

我尝试以相同的方式使用其中一个 msoPattern* 常量:

$chart->SeriesCollection(2)->Points(5)->{Interior}->{Pattern} =
msoPatternWideUpwardDiagonal;

但这没有效果。数据点将以“实心”(默认)模式呈现。我已经确认我正确地导入了常量,例如:

use Win32::OLE::Const 'Microsoft Office 12.0 Object Library';

如何使用 msoPattern* 常量来更改模式?

4

2 回答 2

1

不幸的是,看起来你不能做你想做的事。

如果您查看“应用于内部对象的模式属性”部分中的http://msdn.microsoft.com/en-us/library/office/aa224995 ,您将找到所有有效选项的列表。不幸的是,只有xlPattern是有效的。

于 2012-09-14T22:43:28.687 回答
1

msoPatterns 可以通过属性的Patterned方法进行更改。{Format}->{Fill}

例如

$chart->SeriesCollection(2)->Points(5)-
{Format}->Fill}->Patterned(msoPatternWideUpwardDiagonal);
于 2012-09-17T19:05:14.037 回答