1

Win32::OLE Perl モジュールを使用して、チャート内の特定のデータ ポイントのパターンを変更しています。

私はこれを使用してこれを行うことができます:

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

例えば。明確にするために、これは期待どおりに機能します。ただし、xlPattern* 定数は、Excel が認識するパターンのサブセットのみを許可します。パターンの完全なセットが msoPattern* 定数で指定されているようです (少なくとも私が使用したい特定のパターンはそうです)。

同じ方法で msoPattern* 定数の 1 つを使用しようとしました。

$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 に答える