前提
下記でファイル名とファイルのURLは取得出来るのですが、
スプレッドシートに記述する時に、
2つのセルを使わないといけないので、
横方向に長くなってしまいます。
while(files.hasNext()){
let file = files.next();
let fileUrl = file.getUrl();
let fileName = file.getName();
マクロ機能で記録したスクリプトを見てもどう上記のスクリプトにあてはめればいいのか分かりませんでした。
実現したいこと
表記はファイル名で、そのファイル名のリンクが貼っている状態を変数に格納したいのですが、
どの様にすればよろしいでしょうか?
「やってほしいことだけを記載した丸投げの質問」という指摘を受けましたので、
私が現在出来る範囲を書いてみました。
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());

回答1件
あなたの回答
tips
プレビュー