kezat
Na Forum: Relacje w toku - 2 Galerie - 1
|
Cześć,
Popełniłem fragment kodu do automatycznego tworzenia linków dla wszystkich plików w danym folderze na google dysk. Założenia:
- dwa foldery z plikami o dokładnie tych samych nazwach (duże i małe)
- trzeba przepisać ID tych folderów (oznaczone w kodzie)
- na podstawie arkusza od Kurta - tworzy odpowiedni tag na forum
U mnie działa - ale nie wiem/nie chce mi się szukać/nie mam czasu (niepotrzebne skreślić) jak udoskonalić i zrobić dla wszystkich... Jak ktoś ma czas/ochotę - to może ten kod sobie dowolnie wykorzystać... A jak znajdę czas - to może dokończę...
function myFunction() {
var ss=SpreadsheetApp.getActiveSpreadsheet();
var s=ss.getActiveSheet();
var c=s.getActiveCell();
var fldr=DriveApp.getFolderById("_tu_wstaw_ID_folderu_z_Duzymi");
var files=fldr.getFiles();
var linksD=[],linksM=[], names=[], result=[], f, strD, strM, strName;
s.clear();
while (files.hasNext()) {
f=files.next();
if (f.getName() != 'Lnkier') {
strD= f.getUrl();
linksD.push([strD]);
strName= f.getName();
names.push([strName]);
strM = getFileM(f.getName().toUpperCase());
linksM.push([strM]);
str = '[URL=https://drive.google.com/file/d/' + strD.substr(32,33) + '/preview][IMG]http://drive.google.com/uc?export=view&id=' + strM.substr(32,33) + '[/IMG][/URL]';
result.push([str])
}
}
s.getRange(1,1).setValue("Nazwa");
s.getRange(1,2).setValue("Link Google Duzy");
s.getRange(1,3).setValue("Link Google Maly");
s.getRange(2,1,names.length).setValues(names);
s.getRange(2,2,linksD.length).setValues(linksD);
s.getRange(2,3,linksM.length).setValues(linksM);
s.getRange(2,4,result.length).setValues(result);
}
function getFileM(f)
{
var fldrM=DriveApp.getFolderById("_tu_wstaw_ID_folderu_z_Malymi");
var filesM=fldrM.getFiles();
var fM, str;
while (filesM.hasNext()) {
fM = filesM.next();
str = fM.getName().toUpperCase();
if (str == f) {
return fM.getUrl();
}
}
return '';
}
|