ChatGPTを使ってONLYOFFICEマクロを簡単に作成しよう

2025年01月09日著者:Denis

マクロは多目的に使えるツールで、エディターの機能を拡張したり、自動化を行ったりと、特定のニーズに合わせたカスタマイズを可能にします。JavaScriptで構築されるONLYOFFICEマクロは、柔軟性と使いやすさを両立しています。本記事では、OpenAIのChatGPTの力を借りて、こうしたマクロの作成プロセスをどのように効率化できるかをご紹介します。

Use ChatGPT to create ONLYOFFICE macros with ease

ChatGPTについて

ChatGPTは、OpenAIが開発した高度なAI言語モデルで、入力される情報を基に人間のようなテキストを理解・生成するよう設計されています。コードの作成からアイデアの発案、複雑な概念をわかりやすく説明するまで、さまざまなタスクに有効です。マクロ作成においては、JavaScriptコードの草案作成、デバッグ、最適化といった場面で大いに役立ちます。

ChatGPTを利用するには、OpenAIのサイトで無料登録を行い、プラットフォーム上から直接アクセスしてください。

ChatGPTで基本的なマクロを作成する

ChatGPTを使った基本的なマクロの作成はスムーズで効率的ですが、より良い結果を得るために以下のポイントを押さえておきましょう:

  • 具体的に伝える:ChatGPTはテキストベースのモデルなので、指示が詳細で明確なほど、生成結果の精度が上がります。ONLYOFFICEマクロの場合、正しいONLYOFFICE APIメソッドを明確に指定することで、要件を満たすマクロを生成しやすくなります。
  • 「ウェブを検索」機能を有効にする:マクロの品質や正確性を高めるには、この機能の有効化をおすすめします。ChatGPTが追加情報にアクセスできるようになり、公式サイトのリソースなども活用してマクロの生成を支援してくれます。ChatGPTのメッセージ入力欄から直接設定が可能です。

Use ChatGPT to create ONLYOFFICE macros with ease

上記のポイントを踏まえることで、ChatGPTを最大限活用し、ニーズに合わせた効率的・機能的なマクロを作成できます。

以下は、ChatGPTに与えたプロンプトとそれにより生成されたマクロの例です:

「最も人気のあるVBAマクロの機能を再現するONLYOFFICEマクロをいくつか作成してください。適切なONLYOFFICE APIメソッドを使用すること。」

生成されたマクロ:

重複値を削除するマクロ:

(function () {
    var activeSheet = Api.GetActiveSheet();
    var selection = activeSheet.GetSelection();
    var values = [];
    selection.ForEach(function (cell) {
        var value = cell.GetValue();
        if (values.indexOf(value) === -1) {
            values.push(value);
        } else {
            cell.SetValue("");
        }
    });
})();

Use ChatGPT to create ONLYOFFICE macros with ease

テキストを大文字に変換するマクロ:

(function () {
    var activeSheet = Api.GetActiveSheet();
    var selection = activeSheet.GetSelection();
    selection.ForEach(function (cell) {
        var value = cell.GetValue();
        if (typeof value === 'string') {
            cell.SetValue(value.toUpperCase());
        }
    });
})();

Use ChatGPT to create ONLYOFFICE macros with ease

現在の日付をスプレッドシートに挿入するマクロ:

(function () {
    var activeSheet = Api.GetActiveSheet();
    var selection = activeSheet.GetSelection();
    var currentDate = new Date();
    selection.ForEach(function (cell) {
        cell.SetValue(currentDate.toLocaleDateString());
    });
})();

Use ChatGPT to create ONLYOFFICE macros with ease

ChatGPTで高度なマクロを作成する

高度なマクロの作成には、さらに踏み込んだアプローチが必要になる場合があります。ChatGPTは現時点では複雑なONLYOFFICEマクロの完全自動生成に未対応な部分もありますが、継続的に進化を遂げています。「ウェブを検索」機能を活用することで、リソースやガイダンスを利用しつつ開発をスムーズに行えます。以下のステップから始めるとよいでしょう:

  • 重要なAPIメソッドを把握する:ONLYOFFICE APIメソッドを確認し、マクロに必要なメソッドを特定します。
  • ドキュメントへのリンクを提示する:これらのメソッドが説明されているドキュメントページへのリンクをプロンプトに含めます。ChatGPTが必要なコンテキストを把握し、正確かつ機能的なマクロを作成できるよう支援します。

例えば、PDFフォームエディター用のマクロを作成するために使用したプロンプトの例は以下のとおりです:

「‘name’を含むキーを持つテキストフォームを見つけて必須フィールドに設定するONLYOFFICEマクロを作成してください。正しいONLYOFFICE APIメソッドを使うこと。」

参考資料:

GetFormKey:
https://api.onlyoffice.com/docs/office-api/usage-api/form-api/apitextform/getformkey/
SetRequired:
https://api.onlyoffice.com/docs/office-api/usage-api/form-api/apitextform/setrequired/

生成されたマクロ:

(function () {
    var oDocument = Api.GetDocument();
    var allForms = oDocument.GetAllForms();

    for (var i = 0; i < allForms.length; i++) {
        var form = allForms[i];
        var formKey = form.GetFormKey();

        if (formKey && formKey.toLowerCase().includes("name")) {
            form.SetRequired(true);
        }
    }
})();

Use ChatGPT to create ONLYOFFICE macros with ease
Use ChatGPT to create ONLYOFFICE macros with ease

ONLYOFFICEマクロは非常に汎用性が高く、シンプルな操作で使えるため、タスクの自動化やエディター機能のカスタマイズを手軽に行えます。AI技術の進歩により、独自マクロの作成はますます容易になっています。

ぜひ包括的なAPIメソッドのライブラリを活用し、無限のカスタマイズをお試しください。マクロ開発は難しく思われがちですが、現代のツールやリソースを使えば、上級者向けの開発でも取り組みやすい環境になっています。皆さんの新たなチャレンジと成果に期待しています!

ONLYOFFICEの無料アカウントを登録する

オンラインでドキュメント、スプレッドシート、スライド、フォーム、PDFファイルの閲覧、編集、共同作業