0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

フラッシュカード-画像版

Last updated at Posted at 2024-06-09
function insertImagesAndFileNamesFromFolder() {
  var folderId = ""; // フォルダのIDを指定
  var folder = DriveApp.getFolderById(folderId);
  var files = folder.getFiles(); // すべてのファイルを取得

  var presentation = SlidesApp.getActivePresentation();
  var slides = presentation.getSlides();
  var slideWidth = presentation.getPageWidth();
  var slideHeight = presentation.getPageHeight();
  
  // フォントサイズをインプットボックスから取得
  var fontSize = parseInt(SlidesApp.getUi().prompt('フォントサイズを入力してください。').getResponseText());

  while (files.hasNext()) {
    var file = files.next();
    var blob = file.getBlob();
    
    // ファイルが画像であるかを確認
    if (blob.getContentType().indexOf('image') !== -1) {
      // 画像を挿入するスライドを追加
      var imageSlide = presentation.appendSlide();
      var image = imageSlide.insertImage(blob); // 画像を挿入
      alignObjectInCenter_image(image, slideWidth, slideHeight); // 画像を中央に配置
      
      // 画像のファイル名を挿入するスライドを追加
      var fileNameSlide = presentation.appendSlide();
      var textBox = fileNameSlide.insertShape(SlidesApp.ShapeType.TEXT_BOX); // テキストボックスを挿入
      var textRange = textBox.getText(); // テキストボックスからテキストを取得
      textRange.setText(file.getName()); // ファイル名をテキストボックスに挿入
      
      // テキストボックスのサイズを調整する
      var textBoxWidth = 400; // テキストボックスの幅
      var textBoxHeight = 50; // テキストボックスの高さ
      textBox.setWidth(textBoxWidth).setHeight(textBoxHeight); // テキストボックスのサイズを設定
      
      // テキストスタイルを変更する
      var textStyle = {};
      textStyle.fontSize = fontSize; // フォントサイズを設定
      textRange.getTextStyle().setFontSize(textStyle.fontSize); // フォントサイズを適用
      
      alignObjectInCenter_text(textBox, slideWidth, slideHeight); // テキストボックスを中央に配置
    }
  }
}

function alignObjectInCenter_text(object, slideWidth, slideHeight) {
  var objectWidth = object.getWidth();
  var objectHeight = object.getHeight();
  
  var xPosition = (slideWidth - objectWidth) / 2;
  var yPosition = (slideHeight - objectHeight * 5) ;
  
  object.setLeft(xPosition).setTop(yPosition);
}

function alignObjectInCenter_image(object, slideWidth, slideHeight) {
  var objectWidth = object.getWidth();
  var objectHeight = object.getHeight();
  
  var xPosition = (slideWidth - objectWidth) / 2;
  var yPosition = (slideHeight - objectHeight * 2) ;
  
  object.setLeft(xPosition).setTop(yPosition);
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?