Google form để cập nhật bảng tính

Chủ sở hữu biểu mẫu có thể cần chỉnh sửa một vài câu trả lời của biểu mẫu trong bảng tính để sửa một số thông tin. Chủ đề này dường như lặp đi lặp lại trong nhiều năm nhưng Google vẫn không hỗ trợ tính năng này. Chúng tôi từng nghĩ rằng bằng cách chỉnh sửa các ô trong bảng tính được liên kết, những phản hồi này cũng sẽ thay đổi. Nhưng tiếc là nó không. Để chỉnh sửa phản hồi thực, bạn cần một liên kết có tên là URL Chỉnh sửa phản hồi biểu mẫu

Hướng dẫn này chỉ cho bạn cách tập lệnh ứng dụng xfanatical được xây dựng có thể cho phép bạn chỉnh sửa phản hồi của biểu mẫu trực tiếp trong bảng tính

Bước 1. Chuẩn bị biểu mẫu và bảng tính của bạn

  • Bạn có một bảng tính được kết nối với biểu mẫu dưới dạng đích phản hồi
  • Bạn đã bật tùy chọn Người trả lời có thể Chỉnh sửa sau khi gửi trong phần Cài đặt của biểu mẫu

Bước 2. Thiết lập Apps Script kỳ diệu trong Bảng tính của bạn

  • Copy apps script ở phần Source code bên dưới
  • Mở bảng tính có liên kết với biểu mẫu
  • Nhấp vào Công cụ trong thanh menu, tiếp theo là Trình chỉnh sửa tập lệnh
trình chỉnh sửa tập lệnh trong bảng tính google
  • Trong tab Script Editor đã xuất hiện
    • Đặt tên cho trình chỉnh sửa tập lệnh, chẳng hạn như Thêm phản hồi biểu mẫu Chỉnh sửa URL
    • Dán mã
    • Nhấp vào để lưu
Thiết lập tập lệnh ứng dụng trong trình chỉnh sửa tập lệnh
  • Bây giờ quay lại tab Bảng tính. Làm mới trang
  • Bạn sẽ thấy một Menu Forms mới > Add Form Response Chỉnh sửa URL ở cuối thanh menu
menu chỉnh sửa phản hồi biểu mẫu

Bước 3. tự động hóa

Thật mệt mỏi khi thiết lập tất cả các phần, phải không? . Nhưng chúng tôi gần như ở đó

  1. Nhấp vào menu Biểu mẫu > Thêm biểu mẫu Chỉnh sửa URL phản hồi
  2. Đợi tập lệnh chạy. Nếu cửa sổ Ủy quyền bật lên, đừng hoảng sợ, hãy xem qua nó. Apps Script an toàn. Ngoài ra, nếu không có gì xảy ra, bạn có thể cần nhấp lại vào menu Biểu mẫu > Thêm biểu mẫu Chỉnh sửa URL phản hồi
  3. Bạn sẽ thấy tập lệnh thêm một cột mới URL Chỉnh sửa phản hồi biểu mẫu ở ngoài cùng bên phải của trang tính [Nếu bạn không thấy nó, hãy cuộn sang phải]. Sau đó, nó thêm từng url vào các câu trả lời. Thật tuyệt phải không?
    Nếu trang tính của bạn lớn [hàng nghìn phản hồi] và bạn thấy lỗi Vượt quá mức thực thi tối đa, hãy chạy lại tập lệnh bằng cách nhấp vào menu Biểu mẫu > Thêm biểu mẫu Chỉnh sửa URL phản hồi.
kết quả cuối cùng của việc thêm url chỉnh sửa phản hồi biểu mẫu vào bảng tính
  • THƯỞNG. Bây giờ hãy yêu cầu người trả lời của bạn gửi phản hồi mới. URL Chỉnh sửa Phản hồi Biểu mẫu sẽ được tự động đính kèm vào Bảng tính cho phản hồi mới

Bước 4. Chỉnh sửa câu trả lời trong bảng tính

  • Bây giờ bạn có url chỉnh sửa phản hồi cho mỗi lần gửi, bạn có thể tự do nhấp vào các liên kết đó và thực hiện các thay đổi đối với chúng
  • Những thay đổi sẽ sớm được phản ánh trong bảng tính

báo trước đã biết

Kịch bản không chính xác 100% khi nói đến trường hợp cạnh của các phản hồi liên tiếp. Ví dụ: nếu 4 câu trả lời được ghi lại trong

  • 03/01/2020 10. 30. 04
  • 03/01/2020 10. 30. 04
  • 03/01/2020 10. 30. 05
  • 03/01/2020 10. 30. 05

4 URL chỉnh sửa phản hồi có thể có khả năng gây rối vì dấu thời gian là yếu tố duy nhất khớp phản hồi biểu mẫu với bản ghi trong trang đích. Thêm logic phù hợp của bạn nếu cần thiết

Mã nguồn

/**
 * @license MIT
 * 
 * © 2019-2020 xfanatical.com. All Rights Reserved.
 *
 * @since 1.1.2 interface fix
 * @since 1.1.1 Optimize performance [continued]
 * @since 1.1.0 Optimize performance
 * @since 1.0.0 Add all edit response urls and update new urls for new submissions
 */
function registerNewEditResponseURLTrigger[] {
  // check if an existing trigger is set
  var existingTriggerId = PropertiesService.getUserProperties[].getProperty['onFormSubmitTriggerID']
  if [existingTriggerId] {
    var foundExistingTrigger = false
    ScriptApp.getProjectTriggers[].forEach[function [trigger] {
      if [trigger.getUniqueId[] === existingTriggerId] {
        foundExistingTrigger = true
      }
    }]
    if [foundExistingTrigger] {
      return
    }
  }

  var trigger = ScriptApp.newTrigger['onFormSubmitEvent']
    .forSpreadsheet[SpreadsheetApp.getActive[]]
    .onFormSubmit[]
    .create[]

  PropertiesService.getUserProperties[].setProperty['onFormSubmitTriggerID', trigger.getUniqueId[]]
}

function getTimestampColumn[sheet] {
  for [var i = 1; i 

Chủ Đề