ไฮไลต์ตัวละครที่โยนทิ้งและกดปุ่ม Enter รวมถึงพิมพ์ทุกอย่างลงในโปรแกรมแก้ไขข้อความจากนั้นคัดลอก / วางลงในเซลล์ของ Google ชีตทั้งคู่ใช้งานได้บนอุปกรณ์ Android เท่านั้น ฉันมีสเปรดชีตของ Google ที่ฉันแบ่งปันกับลูกค้าที่มี iPhone และเธอต้องสามารถป้อนหลายบรรทัดภายในเซลล์ ดังนั้นฉันจึงขึ้นมาด้วยรหัสสคริปต์ Google Apps เพียงเล็กน้อยที่จะทำบน iPhone ของเธอ (สามารถป้อนลงในเมนูแบบเลื่อนลงของ Google Spreadsheet เครื่องมือ >> เครื่องมือแก้ไขสคริปต์):
function onEdit(e) {
e.range.setValue(e.value.replace(/\\\\/g, '\\').replace(/ *\\n */g, '\n').replace(/\/g, '\\'));
}
โดยพื้นฐานแล้วจะสร้างฟังก์ชั่น (ที่เชื่อมโยงกับทริกเกอร์ Google ชีตโดยอัตโนมัติ) และจะทำงานทุกครั้งที่มีการแก้ไขเซลล์ มันจะแทนที่อักขระ "\ n" ทั้งหมดในข้อความของคุณด้วยการขึ้นบรรทัดใหม่ ตรวจสอบให้แน่ใจว่าเป็นแบ็กสแลชและไม่ใช่สแลชปกติ สำหรับโปรแกรมเมอร์ "\ n" เป็นอักขระพิเศษที่แสดงถึงการคืนค่าขนส่งภายในสตริง ข้อยกเว้นที่เป็นไปได้เพียงข้อเดียวที่อาจเกิดการแตกบรรทัดโดยไม่ตั้งใจอาจเกิดขึ้นได้เมื่อพยายามป้อนเส้นทาง Windows เข้าสู่เซลล์เช่น "C: \ Users \ John \ Documents \ news" ดังนั้นแบ็กสแลชสองครั้งจึงเป็นวิธีแก้ปัญหาทั่วไปสำหรับเส้นทาง Windows ในหมู่โปรแกรมเมอร์ ดังนั้นเราสามารถป้อน "C: \ Users \ John \ Documents \ news" หรือแม้แต่เพียงแค่ "C: \ Users \ John \ Documents \ news" (เนื่องจาก \ n เป็นสตริงเดียวที่เรากำลังเปลี่ยนในตอนนี้)
นอกจากนี้ยังเป็นไปได้ที่จะเปลี่ยนอักขระทดแทนในกรณีที่ผู้อื่นคุ้นเคยกับ HTML:
function onEdit(e) {
e.range.setValue(e.value.replace(/ *<br *\/*> */ig, '\n'));
}
เนื่องจาก " <br>
" มีเจตนามากขึ้น (คนไม่ได้พิมพ์โดยไม่ตั้งใจยกเว้นว่าพวกเขาต้องการแบ่งบรรทัด) มันทำให้ฟังก์ชั่นการเปลี่ยนง่ายขึ้นเนื่องจากเราไม่ต้องหลบเลี่ยงสำหรับแบ็กสแลชสองครั้ง แต่โดยส่วนตัวแล้วการพิมพ์ในวงเล็บที่ทำมุมจากแป้นพิมพ์หน้าจอสัมผัส Android เป็นเรื่องที่ไม่สะดวกที่จะทำสองครั้งในทุก ๆ เส้นแบ่ง ...
-Ted