Hiển thị URL được sử dụng để chỉnh sửa phản hồi từ Biểu mẫu Google trong Bảng tính Google bằng cách sử dụng tập lệnh


11

Tôi đang cố gắng làm cho URL chỉnh sửa cho Biểu mẫu Google tự động được điền vào Google Sheet phản hồi mà nó được đính kèm. Tôi đã thấy điều này rồi và muốn sử dụng nó, nhưng tôi gặp vấn đề khi cố gắng tìm ra chính xác nơi để đặt tập lệnh.

Tôi đã thử đặt nó trong trình chỉnh sửa tập lệnh trong Bảng tính Google mà tôi muốn URL xuất hiện, nhưng tôi không chắc sẽ đi đâu từ đó. Trong trình chỉnh sửa tập lệnh, tôi đã thử kiểm tra nó như một tiện ích bổ sung nhưng cuối cùng nó không hoạt động.

Tôi có ít kinh nghiệm với các tập lệnh và trình chỉnh sửa tập lệnh trong Google Sheets. Như một lưu ý cuối cùng, tôi đang sử dụng một tiện ích bổ sung khác có tên AutoCrat trong cùng Bảng tính Google.


Bên cạnh liên kết đến nguồn mã mà bạn đã thử, hãy bao gồm mã và các bước tiếp theo để thực hiện các bài kiểm tra của bạn.
Rubén

Câu trả lời:


16

Câu trả lời ngắn

Các liên kết trỏ đến một Q & A có hai câu trả lời nhưng không trong số họ có vẻ với tôi là thích hợp. Mã của một trong những câu trả lời là không đầy đủ và cả hai đều gửi email, vì vậy việc áp dụng quá phức tạp để được sử dụng làm điểm bắt đầu.

Dưới đây là một kịch bản dễ dàng hơn để áp dụng.

Hướng dẫn

  1. Tạo một mẫu thử nghiệm và lưu ý ID mẫu (giữa ../d//edittrong url). Hình thức mới

  2. Đặt biểu mẫu để gửi phản hồi đến một bảng tính mới. Kết nối một bảng tính

  3. Bạn sẽ được chuyển hướng đến bảng tính mới. Lưu ý tên trang tính đang hoạt động (đổi tên nó nếu bạn muốn) và thêm tiêu đề vào cột sẽ được sử dụng để giữ các URL chỉnh sửa phản hồi, nghĩa là Edit Url. LƯU Ý: Viết hoa là rất quan trọng, vì vậy hãy thật cẩn thận về cách bạn viết nó. Bảng tính phản hồi

  4. Chuyển đến Tools > Script editorđể thêm dự án Google Apps Script giới hạn vào bảng tính. Kịch bản bảng tính

  5. Thay thế mã mặc định bằng mã bên dưới (nhớ chỉnh sửa các biến toàn cục theo trường hợp của bạn). Mã script

  6. Lưu dự án và sau đó thêm trình kích hoạt biểu mẫu có thể cài đặt (nếu bạn nhận được hộp thoại "Yêu cầu ủy quyền", nhấp vào "Xem lại quyền" và sau đó "Cho phép"). Mẫu trình kích hoạt

  7. Gửi một số câu trả lời mẫu để kiểm tra giải pháp.

/*
 * Global Variables
 */

// Form URL
var formURL = 'https://docs.google.com/forms/d/form-id/viewform';
// Sheet name used as destination of the form responses
var sheetName = 'Form Responses 1';
/*
 * Name of the column to be used to hold the response edit URLs 
 * It should match exactly the header of the related column, 
 * otherwise it will do nothing.
 */
var columnName = 'Edit Url' ;
// Responses starting row
var startRow = 2;

function getEditResponseUrls(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues(); 
  var columnIndex = headers[0].indexOf(columnName);
  var data = sheet.getDataRange().getValues();
  var form = FormApp.openByUrl(formURL);
  for(var i = startRow-1; i < data.length; i++) {
    if(data[i][0] != '' && data[i][columnIndex] == '') {
      var timestamp = data[i][0];
      var formSubmitted = form.getResponses(timestamp);
      if(formSubmitted.length < 1) continue;
      var editResponseUrl = formSubmitted[0].getEditResponseUrl();
      sheet.getRange(i+1, columnIndex+1).setValue(editResponseUrl);
    }
  }
}

Tài nguyên bổ sung

Tôi đã tạo ra một ý chính với nội dung từ câu hỏi và câu trả lời. b / c này tôi đang khám phá những cách để cộng tác tốt hơn giữa những người dùng cuối viết mã.


1
Tôi đã nhận được, đó là tên trang tính và tôi đã lấy ra '/ viewform' ở cuối URL. Cám ơn rất nhiều!
nicks

1
@ Rubén - Tôi đã tự do thêm một chút chi tiết vào hướng dẫn tuyệt vời của bạn, khi tôi vật lộn với một vài bước khi tôi tự mình làm theo.
Nhân sư

1
Đồng ý. Lý do chính khiến tôi thay đổi mã là để cho thấy rằng bạn chỉ có thể sử dụng FormApp.openById()với ID biểu mẫu thay vì FormApp.openByUrl()với toàn bộ URL, trong trường hợp định dạng URL của Google thay đổi trong tương lai. Thay vào đó tôi sẽ để lại nhận xét về ý chính của bạn.
Nhân sư

3
Trong cửa sổ tập lệnh google của tôi, "Trình kích hoạt của dự án hiện tại" nằm dưới "Chỉnh sửa".
dvb

1
@HoangTrinh Xem canEditResponse ()
Rubén
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.