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

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

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

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

Q&A

解決済

1回答

355閲覧

GASのhasNextメソッドでURL付きファイル名の取得について

TomJerry

総合スコア10

Google Apps Script

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

0グッド

0クリップ

投稿2022/10/06 04:31

前提

下記でファイル名とファイルのURLは取得出来るのですが、
スプレッドシートに記述する時に、
2つのセルを使わないといけないので、
横方向に長くなってしまいます。

while(files.hasNext()){
let file = files.next();
let fileUrl = file.getUrl();
let fileName = file.getName();

マクロ機能で記録したスクリプトを見てもどう上記のスクリプトにあてはめればいいのか分かりませんでした。

実現したいこと

表記はファイル名で、そのファイル名のリンクが貼っている状態を変数に格納したいのですが、
どの様にすればよろしいでしょうか?

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

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

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

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

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

TomJerry

2022/10/06 23:37

「やってほしいことだけを記載した丸投げの質問」という指摘を受けましたので、 私が現在出来る範囲を書いてみました。 hasNextメソッドで変数に格納後に配列abcにその変数データを格納して、 ss.getActiveSheet().getRange(3, 1, abc.length, abc[0].length).setValues(abc); で、データを貼り付けています。 配列内のデータの3列目にはファイル名、4列目にはそのファイルのURLのデータが有ります。 一旦データを貼り付けた後に3列目のファイル名を変数nameに格納、4列目のurlを変数urlに格納しました。 後は以下の様にfor文で記述すればファイル名とurlが一緒のものが出来て、それを5列目に貼り付けた後に、 3列目のファイル名と4列目のurlの列を削除すれば何とかやりたい形まで持ってこれます。 このやり方がベストでは無いと思うのですが、もっといい方法があれば教えて頂きたいです。 lastY = SpreadsheetApp.getActiveSpreadsheet().getLastRow(); for(i=2;i<=lastY;i++){ let name = ss.getActiveSheet().getRange(i,3,1,1).getValue(); let url = ss.getActiveSheet().getRange(i,4,1,1).getValue(); ss.getActiveSheet().getRange(i,5,1,1).setRichTextValue(SpreadsheetApp.newRichTextValue() .setText(name) .setLinkUrl(url) .build());
guest

回答1

0

自己解決

自己解決出来ていたのにこちらのスレッドがほったらかしでしたので更新します。

はっきり覚えていませんが、確かrichTextValuesを使うことで、解決したはずです。

お騒がせしました。

投稿2022/12/05 07:56

TomJerry

総合スコア10

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問