Excel/PDF出力のエラーとその対応方法

Excel/PDF出力で発生する主なエラーと、その対応方法を紹介します。

Excel生成要求は拒否されました。gusuku APIキーが正しいかどうか確認してください。

「Excelを出力する」と同様に、PDF/CSV出力の場合には、それぞれのエラーメッセージとなります。

  • PDF生成要求は拒否されました。gusuku APIキーが正しいかどうか確認してください。
  • CSV生成要求は拒否されました。gusuku APIキーが正しいかどうか確認してください。

詳細

Excel/PDF出力を行うための認証が通過しなかった場合に起こるエラーです。

このエラーが出る原因のほとんどは、gusuku APIキーに正しくないものをセットしていることです。例えば、間違ってAPIキーのキー名称や作成者を入力してしまうと、このエラーが出ます。

対応方法

Customine カスタマイズで「Excelを出力する」「PDFを出力する」「CSVを出力する」をセットしているアクションの「gusuku APIキー」パラメーターを確認、修正し、「kintoneアプリへ登録」または「ジョブを生成」しなおしてください。

「gusuku APIキー」にセットするのは30桁の「APIキー」の方です。

テンプレートの取得時にエラーが発生しました。

Failed to retrieve template file.

詳細

Customine が kintone アプリからテンプレートファイルを取得することができなかった場合に発生します。

テンプレートファイルが取得できない原因で最も多いのはアクセス権限のエラーです。

このメッセージに続いて、kintone から報告されたエラー内容の詳細が表示されます。例えば、アクセス権限エラーの場合であれば以下のようなメッセージが追加されます。

[Kintone Error]
HTTP Status: 403
id: xxxxxxxxxxxxxxxxxxxxx
code: CB_NO02
message: 権限がありません。

対応方法

テンプレートファイルを保存している kintone アプリで、添付ファイルフィールドのアクセス権限を確認してください。

テンプレートファイルがxlsx形式ではありません。

詳細

テンプレートファイルの拡張子が .xlsx ではなかった場合に発生します。

対応方法

kintone アプリの添付ファイルフィールドに添付されているテンプレートファイルの拡張子が .xlsx であることを確認してください。

.xls や .xlsm 形式には対応していません。

Excel/PDF出力のテンプレートにはExcelブック形式のファイルのみご使用いただけます。

Only Excel workbook format files can be used as templates.

詳細

テンプレートファイルが Excelブック形式でなかった場合に発生します。

以下のようなケースで発生します。

  • テンプレートファイルが壊れている。
  • Excelブック形式ではないファイルを無理やり拡張子 .xlsx に変更した。

対応方法

kintone アプリの添付ファイルフィールドに添付されているテンプレートファイルの拡張子が .xlsx で、かつ Excel で開くことがことを確認してください。

Failed to rename sheets: $(xxx): converted sheetname is empty.

詳細

テンプレートのシート名を「$(フィールドコード)」のようにフィールド値に応じた名前で出力するようにしている場合に、フィールド値が空だったり存在しなかったりすると発生します。

対応方法

フィールドの値が空になる可能性がある場合は、固定の文字列を前か後ろに置くとよいでしょう。下の例は、「担当_」という固定文字列と担当者名フィールドの値をつなげたものをシート名にします。担当者名が空の場合は「担当_」というシート名で出力されます。

$("担当_")$(担当者名)

Too many cells (xxxx) in the sheet.

詳細

テンプレートのシート名の先頭に「#」を付けているケースで、元シートのセル数が1万を超えている場合に発生するエラーです。

シート名の先頭に「#」を付けている場合、各 kintone レコードについてそのシートをコピーする処理が行われます。このときコピー元のセル数が膨大だと負荷がかかりすぎてしまうためにこのような制限事項が設けられています。

対応方法

テンプレートを編集し、無駄なセルを削除してください。

特に、何千~何万といった空行を持ったテンプレートは無駄なので、そのような空行は削除してください。$FOREACH~$END はデータ数に応じて自動的に行を増やしますので、テンプレートで事前に空の行を用意しておく必要はありません。

なお、Excel の見た目上でセルが空欄になっていてもデータ上は削除されていない場合がありますのでご注意ください。

Failed to calculate some formulas. Error evaluating cell Sheet1!A1… The function [XXXX] is not supported.

詳細

Excel テンプレート内に Customine で対応していない Excel 関数が使用されている場合に起こるエラーです。

テンプレート内のセルをレコードのデータで置き換えた後、そのデータを試算式セルにも反映させるために、全シートの再計算が行われます。再計算ではすべての Excel 関数をサポートしているわけではなく、一部の関数しかサポートされていません。対応外の関数を使用しているとこのエラーが起こります。

対応方法

エラーメッセージ中の [XXXX] の部分に関数名が表示されます。この関数を使用しないようにテンプレートを修正してください。

Customine が対応している関数のリストはこちらです。

Failed to calculate some formulas. The deleted sheet is referenced from the formula.

詳細

テンプレートのシート名の先頭に「#」を付けているケースで、別のシートから元の「#」付きのシートを計算式で参照している場合に発生します。

シート名の先頭に「#」を付けている場合、そのシートがレコード毎に複数出力されます。そして、元の「#」付きのシートは削除されます。更に、テンプレートのデータ置き換えが終わった後に、全シートの再計算が行われます。この再計算時に「#」付きシートを参照するような計算セルがあると、参照先のシートが既に削除されているためにこのエラーが発生します。

対応方法

テンプレートを修正し、「#」付きのシートを別のシートから参照しないようにします。

END macro not found.

詳細

$FOREACH に対応する $END が見つからなかった場合に発生します。

対応方法

$FOREACH に対応する $END は、$FOREACH と同じ列上に置いてください。

FOREACH macro must have one or more content rows.

詳細

$FOREACH と $END の間にデータ用の行が1つもない場合に発生します。

対応方法

$FOREACH と $END の間にはデータ行を最低1行入れるように、テンプレートを修正してください。

Invalid $FOREACH. B10:C20 is overlapped with the $FOREACH.

詳細

テンプレートで $FOREACH~$END の範囲にまたがるような縦方向のセル結合がある場合に起こります。

対応方法

テンプレートを修正し、セル結合が $FOREACH~$END の内側に納まるようにしてください。

Excel table will be empty.

詳細

Excelのテーブル機能を使用していて、$FOREACH~$END展開の結果、Excelのテーブルにデータ行が1つもない状態になってしまう場合に、このエラーが出ます。

Excelのテーブル機能では、ヘッダ行と最低1行のデータ行が必要です。一方$FOREACH~$ENDでは、対象データが1つもない場合、$FOREACH~$ENDの行が単に削除されますので、データ行が1つもないテーブルができてしまう可能性があります。

対応方法

$FOREACHで展開するデータが1つもない可能性がある場合、Excelのテーブル機能を使用せずに通常の表としてテンプレートを作成してください。あるいは必ず1行以上のデータ行ができるように、テンプレートにダミー行を入れるのも手です。

‘()’ is not closed.

詳細

テンプレートの $(フィールドコード) 記法で、括弧が閉じていないものがあります。

対応方法

エラーメッセージの後ろに、シート名とセルが表示されますので、テンプレートの該当箇所を修正して正しく括弧が閉じるようにしてください。

Unrecognized macro: $xxx

詳細

テンプレートの $コマンド(フィールドコード) 記法で、認識できないコマンドが使用されている場合に発生します。

例えば $NUM(xxx) を $NUN(xxx) のようにタイプミスしたような場合にも起こります。

対応方法

エラーメッセージの後ろに、シート名とセルが表示されますので、テンプレートの該当箇所を確認、修正してください。タイプミスにご注意ください。

Too many $IF macro arguments.

詳細

テンプレートの $IFコマンドの記法に誤りがある場合に発生します。

対応方法

リファレンスマニュアルに記載されている $IF の仕様を参照して、正しい記法に修正してください。なお、$IF の記法はいくつかの種類がありますので、どの記法で記述したいのかも考慮してください。