カスタム関数のデバッグ

この記事では、共有ランタイムを使用しないカスタム関数についてのみデバッグについて説明します。 共有ランタイムを使用するカスタム関数アドインをデバッグするには、「共有ランタイム を使用するように Office アドインを構成する: デバッグ」を参照してください。

重要

Excel カスタム関数は、次のプラットフォームで使用できます。

  • Office on the web
  • Windows での Office
    • Microsoft 365 サブスクリプション
    • retail 永久 Office 2016 以降
    • ボリューム ライセンスの永続的なOffice 2021以降
  • Office on Mac

Excel カスタム関数は現在、次ではサポートされていません。

  • Office on iPad
  • Windows での Office 2019 以前のボリューム ライセンスの永続的バージョン

注:

共有ランタイムを使用しない特定の理由がない限り、 共有ランタイムでカスタム関数を使用することをお勧めします。 共有ランタイムを使用すると、条件が満たされた場合はアドインで WebView2 (Microsoft Edge Chromium ベース) が使用され、それ以外の場合、アドインでは Windows または Microsoft 365 のバージョンに関係なく Trident (インターネット エクスプローラー 11) が使用されることに注意してください。 WebView2 の条件の詳細については、「Office アドインで使用されるブラウザーと Webview コントロール」を参照してください。ランタイムの詳細については、「Office アドインとランタイムのランタイム」を参照してください。

ヒント

この記事で説明するデバッグ手法は、Yeoman ジェネレーターの マニフェストのみのオプションを含む Office アドイン プロジェクトで 作成されたプロジェクトでは機能しません。 この記事の後半で参照されるスクリプトは、そのオプションと共にインストールされません。 このオプションで作成されたアドインをデバッグするには、必要に応じて、次のいずれかの記事の手順を参照してください。

共有ランタイムを使用しないアドインのカスタム関数をデバッグするプロセスは、ターゲット プラットフォーム (Windows、Mac、または Web) と、Visual Studio Code または別の IDE のどちらを使用しているかによって異なります。 デバッグ シナリオに関連するこの記事のセクションにアクセスするには、次の表のリンクを使用します。 この表では、"CF-NSR" は、非共有ランタイムのカスタム関数を指します。

ターゲット プラットフォーム Visual Studio Code その他の IDE
Excel on the web VS Code とブラウザー開発ツールを使用する コマンド ライン ツールを使用する
Excel on Windows VS Code とブラウザー開発ツールを使用する VS Code 以外の Windows 上の Excel で実行されている CF-NSR のデバッグはサポートされていません。 Excel on the webに対してデバッグします。
Excel on Mac Excel on Mac で実行されている CF-NSR の VS Code デバッグはサポートされていません。 Excel on the webに対してデバッグします。 コマンド ライン ツールを使用する

ブラウザー開発者ツールを使用して、Excel on the webのカスタム関数をデバッグする

ブラウザー開発者ツールを使用して、Excel on the webで共有ランタイムを使用しないカスタム関数をデバッグできます。 次の手順は、Windows と macOS の両方で機能します。

Visual Studio Code からアドインを実行する

  1. Visual Studio Code (VS Code) でカスタム関数のルート プロジェクト フォルダーを開きます。
  2. [ ターミナル > 実行タスク ] を選択し、「」と入力するか、[ ウォッチ] を選択します。 これにより、ファイルの変更が監視され、再構築されます。
  3. [ ターミナル > 実行タスク ] を選択し、「Dev Server」と入力するか、または [ Dev Server] を選択します。

アドインのサイドロード

  1. Office on the webを開きます。

  2. 新しい Excel ブックを開きます。

  3. [ ホーム>アドイン] を選択し、[ アドインの取得] を選択します。

  4. [ Office アドイン ] ダイアログで、[ MY ADD-INS ] タブを選択し、[ マイ アドインの管理] を選択し、[ マイ アドインのアップロード] を選択します。

    右上にある [アドインの管理] というドロップダウンと、[マイ アドインのアップロード] オプションが表示されたドロップダウンが表示された [Office アドイン] ダイアログ。

  5. アドイン マニフェスト ファイルを参照して、[アップロード] を選択します。

    [参照]、[アップロード]、[キャンセル] のボタンがある [アドインのアップロード] ダイアログ。

注:

ドキュメントにサイドロードすると、ドキュメントを開くたびにサイドロードされたままになります。

デバッグの開始

  1. ブラウザーで開発者ツールを開きます。 Chrome とほとんどのブラウザー F12 では、開発者ツールが開きます。
  2. 開発者ツールで、 Cmd + P または Ctrl + P (functions.js または functions.ts) を使用してソース コード スクリプト ファイルを開きます。
  3. カスタム関数のソース コードにブレークポイントを設定します

コードを変更する必要がある場合は、VS Code で編集を行い、変更を保存できます。 ブラウザーを更新して、読み込まれた変更を確認します。

コマンド ライン ツールを使用してデバッグする

VS Code を使用していない場合は、コマンド ライン (bash、PowerShell など) を使用してアドインを実行できます。 ブラウザー開発者ツールを使用して、Excel on the webでコードをデバッグする必要があります。 コマンド ラインを使用して Excel のデスクトップ バージョンをデバッグすることはできません。

  1. コマンド ラインから を実行npm run watchして、コードの変更が発生したときに のwatchと再構築を行います。

  2. 2 つ目のコマンド ライン ウィンドウを開きます (最初のコマンド ライン ウィンドウは、watchの実行中にブロックされます)。

  3. デスクトップ バージョンの Excel でアドインを起動する場合は、次のコマンドを実行します。

    npm run start:desktop

    または、アドインを起動する場合は、次のコマンドExcel on the web実行します。

    npm run start:web -- --document {url} (ここで {url} 、OneDrive または SharePoint 上の Excel ファイルの URL)

    注:

    Mac で開発している場合は、 を {url} 単一引用符で囲みます。 Windows ではこれを行 わないでください

    アドインがドキュメントにサイドロードされない場合は、「アドインを サイドロード する」の手順に従ってアドインをサイドロードします。 次に、次のセクションに進んでデバッグを開始します。

  4. ブラウザーで開発者ツールを開きます。 Chrome とほとんどのブラウザー F12 では、開発者ツールが開きます。

  5. 開発者ツールで、ソース コード スクリプト ファイル (functions.js または functions.ts) を開きます。 カスタム関数コードは、ファイルの末尾の近くに配置される場合があります。

  6. カスタム関数のソース コードで、コード行を選択してブレークポイントを適用します。

コードを変更する必要がある場合は、Visual Studio で編集を行い、変更を保存できます。 ブラウザーを更新して、読み込まれた変更を確認します。

アドインをビルドして実行するためのコマンド

使用可能なビルド タスクがいくつかあります。

  • npm run watch: 開発用にビルドされ、ソース ファイルの保存時に自動的に再構築されます。
  • npm run build-dev: 開発用のビルドを 1 回行う
  • npm run build: 運用環境用のビルド
  • npm run dev-server: 開発に使用される Web サーバーを実行します。

次のタスクを使用して、デスクトップまたはオンラインでデバッグを開始できます。

  • npm run start:desktop: デスクトップで Excel を起動し、アドインをサイドロードします。

  • npm run start:web -- --document {url}(ここで{url}、OneDrive または SharePoint 上の Excel ファイルの URL): Excel on the webを開始し、アドインをサイドロードします。

    注:

    Mac で開発している場合は、 を {url} 単一引用符で囲みます。 Windows ではこれを行 わないでください

  • npm run stop: Excel とデバッグを停止します。

次の手順

共有ランタイムを使用しないカスタム関数の認証について説明します。

関連項目