質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

2561閲覧

GAS documentを読み込む際にエラー発生

HARUNA3

総合スコア2

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2021/08/23 10:56

行いたい事

google formから取得したデータを元に、見積書を作成しPDF化、PDFをメールに添付し下書き状態で保存するプログラムをGASで作成したい。

解決したいこと

ベースのスプレッドシートからコピーして新しく作った見積書を開きたいが、開けない。
見積書を開いた後にdatabaseのデータを見積書に反映させたい。

発生している問題・エラー

Exception: Service Spreadsheets failed while accessing document with id ~~

該当するソースコード

javascript

1const mailaddress = "hoge@gmail.com" 2 3function CreateQuotationSheet() { 4 const sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 5 const lastRow = sh.getLastRow(); 6 7 const container = sh.getRange(lastRow, 14).getValue(); 8 const option = sh.getRange(lastRow, 15).getValue(); 9 const company = sh.getRange(lastRow, 16).getValue(); 10 const name = sh.getRange(lastRow, 17).getValue(); 11 const mail = sh.getRange(lastRow, 18).getValue(); 12 const phoneNumber = sh.getRange(lastRow, 19).getValue(); 13 const nmncapacity = sh.getRange(lastRow, 2).getValue(); 14 const nmnlots = sh.getRange(lastRow, 3).getValue(); 15 const nmncapacity2 = sh.getRange(lastRow, 4).getValue(); 16 const nmnlots2 = sh.getRange(lastRow, 5).getValue(); 17 // ここまででシートの内容は全て読み取れている 18 19 // 取得したデータを埋め込む見積書シートを開く 20 const templateID = "見積書のベースになるスプレッドシートのID"; 21 const templateSS = DriveApp.getFileById(templateID); 22 // 保存するフォルダを指定 23 const folderID = "見積書を保存するフォルダのID"; 24 const folder = DriveApp.getFolderById(folderID) 25 // テンプレートシートを元に111という新規ファイルを作り指定フォルダに保存する 26 const newFile = templateSS.makeCopy(111, folder); 27 const newID = newFile.getId(); 28 Logger.log(newID) 29 const saveSS = SpreadsheetApp.openById(newID); 30 const saveSheet = saveSS.getSheetByName('document'); 31} 32 33// 見積書をPDF化 34// PDFファイルをフォルダに保存 35// 新規GMAILを作成  36 // PDFファイルをメールに添付 37 // 下書き保存状態でアラートが飛ぶようにする

実施した事

https://mythicalreports.com/exception-service-spreadsheets-failed-while-accessing-document/

↓上記記事より↓
アップロードプロセス中に、シートの一時的なコピーを作成しています。コピープロセス中にスプレッドシートのセル制限が5,000,000に達すると、このエラーメッセージが表示されます。5Mセル制限はGoogleによって課されます。

残念ながら、この問題に対する適切な解決策はありません。特に空の列を削除することにより、シートを小さくする必要があります。

→不要な行や列を削除し、なるべくシートを小さくした。まだ関数などは設定しておらずシート容量は51KBであった。

同じエラーに遭遇し、解決した方がいらっしゃいましたら解決出来た方法をご教示頂けませんでしょうか。
上記サイトを見ていると、解決方法が無さそうな感じがして悩んでおります・・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

エラー原因は、ベースとなるファイルが『エクセルファイル』で保存されていた事でした・・・。

ファイル→スプレッドシートとして保存 とするだけで解決しました。

投稿2021/08/23 12:00

HARUNA3

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問