ONLYOFFICEマクロで一貫したテーブルスタイルを追加する方法
表計算の表を管理するためのマクロをかなりの部分まで説明しましたが、ドキュメントエディタで表を扱う必要がある場合もあります。このマクロでは、フォントスタイル、セルの枠線、背景色、整列などの特定の書式ルールを設定し、ドキュメント内のすべての表に適用することができます。この簡単なマクロを作成し、実際にどのように動作するかを見てみましょう。
マクロの構築
const oDocument = Api.GetDocument();
const allTables = oDocument.GetAllTables();
まず始めに、oDocument 変数でアクティブなワークシートを取得します。次に、GetAllTables() メソッドを使用して、ドキュメント内のすべてのテーブルを取得します。
allTables.ForEach(function (table) {
const oTable = table;
次に、ForEach ループを使用してallTables 配列を繰り返し処理 します。
//modifyable part
oTable.SetWidth("percent", 100);
oTable.SetTableBorderTop("single", 32, 0, 51, 51, 51);
oTable.SetTableBorderBottom("single", 4, 0, 51, 51, 51);
oTable.SetTableBorderLeft("single", 4, 0, 51, 51, 51);
oTable.SetTableBorderRight("single", 4, 0, 51, 51, 51);
oTable.SetTableBorderInsideV("single", 4, 0, 255, 111, 61);
oTable.SetTableBorderInsideH("single", 4, 0, 255, 111, 61);
これはForEach ループの核となる部分で、表の組版ルールが定義されます。これらの規則は、文書内のすべての表に一貫して適用されます。マクロがどのように機能するかをより明確に理解していただくために、いくつかのメソッドを用意しました。全ての書式設定オプションとメソッドについて深く掘り下げるには、テーブルオブジェクトのONLYOFFICE APIドキュメントをご覧ください。
これは、ForEach ループで定義された既存のスタイルでマクロを適用した後、テーブルがどのように表示されるかの例です。
注: ForEach ループの中のメソッドは 参考のためであり、あなたのユースケースに従って変更することができます。
マクロの全コード
マクロのコード全体は以下の通りです:
(function () {
//get the active sheets and comments
const oDocument = Api.GetDocument();
const allTables = oDocument.GetAllTables();
allTables.ForEach(function (table) {
const oTable = table;
//modifyable part
oTable.SetWidth("percent", 100);
oTable.SetTableBorderTop("single", 32, 0, 51, 51, 51);
oTable.SetTableBorderBottom("single", 4, 0, 51, 51, 51);
oTable.SetTableBorderLeft("single", 4, 0, 51, 51, 51);
oTable.SetTableBorderRight("single", 4, 0, 51, 51, 51);
oTable.SetTableBorderInsideV("single", 4, 0, 255, 111, 61);
oTable.SetTableBorderInsideH("single", 4, 0, 255, 111, 61);
});
})();
では、マクロの動作を見てみましょう。
以上です。すべてのテーブルにスタイルを適用するのに役立つ、シンプルなマクロです。ONLYOFFICE APIは強力なツールであり、幅広いタスクを実行することができ、さらに高度なマクロやプラグインを開発するための計り知れない可能性を提供します。このAPIにより、ユーザーはONLYOFFICEのフルパワーを活用し、生産性を高め、ワークフローを合理化することができます。
ご質問や革新的なコンセプトがありましたら、ぜひ私たちと共有してください。私たちは皆さまのご意見を重視し、皆さまとのコラボレーションを楽しみにしています。