950016 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2023.12.26
XML
カテゴリ:カテゴリ未分類


OfficeScriptを使用してシート上のボタンをクリックしたときにスクリプトを実行するには、Excelのイベントハンドリングに関連する機能を使用する必要があります。具体的には、Office Add-insを使用してボタンを配置し、そのボタンのクリックイベントを処理します。


以下は、Office Add-insを使用してExcelのシート上にボタンを配置し、ボタンがクリックされたときにOfficeScriptを実行するサンプルコードです。このコードは、Office Add-insを作成するためのManifestファイルとOfficeScriptコードを組み合わせています。





<?xml version="1.0" encoding="UTF-8"?>

<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" 

           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

           xsi:type="TaskPaneApp">


  <Id>YOUR_ADD_IN_ID</Id>

  <Version>1.0.0.0</Version>

  <ProviderName>Your Provider Name</ProviderName>

  <DefaultLocale>en-US</DefaultLocale>


  <!-- OfficeScript ホストの設定 -->

  <Hosts>

    <Host Name="Workbook"/>

  </Hosts>


  <!-- タスク パネルの設定 -->

  <DefaultSettings>

    <SourceLocation resid="Taskpane.Url"/>

  </DefaultSettings>


  <Permissions>ReadWriteDocument</Permissions>


  <Rule xsi:type="FileExtension" DefaultValue="false" Id="Xlsx" OfficePackageId="Excel"/>

</OfficeApp>




<!DOCTYPE html>

<html>

  <head>

    <title>Office Add-in</title>

    <script type="text/javascript" src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>

    <script type="text/javascript" src="taskpane.js"></script>

  </head>

  <body>

    <button id="runScriptButton">Run OfficeScript</button>

  </body>

</html>




Office.onReady(function (info) {

    // Officeが初期化されたときに呼び出される

    if (info.host === Office.HostType.Excel) {

        // ここに初期化コードを挿入

        document.getElementById("runScriptButton").onclick = runOfficeScript;

    }

});


async function runOfficeScript() {

    await Excel.run(async (context) => {

        // ここにOfficeScriptを挿入

        let workbook = context.workbook;

        let activeSheet = workbook.worksheets.getActiveWorksheet();

        let cellAddress = "A1";

        let formula = "=SUM(B1:C1)";

        activeSheet.getRange(cellAddress).formulas = [[formula]];

        await context.sync();

    });

}



この例では、Office Add-insのタスクパネルに「Run OfficeScript」というボタンを追加し、そのボタンがクリックされたときにrunOfficeScript関数が呼び出されます。runOfficeScript関数内で、OfficeScriptを使用してセルに数式を入力しています。


これを使うには、Office Add-insを作成し、Excelで有効化する必要があります。Office Add-insの作成や有効化には、Microsoftのドキュメントやデベロッパーツールを使用すると良いでしょう。





お気に入りの記事を「いいね!」で応援しよう

Last updated  2023.12.26 22:21:24



© Rakuten Group, Inc.
X