Power Automateを動画で学ぼう!Udemyキャンペーン中

GAS 複数のExcelファイルをまとめてスプレッドシートに変換する方法。

目次

この記事について

じょじお

GASを使って複数のExcelファイルをスプレッドシートへ変換する方法について解説します。

(事前準備)フォルダとファイルを準備する。

事前準備として下記のフォルダを用意します。excelfile変換前フォルダにテスト用にExcelをいくつか格納しておきます。あまりに大量のファイルを同時変換しようとすると、GoogleのAPI起動時間制限に引っかかりエラーになる可能性があるので注意してください。

  • excelfile変換前フォルダ
    • 変換前のExcelファイルが保存してあるフォルダ
  • excelfile変換済フォルダ
    • スプレッドシート変換後のファイルをプログラムが格納するフォルダ
変換ターゲットとなるファイル

コード

/*
フォルダ単位でまとめて変換する。
*/
const sourceFolderId = 'フォルダID';
const destFolderId = 'フォルダID';

function myFunction() {
    // Excelファイルが入っているフォルダをidによって取得
    const sourceFolder = DriveApp.getFolderById(sourceFolderId);
    // Excelファイルたちを変数に保存
    const excelFiles   = sourceFolder.getFiles();
    // 変換されたファイルが格納されるフォルダをidによって取得
    const destFolder   = DriveApp.getFolderById(destFolderId);
    // Excelファイルをイテレートして順にスプレッドシートに変換
    while(excelFiles.hasNext()) {
        var file = excelFiles.next();
        convertToSpreadsheet(file, destFolder);
    }
}

function convertToSpreadsheet(file, folder) {
    // 各種オプションを設定
    // mimeTypeをスプレッドシートにすることで変換される
    options = {
        title: file.getName(),
        mimeType: MimeType.GOOGLE_SHEETS,
        parents: [{id: folder.getId()}]
    };

    // Drive APIへfileをPOSTする
    Drive.Files.insert(options, file.getBlob())
}

テスト

テストを実行してみましょう。

テスト実行後にexcelfile変換済フォルダを見てみるとファイルが新しくできています。
拡張子は「.xlsm」となっていますが、ファイルアイコンはスプレッドシートのアイコンになっており、ファイルのプロパティを確認するとスプレッドシートとなっていることが確認出来ます。

ファイルを変換した後スプレッドシートとして操作したい。

変換後のファイルIDを取得して操作するには、ファイルを保存したところで変数に入れるとファイル情報のオブジェクトが返ってくるので、その中のidプロパティからファイルidを取得する。

var file = Drive.Files.insert(options, file.getBlob());
let sp = SpreadsheetApp.openById(file.id).getSheets();

注意

変換すると、レイアウトが崩れたり、”.xlsm”形式のファイルの変換の場合、マクロが使えなくなったりするので、ご利用は自己責任でお願いします。

さいごに

この記事では複数のExcelファイルをまとめてGoogleスプレッドシートに変換する方法について解説しました。当サイトではこのほかにもGASの記事を増やしていく予定です。是非RSSやTwitterの更新情報をチェックお願いします。

書籍で学ぶなら、GAS本最強のこちらがオススメ!

GAS初学者の方がテキスト1冊買うならこれ一択です。幅開く網羅されているので基本が身に付きます。

動画で学ぶならコチラがオススメ!

動画で学ぶならコチラがおすすめです。UdemyのGAS講座はいくつかありますが、他の講座と比較しても圧倒的レビュー数と高評価です。万が一の返金保証があるので安心して購入ができます。

ノンプログラマーでも自動化スキルを身につける。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
目次
閉じる