OLEオートメーション機能を使用してMicrosoft Excelに罫線を引く方法

[OS]Windows
[リリース] 6.11
[キーワード] OLE

[質問]

OLEオートメーション機能を使用して、SASからMicrosoft Excelのワークシートに罫線を引く方法を教えてください。

[回答]

以下に示す手順で、選択した範囲に罫線を引けます。

  • 「SAS Technical Report E-106J: Windows版SASシステム リリース6.11における変更点と拡張点 」41ページに沿って、 Microsoft Excel(以下MS-Excel)の ワークシートの識別子 wsobj を取得するまでのSCLプログラムを記述する。
  • Activateメソッドを実行して、MS-Excel のワークシートをアクティブにする。
  • Rangeメソッドを実行して罫線を引く範囲を指定し、識別子を取得する。
  • Bordersメソッドを実行して罫線の位置を指定し、識別子を取得する。
  • Weightプロパティに値を設定して、線の種類を指定する。

SCLプログラムは、以下のように記述します。

/* (2)の実行 */
call send(wsobj,'_DO_','Activate');
/* (3)の実行 */
call send(wsobj,'_COMPUTE_','Range','A1:E10',rangeobj);
/* (4)の実行 */
call send(rangeobj,'_COMPUTE_','Borders',-4107,bordeobj);
/* (5)の実行 */
call send(bordeobj,'_SET_PROPERTY_','Weight',2);

上記の各メソッド、プロパティについては、MS-Excel visual Basicのマニュアルをご参照ください。

また、SCLプログラム (4) の実行の個所の引数 '-4107' は、Bordersメソッドの引数 xlBottom の値であり、 (5) の実行の個所の引数 '2' はWeightプロパティの xlThin の値です(これらの値はMS-Excel側で規定しています)。