AI機能vs.マクロ:ONLYOFFICEツールの理解を深めよう
ONLYOFFICEは、マクロとAI関数を使用してドキュメント作業を自動化する強力な方法を提供し、時間を節約し、手作業を減らし、より効率的に作業できるよう支援します。
どちらもより速く、よりスマートに作業するのに役立ちますが、動作方法が異なり、異なるニーズに適しています。カスタムソリューションを構築する開発者でも、単により効率的に作業したい人でも、このガイドがニーズに合った適切なツールを選択するのにお役に立てれば嬉しいです。

基本を理解する
ONLYOFFICEマクロとは?
ONLYOFFICEマクロは、ドキュメント、スプレッドシート、プレゼンテーションで繰り返し作業を自動化する小さなスクリプトです。JavaScriptとOffice APIを使用して、コンテンツのフォーマット、データの更新、エディタ内でのカスタムワークフローの構築を直接行うことができます。
マクロの使用方法:
- 表示タブを開き、マクロをクリックします
- Office APIを使用してJavaScriptコードを記述します
- 実行をクリックしてマクロを実行します
- スクリプトがドキュメントを直接操作します
注意!バージョン7.1以降、マクロは厳格モードで実行されます。つまり、すべての変数を使用する前にletまたはconstで宣言する必要があります。window、document、またはalert関数は使用できません。
例:表の行に色を付ける
(function () {
let worksheet = Api.GetActiveSheet();
for (let i = 1; i < 200; i += 2) {
let rowOdd = i,
rowEven = i + 1;
worksheet.GetRange(
"A" + rowOdd + ":S" + rowOdd).SetFillColor(Api.CreateColorFromRGB(138, 181, 155)
);
worksheet.GetRange(
"A" + rowEven + ":S" + rowEven).SetFillColor(Api.CreateColorFromRGB(216, 227, 220)
);
}
})();
このマクロは、1秒未満で200行を交互に色付けします。手動で行うには時間がかかる作業です。
ONLYOFFICE AI関数とは?
AI関数は、ONLYOFFICEをChatGPTのようなAIモデルに接続します。プロンプトを使用してAI駆動のドキュメントアクションを実行できるため、エディタはリクエストに基づいて自動化された操作を実行できます。AI関数は、バージョン2.4.2で導入されたAIプラグイン(現在ベータ版)の一部です。
セットアップ
onlyoffice.github.ioリポジトリをローカルマシンにクローンします。- helpersフォルダ(
sdkjs-plugins/content/ai/.dev/helpers)にAI関数を記述します。 - エディタのタイプに応じて、
cell、slide、またはwordフォルダに配置します。 - キャッシュの問題を回避するため、
config.jsでAIプラグインの現在のバージョンを更新します
(例:3.0.3→3.0.4)。 helpers.pyファイルを実行します。aiフォルダ(sdkjs-plugins/content/ai)内のすべてのプラグインファイルを選択し、zip圧縮して、アーカイブ名をai.pluginに変更します。- ファイルを
sdkjs-plugins/content/ai/deployに戻します。 - 変更をプッシュします。
- このリポジトリからGitHub Pagesサイトをビルドします(GitHub Pagesドキュメントを参照)。
- GitHub PagesのURLに
/store/index.htmlを追加して、カスタムストアへのリンクを準備します:
https://YOUR-USERNAME.github.io/onlyoffice.github.io/store/index.html - プラグイン → プラグインマネージャーに移動します。
- プラグインマネージャーの右上隅にあるストア(</>)アイコンをクリックし、カスタムストアのURLを入力します。
- AIプラグインを更新します。
注意!詳細な手順については、この記事をご覧ください。
AI関数の使用方法
- 必要に応じて、AIプロバイダーとAPIキーを設定します。
- Ctrl + /を押してAIチャットを開きます。
- 実行したいこと(「このテキストを説明して」など)を入力します。
- AIが適切な関数を選択して作業を実行します。
- 結果がドキュメントに表示されます。
AI関数は会話を記憶します。フォローアップの質問をしたり、結果を改善したりできます。Ctrl + Alt + /を押すと、新しく始められます。
例:AIコメントを追加する
commentText関数は、選択したテキストにスマートコメントを追加します:
- ドキュメント内のテキストを選択します。
- Ctrl + /を押してAIチャットを開きます。
- 「このテキストを説明して」と入力します。
- Enterキーを押します。
AIはテキストを読み取り、説明を生成し、ドキュメント内にコメントとして追加します。
舞台裏での動作は次のとおりです:
// AI関数の簡略化された構造
func.call = async function (params) {
// 1. 選択したテキストを取得
let text = await Asc.Editor.callCommand(function () {
let doc = Api.GetDocument();
let range = doc.GetRangeBySelect();
return range ? range.GetText() : "";
});
// 2. AIモデルに問い合わせる
let requestEngine = AI.Request.create(AI.ActionType.Chat);
let argPrompt = params.prompt + ":\n" + text;
// 3. AIの回答をコメントとして追加
await requestEngine.chatRequest(argPrompt, false, async function (data) {
await Asc.Editor.callCommand(function () {
let doc = Api.GetDocument();
let range = doc.GetRangeBySelect();
range.AddComment(data, model, "uid" + model);
});
});
};
完全なcommentText関数のコードはこちらでご覧いただけます。
AI関数がより柔軟な理由
AI関数はCallCommandを個別に呼び出します(上記のコードの行を参照)。これにより、ドキュメント操作の前後にカスタムロジックを実行できます。これはAI統合に最適です。AIモデルにリクエストを送信し、レスポンスを処理してから、ドキュメントを更新できます。マクロアプリは、すべてをCallCommand内にラップするため、よりシンプルですが柔軟性が低くなります。
主な違い
マクロは、直接的なオフラインドキュメント操作用です。AI関数は、AIモデルとONLYOFFICEの統合用です。
比較は次のとおりです:
|
項目 |
マクロ |
AI関数 |
| セットアップ | 簡単:すでに組み込まれている | より複雑:AIプロバイダーのセットアップ + カスタム関数 |
| コスト | 無料 | 有料(AIプロバイダーの料金) |
| インターネット | オフラインで動作 | AIサービスへの接続が必要 |
| 前提条件 | JavaScript + Office API | JavaScript + Office API + AIエージェントの変更 |
| 学習曲線 | 非プログラマーには急峻 | 非プログラマーには急峻 |
| 結果の一貫性 | 常に同じ出力 | 変動する可能性がある |
| 柔軟性 | 限定的:CallCommand内にラップされている | より柔軟:CallCommandを個別に呼び出す |
| パフォーマンス | 高速:直接実行 | 可変:AI応答時間に依存 |
| バージョンサポート | 初期バージョンから利用可能 | ベータ版(v2.4.2以降) |
| 最適な用途 | 開発者、正確な制御、オフライン自動化 | AIアシストタスク、ドキュメント操作と処理 |
| プライバシー | ローカル実行のみ | データが外部AIサービスに送信される |
各ツールを使用すべき場合
マクロ
ドキュメントを直接操作する必要がある場合は、マクロをご検討ください。
- オフライン作業:インターネット接続不要。
- コストなし:無料で好きなだけ自動化。
- 直接的なドキュメント操作:フォーマット、データ操作、計算。
- 正確な結果:同じ入力は常に同じ出力を生成。
- 高速プロトタイピング:コードを記述してエディタですぐにテスト。
- 本番作業:財務レポート、コンプライアンス文書、自動化ワークフロー。
AI関数
自動化にAI機能が必要な場合は、AI関数を選択してください。
- AIモデル統合:AIサービスに接続してその出力を使用。
- ドキュメント自動化:AI結果をドキュメントに直接適用。
- コンテキスト処理:選択範囲またはドキュメント構造を認識してコンテンツを処理。
- 高度なロジック:ドキュメント操作の前後にカスタムコードを実行する柔軟性が必要。
まとめ
ONLYOFFICEマクロとAI関数は、異なる目的を果たします。重要な区別はシンプルです。
マクロは、直接的なドキュメント操作用です。無料で、オフラインで動作し、AIを必要としない自動化に最適です。フォーマット、計算、データ操作、カスタム数式に使用します。
AI関数は、AIモデルとONLYOFFICEの統合用です。マクロよりも開発が複雑で、インターネットとAIプロバイダーのコストが必要ですが、AI機能が必要な場合は正しい選択です。コンテンツの生成、ドキュメント処理、AIを使用したドキュメントタスクの自動化に使用します。
ONLYOFFICEは、両方のツールを改善し続けています。マクロは、非同期関数などの新機能を取得しています。AI関数は、信頼性の向上とより多くの機能でベータ版から移行しています。両方を理解することで、ONLYOFFICEの自動化の完全な力が得られます。
ONLYOFFICEの無料アカウントを登録する
オンラインでドキュメント、スプレッドシート、スライド、フォーム、PDFファイルの閲覧、編集、共同作業


