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

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

ただいまの
回答率

90.48%

  • Google Apps Script

    910questions

    Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

画像と同じ行にテキストを表示したい

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 98

Kodanosuke

score 8

下記のコードで、ドキュメントの1行目に画像とテキストを表示させたいのですがどのようにしたらよろしいでしょうか。
1行目に郵便番号、2行目に住所が入っています。それと画像を上で揃えたいです。ご教授いただけると幸いです。
よろしくお願いたします。

function createPDF() {
  /********************************************************
  ①スプレッドシートから必要情報を取得する
  ②ドキュメントを作成
  ③ドキュメントに転記
  ④ドキュメントを移動(コピー&削除)
  ⑤メール作成ボタンを作る  
  ********************************************************/
  //①
  var ssheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ssheet.getSheetByName('シート1');

  //変数を設定する

  var alldata = sheet.getRange(2, 2, sheet.getLastRow(), sheet.getLastColumn()).getValues();
  var name_group = alldata[0][0];
  var name_rep = alldata[0][1];
  var phone_rep = alldata[0][2];
  var mail_rep = alldata[0][3];
  var name_bill = alldata[0][4];
  var name_place = alldata[0][5];
  var date = alldata[0][6];
  var rehe_start = Utilities.formatDate(alldata[0][7],"JST" ,"hh:mm");
  var rehe_end = Utilities.formatDate(alldata[0][8],"JST" ,"hh:mm");
  var per_start = Utilities.formatDate(alldata[0][9],"JST" ,"hh:mm");
  var per_end = Utilities.formatDate(alldata[0][10],"JST" ,"hh:mm");
  var medi_add = alldata[0][11];

  //②
  var doc = DocumentApp.create('ご依頼内容確認書');
  var doc_body = doc.getBody();
  var image  =DriveApp.getFileById('1SzOTwr91tBFSUndjJTC_GlabRoL29ZHy').getBlob();
  doc_body.insertImage(0, image);
  var client_add = ' 〒107-0062 \n 東京都港区南青山2-2-15 \n  '
  var para1 = doc_body.appendParagraph(client_add).setAlignment(DocumentApp.HorizontalAlignment.RIGHT);
  var cells = []

  //③

  //④
  var folder_to = DriveApp.getFolderById('1tbLq81xS3s11qVBSEg0L3iNWP4KeOIy-');
  var doc_id = doc.getId();
  folder_to.addFile(DriveApp.getFileById(doc_id));
  DriveApp.getRootFolder().removeFile(DriveApp.getFileById(doc_id));


  Logger.log(medi_add);



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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

こんな感じでどうかなぁ。
改行でそろえないといけないと思うけど。

  var doc = DocumentApp.create('ご依頼内容確認書');
  var doc_body = doc.getBody();
  var image  =DriveApp.getFileById('1SzOTwr91tBFSUndjJTC_GlabRoL29ZHy').getBlob();
  // doc_body.insertImage(0, image);
  var client_add = ' 〒107-0062 \n 東京都港区南青山2-2-15 \n  '
  var para1 = doc_body.appendParagraph(client_add)
    .setAlignment(DocumentApp.HorizontalAlignment.RIGHT);
  para1.addPositionedImage(image)
    .setTopOffset(0)
    .setLeftOffset(0)
    .setLayout(DocumentApp.PositionedLayout.WRAP_TEXT);

別パターンだと、表をいれるのがよさそうかな。

  var doc = DocumentApp.create('ご依頼内容確認書');
  var doc_body = doc.getBody();
  var table = doc_body.insertTable(0).setBorderColor('#ffffff');
  var row = table.insertTableRow(0);
  var image = DriveApp.getFileById('1VwAZiXFsngXE1JKwzNcLs_U0eca6tBab').getBlob();
  row.appendTableCell().appendImage(image);
  var client_add = '〒107-0062 \n 東京都港区南青山2-2-15 ウイン青山942'
  row.appendTableCell().appendParagraph(client_add);

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/09/07 16:54

    回答していただきありがとうございます。
    ソースの内容は、表を作ってその中に画像を入れ、表の線の色を白くして見えなくしているという感じでしょうか。

    ちなみにその表そのものを動かく方法はありますでしょうか。
    別で表を入れる際にオフセットさせるなどして位置を調整させたいです。
    ご教授いただけると幸いです。

    よろしくお願いいたします。

    キャンセル

  • 2018/09/10 09:35

    >ソースの内容は、表を作ってその中に画像を入れ、表の線の色を白くして見えなくしているという感じでしょうか。
    そうですね。

    >ちなみにその表そのものを動かく方法はありますでしょうか。
    >別で表を入れる際にオフセットさせるなどして位置を調整させたいです。
    動かすというのは…?
    最後尾ならばappendすればよいですし、途中ならinsertすればよいだけかと思いますが。

    キャンセル

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

  • ただいまの回答率 90.48%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    【GAS】複数スプレッドシートをエクセルに変換し定期的に自動ダウンロード

    【やりたいこと】 Google Driveに複数あるスプレッドシートを、”定期的かつ自動で”エクセルに変換してPCに保管(バックアップ)したい。 【詳細】 Google Driv

  • 受付中

    GAS ドキュメント作成

    DocumentAppドキュメントを作成したいのですが、パスの指定方法がわかりません。 公式リファレンスで調べたところパスを指定するメソッドが見当たらないのですがどう指定すれば良

  • 解決済

    特定の列に特定の文字列が入力されたら

    グーグルスプレッドシートで、指定の列に特定の文字列が入力されたら、行をグレイアウト、指定のセルに現在時間を入力しコピーして最終行の1行上に貼り付けしてコピー元の削除と言う動作をさせ

  • 解決済

    GAS Webアプリケーション画面でフォーム入力後、画面が真っ白になってしまいます

    前提・実現したいこと iPad画面で番号入力フォームが表示されている 番号を入力した時に、入力した番号と入力時間がスプレッドシートに 反映されるようにしたい 発生してい

  • 解決済

    GASをDRYで書きたい

    前提・実現したいこと Google Apps Scriptを使いグーグルカレンダーの翌日と翌々日の予定を 自分のGmailに送っています。 しかし、このコードには重複があるの

  • 解決済

    GAS⇔html間の値の渡し方

    前提・実現したいこと GASでVBAでいうとユーザーフォームのようなものを作るために、UserForm.htmlを作成し、そこにテキストボックスなどを配置し、その値をGAS側で受け

  • 受付中

    GASを用いた座席表の表示

    前提・実現したいこと 弊社の座席配置は日ごとに変わります。 現状は毎朝、私がオフィスにきて用意してある座席表を張り出しておるのですが、 先輩からGASを用いて、スプレッドシート上に

  • 受付中

    gasで自身をスクレイピングしたい

    前提・実現したいこと google apps scriptでwebアプリを公開しました そのscriptから、定期的に自身にアクセスを当て、スクレイピングしたいと思い、以下のコード

同じタグがついた質問を見る

  • Google Apps Script

    910questions

    Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。