Gibt es eine Möglichkeit, einen Weiterleitungslink mit dem Apps -Skript von Google Sheets zu ziehen?JavaScript

Javascript-Forum
Anonymous
 Gibt es eine Möglichkeit, einen Weiterleitungslink mit dem Apps -Skript von Google Sheets zu ziehen?

Post by Anonymous »

Ich versuche ein Google -Formular zu erstellen, das ein Google -Blatt bevölkert. Ich habe das Formular "Fitnessstudio Form A" und "Fitnessform B", das funktioniert, aber A wird nicht automatisch zu b.i eingeleitet. Ich habe ein Makro, das einen Link generiert, und dieser Link wird in der letzten Zeile und Spalte eines bestimmten Blattes auf Google Sheets gefüllt. Ich wollte diesen Link dynamisch ziehen und habe dann nur das Blatt eine Umleitung zu dort, aber es funktioniert nicht.

Code: Select all

function onFormSubmit(e) {
generatePrefilledLinks();
}

function generatePrefilledLinks() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getDataRange().getValues();
const headers = data[0];

const dateIndex = headers.indexOf("Workout Date");
const typeIndex = headers.indexOf("Workout Type");

if (dateIndex === -1 || typeIndex === -1) {
throw new Error("Headers 'Workout Date' and/or 'Workout Type' not found.");
}

const baseURL = "https://docs.google.com/forms/d/e/1FAIpQLScojqj2IUfZSpyOATMsJKuTbr_iSGJ3NginEBY4wCwWddp8-A/viewform";
const linkCol = headers.length + 1;
sheet.getRange(1, linkCol).setValue("Prefilled Exercise Log Link");

const lastRowIndex = data.length - 1;
const workoutDate = encodeURIComponent(data[lastRowIndex][dateIndex]);
const workoutType = encodeURIComponent(data[lastRowIndex][typeIndex]);

const prefillURL = `${baseURL}?entry.1754835796=${workoutDate}&entry.2111064850=${workoutType}`;
sheet.getRange(lastRowIndex + 1, linkCol).setValue(prefillURL);
}
< /code>
"Wie Sie sehen können, fülle ich in Form eines Formulars in Form des" vorgefüllten Übungs -Log -Link -Headers ". Ich erhalte einen leeren Bildschirm aktueller Ausgabebildschirm < /p>
, bevor ich auf der anderen Seite ungültige Werte erhielt, aber der Code, den ich habe, gibt den richtigen Link an. < /P>
function doGet() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getDataRange().getValues();

if (data.length < 2) {
return HtmlService.createHtmlOutput("No responses found.");
}

const lastRow = data.length - 1; // last row (0-indexed)
const lastCol = data[0].length - 1; // last column (0-indexed)
const lastValue = data[lastRow][lastCol].trim(); // Trim any leading or trailing spaces

// Log for debugging purposes
Logger.log("Last value: " + lastValue);

// Ensure the last value is a valid URL and redirect directly
const htmlContent = `





Redirecting to the workout log...


`;

// Return HTML content
return HtmlService.createHtmlOutput(htmlContent);
}
"
Linkcode abrufen>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post