Com tot en aquest site, la part de Chat GPT també està en construcció permanent!
De moment ho dividiré en 2 parts
Experiments: Coses que faig/fem per explorar possibilitats sense que necessàriament tinguin una utilitat.
Utilitats: Solucions a tasques o problemes concrets. Les trobaràs en aquesta pàgina
Crear un document de Google Apps Script és tan fàcil com crear qualsevola altre tipus de document. Les primeres vegades no et surt la opció, però després ja apareix.
Crea els teus Scripts de forma senzilla. Pots copiar i enganxar els codis que compartiré per aquí sota. Si realment vols aprendre a fer els teus Scripts, forma't en altres webs. Pablo Felip comparteix molt del seu coneixement i és un bon lloc per aprendre (https://pablofelip.online/consolidar-hojas-calculo-apps-script/)
A vegades ens trobem que tenim en una carpeta tot de documents que volem passar a PDF. Ja sigui per compartir-los amb altres persones, enviar-los o imprimir-los. Aquesta tasca es pot automatitzar amb Google Apps Script.
Jo vaig estar aprenent-ne una mica però ara amb ChatGPT les meves nocions bàsiques em permeten veure algunes de les possibilitats i ChatGPT les fa realitat.
Li vaig demanar a ChatGPT:
Write a code for google apps script like an expert programmer in which, from the id of a folder in google drive, the program takes the id of all the google documents in the folder and converts them one by one into pdf and save them in the same folder that contains the documents and for which we have provided the ID.
i em va respondre
function convertGoogleDocsToPDFs(folderId) {
// Get the folder by ID
var folder = DriveApp.getFolderById(folderId);
// Get all the files in the folder
var files = folder.getFiles();
// Iterate through the files
while (files.hasNext()) {
var file = files.next();
// Check if the file is a Google Doc
if (file.getMimeType() === MimeType.GOOGLE_DOCS) {
// Convert the Google Doc to PDF
var pdfBlob = convertDocToPDF(file);
// Save the PDF in the same folder
folder.createFile(pdfBlob);
// Log the ID of the newly created PDF file
Logger.log('Converted Google Doc: ' + file.getName() + ' to PDF and saved in the folder with ID: ' + folder.getId());
}
}
}
function convertDocToPDF(file) {
// Get the Google Doc as a PDF blob
var url = 'https://docs.google.com/document/export?format=pdf&id=' + file.getId();
var options = {
method: 'GET',
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
},
muteHttpExceptions: true
};
var response = UrlFetchApp.fetch(url, options);
if (response.getResponseCode() === 200) {
var pdfBlob = response.getBlob().setName(file.getName() + '.pdf');
return pdfBlob;
} else {
Logger.log('Error converting Google Doc to PDF: ' + response.getContentText());
throw new Error('Error converting Google Doc to PDF');
}
}
function main() {
var folderId = 'YOUR_FOLDER_ID_HERE';
convertGoogleDocsToPDFs(folderId);
}
Pots veure el document de GAS aquí
Li podem demanar coses semblants per carpetes que continguin fulls de càlcul. En el següent document de GAS hi trobaràs un codi amb 2 funcions. La primera converteix tots els fulls de càlcul d'una carpeta a PDF (ignorant les columnes i files buides) facilitant-li la ID de la carpeta. La segona funció, si li facilites l'ID del document, te'l passa a PDF. Quan tens moltes pestanyes en un document, amb diferents mides; o múltiples documents amb múltiples pestanyes, aquest petit pas et facilita les coses.
Al nostre centre tenim una carpeta en la que hi hem anat afegint recursos interessants que hem anat fent o trobant. Tenir un full de càlcul que reculli tots els noms dels documents i hi afegeixi l'enllaç amb permís per visualitzar pot ser útil per fer una base de dades.
Podeu veure aquí tot el procés de demanar a ChatGPT el que vull, crear l'Script, donar-li la ID i executar-lo. Tot el procés en temps real m'ha portat una mica més de 8 minuts i ho podeu veure complet.