วิธีใช้มาโคร ONLYOFFICE เพื่อทำความสะอาดสเปรดชีตโดยอัตโนมัติ

การทำความสะอาดสเปรดชีตเป็นงานที่ซ้ำซากจำเจ: ชื่อไฟล์ที่ส่งออกมักมีช่องว่างเกินมา ข้อความที่คัดลอกมามีช่องว่างที่ไม่เว้นวรรค และสูตรหรือรหัสอาจเสียหายได้จากการแทนที่แบบกว้างๆ มาโคร ONLYOFFICE สามารถทำให้ข้อความในช่วงที่กำหนดเป็นมาตรฐานได้ โดยไม่เปลี่ยนแปลงค่าตัวเลขและเซลล์สูตร ตัวอย่างด้านล่างนี้จัดการเฉพาะช่องว่างเท่านั้น การลบข้อมูลซ้ำ การแปลงวันที่ และการลบแถวว่างต้องใช้กฎแยกต่างหาก

เอกสารนี้ได้รับการตรวจสอบเมื่อวันที่ 6 ตุลาคม 2026มาโคร ONLYOFFICE ใช้ JavaScript ร่วมกับ Office JavaScript API ไม่ใช่ Excel VBA เอกสารปัจจุบันของโปรแกรมแก้ไขนี้แนะนำให้เปิดพื้นที่ทำงานมาโครจากView → Macrosลักษณะของแถบเครื่องมืออาจแตกต่างกันไปในแต่ละเวอร์ชันเดสก์ท็อปและเวอร์ชันที่โฮสต์อยู่

งานทำความสะอาดที่มาโครนี้จัดการได้

ตัวอย่างนี้จะลบช่องว่างหรือแท็บที่อยู่ด้านหน้าและด้านหลังข้อความ เปลี่ยนช่องว่างที่ไม่เว้นวรรคให้เป็นช่องว่างปกติ และยุบช่องว่างหรือแท็บที่ซ้ำกันภายในข้อความ นอกจากนี้ยังข้ามสูตรและค่าที่ไม่ใช่สตริง ขอบเขตที่จำกัดนี้จะช่วยลดโอกาสที่วันที่ จำนวนเงิน หรือเซลล์ที่คำนวณแล้วจะเปลี่ยนแปลงไปในระหว่างการเตรียมการนำเข้าข้อมูลแบบต่อเนื่อง

ปัญหาข้อมูลตัวอย่างนี้ทำอะไรตรวจสอบก่อนทำการทำงานอัตโนมัติ
ช่องว่างนำหน้าหรือตามหลัง และแท็บลบออกจากเซลล์ข้อความโดยทั่วไปแล้วปลอดภัยสำหรับการตั้งชื่อและติดป้ายกำกับ แต่ควรตรวจสอบช่องที่การเว้นวรรคมีความสำคัญ
ช่องว่างที่ไม่เว้นวรรคแทนที่ด้วยช่องว่างปกติมีประโยชน์สำหรับข้อความที่คัดลอกมาจากเว็บไซต์ ตรวจสอบช่องแหล่งที่มาเป็นระยะ
เว้นวรรคหรือแท็บซ้ำๆยุบการวิ่งแต่ละครั้งให้เหลือเพียงช่องเดียวห้ามใช้กับข้อความที่มีความกว้างคงที่หรือการเว้นวรรคโดยเจตนา
สูตร ตัวเลข และค่าบูลีนปล่อยให้พวกมันไม่เปลี่ยนแปลงตรวจสอบว่าเซลล์สูตรยังคงคำนวณได้หลังจากเรียกใช้งานแล้ว
แถวซ้ำ วันที่ซ้ำ แถวว่างไม่เปลี่ยนแปลงพวกมันกำหนดกฎทางธุรกิจก่อน นี่ไม่ใช่แค่การปรับแต่งเพื่อความสวยงามเท่านั้น

1. เตรียมสำเนาและกำหนดช่วง

บันทึกสำเนาของสเปรดชีตก่อนเรียกใช้มาโครใดๆ ที่เปลี่ยนแปลงเซลล์ ระบุเวิร์กชีตและแถวข้อมูลที่จะทำความสะอาด ในโค้ดด้านล่างนี้A2:D500เป็นช่วงตัวอย่าง: สมมติว่าแถวที่ 1 มีส่วนหัว และข้อมูลคาดว่าจะอยู่ในคอลัมน์ A ถึง D เปลี่ยนที่อยู่ให้ตรงกับชีตของคุณ ใช้ช่วงที่มีขอบเขตครอบคลุมระเบียนที่ต้องการ และอย่ารวมบันทึกย่อ สูตร หรือคอลัมน์ที่ไม่เกี่ยวข้อง

ตารางในโปรแกรม ONLYOFFICE ที่มีคอลัมน์ ลูกค้า เมือง และสถานะ พร้อมตัวอย่างข้อมูล 4 รายการ
แผ่นงานขนาดเล็กนี้แสดงตัวอย่างที่มีขอบเขตจำกัด โปรดอย่าให้แถวส่วนหัวอยู่นอกช่วงการทำความสะอาด

สำหรับการทดสอบเบื้องต้น ให้คัดลอกข้อมูลตัวอย่างบางส่วนไปยังแผ่นงานชั่วคราว หรือทำสำเนาไฟล์แล้วย่อช่วงข้อมูล เช่นA2:D10รวมตัวอย่างที่มีช่องว่างปกติ ข้อความที่คัดลอกมาวาง เซลล์ว่าง และสูตร เพื่อให้คุณสามารถตรวจสอบได้ว่ามาโครจัดการแต่ละกรณีอย่างไร

2. เปิดโปรแกรมแก้ไขมาโคร ONLYOFFICE

เปิดสเปรดชีตใน ONLYOFFICE Spreadsheet Editor แล้วเลือกView → Macrosสร้างมาโครใหม่ในหน้าต่างมาโคร หรือเลือกโมดูลใหม่ จากนั้นตั้งชื่อให้ชัดเจน เช่น คู่มือ เริ่มต้นใช้งานมาโครของ ONLYOFFICECleanTextWhitespaceอย่างเป็นทางการจะอธิบายจุดเริ่มต้นและวิธีการเรียกใช้งานนี้

โปรแกรม ONLYOFFICE Spreadsheet Editor โดยเลือกแท็บ View และแสดงตัวควบคุม Macros บนแถบ Ribbon
แถบเมนู View ประกอบด้วยตัวควบคุม Macros ซึ่งใช้สำหรับเปิดพื้นที่ทำงานมาโคร

หากมาโครถูกปิดใช้งานโดยการตั้งค่าตัวแก้ไขของคุณ โปรดตรวจสอบการตั้งค่า → การตั้งค่าขั้นสูง → มาโครเอกสาร ONLYOFFICE มีตัวเลือกในการปิดใช้งานมาโคร แสดงการแจ้งเตือน หรือเปิดใช้งานมาโคร สำหรับเวิร์กบุ๊กที่คุณไม่ได้สร้าง อย่าเปิดใช้งานมาโครทั้งหมดทั่วโลกเพียงเพื่อเรียกใช้สคริปต์เดียว ตรวจสอบโค้ดและปฏิบัติตามนโยบายขององค์กรของคุณ

3. วางมาโครที่มีขอบเขตและรองรับสูตรนี้ลงไป

วางโค้ดลงในตัวแก้ไขมาโคร แก้ไข ก่อนเรียกใช้ เมธอดA2:D500ช่วงที่ใช้ในที่นี้มีเอกสารอธิบายไว้ในเอกสารอ้างอิง GetRange ของเวิร์กชีตเอกสารอ้างอิง GetCells ของช่วงและหน้า API สำหรับGetFormula , GetValueและSetValue

(function () {
    var oSheet = Api.GetActiveSheet();
    var oRange = oSheet.GetRange("A2:D500");
    var nRows = oRange.GetRowsCount();
    var nCols = oRange.GetColumnsCount();

    for (var r = 1; r <= nRows; r++) {
        for (var c = 1; c <= nCols; c++) {
            var oCell = oRange.GetCells(r, c);
            var sFormula = oCell.GetFormula();

            // Do not replace formulas with their displayed results.
            if (sFormula) {
                continue;
            }

            var v = oCell.GetValue();

            // Restrict this cleanup to text constants.
            if (typeof v !== "string") {
                continue;
            }

            var sClean = v
                .replace(/\u00A0/g, " ")
                .replace(/[ \t]+/g, " ")
                .replace(/^[ \t]+|[ \t]+$/g, "");

            // SetValue treats strings beginning with "=" as formulas.
            if (sClean.charAt(0) === "=") {
                continue;
            }

            if (sClean !== v) {
                oCell.SetValue(sClean);
            }
        }
    }
})();
โปรแกรมแก้ไขมาโคร ONLYOFFICE จะแสดงบรรทัด JavaScript ที่เลือกช่วงที่กำหนดและอ่านค่าสูตรและค่าเซลล์
หน้าต่างโค้ดแสดงช่วงและวิธีการอ่านเซลล์ที่ใช้โดยมาโครทำความสะอาด

ตัวนับแถวและคอลัมน์ที่ส่งผ่านGetCellsจะสัมพันธ์กับช่วงที่เลือก ตัวอย่าง API ใช้ตำแหน่งตัวเลขเพื่อเข้าถึงเซลล์ มาโครจะอ่านสูตรของแต่ละเซลล์ก่อนและข้ามไปหากมีสูตรอยู่ จากนั้นจะอ่านค่าและแก้ไขเฉพาะสตริงที่เปลี่ยนแปลงจริงเท่านั้น สตริงที่จะกลายเป็นสูตรเครื่องหมายเท่ากับหลังจากตัดแต่งแล้วก็จะถูกข้ามไปเช่นกัน เนื่องจากSetValueสามารถตีความเครื่องหมายเท่ากับนำหน้าเป็นสูตรได้

นิพจน์ช่องว่างนี้ตั้งใจที่จะไม่เปลี่ยนแปลงการขึ้นบรรทัดใหม่ มันจะไม่เปลี่ยนแปลงตัวพิมพ์ใหญ่ เครื่องหมายวรรคตอน ค่าตัวเลข หรือลำดับวันที่ หากแหล่งข้อมูลของคุณมีหมายเหตุหลายบรรทัด ฟิลด์ที่มีความกว้างคงที่ หรือตัวระบุที่มีช่องว่างพิเศษ ให้ทดสอบคอลัมน์เหล่านั้นแยกต่างหากและปรับนโยบายแทนที่จะใช้การปรับมาตรฐานในวงกว้าง

4. รันหนึ่งครั้ง แล้วตรวจสอบผลลัพธ์

เรียกใช้มาโครจากตัวแก้ไขมาโคร เนื่องจากมาโครนี้จะอัปเดตเซลล์ในช่วงที่เลือกไว้ โปรดตรวจสอบข้อความที่เปลี่ยนแปลงในสำเนาที่ใช้งานอยู่ก่อนที่จะบันทึกทับต้นฉบับ เปรียบเทียบสองสามแถวกับต้นฉบับ รวมถึงแถวแรกและแถวสุดท้ายในช่วงนั้น ตรวจสอบให้แน่ใจว่าส่วนหัวยังคงไม่เปลี่ยนแปลง สูตรยังคงคำนวณได้ และเซลล์ตัวเลข เช่น วันที่ สกุลเงิน และรหัสประจำตัว ยังคงไม่เปลี่ยนแปลง

ตารางข้อมูลจาก ONLYOFFICE ที่มีคอลัมน์ ลูกค้า เมือง และสถานะ สามารถมองเห็นได้สำหรับการตรวจสอบหลังการทำความสะอาด
ใช้แผ่นงานเพื่อตรวจสอบแถวตัวอย่างและเปรียบเทียบกับสำเนาที่ไม่ได้รับการแก้ไข

สำหรับชีตขนาดใหญ่ ให้กรองหรือค้นหาช่องว่างที่น่าสงสัยก่อนและหลังการเรียกใช้ และเปรียบเทียบจำนวนแถว มาโครจะไม่ลบแถว ลบข้อมูลซ้ำ แปลงวันที่ หรือเติมช่องว่าง ดังนั้นการตรวจสอบเหล่านี้ควรเน้นที่ค่าข้อความ หากคุณต้องการบันทึกการตรวจสอบที่มองเห็นได้ ให้เพิ่มคอลัมน์ตรวจสอบแยกต่างหาก หรือคัดลอกผลลัพธ์ที่แก้ไขแล้วไปยังชีตชั่วคราวแทนที่จะเขียนข้อความสถานะลงในเซลล์ใดๆ

กฎการทำความสะอาดทั่วไปที่ต้องมีการตัดสินใจแยกต่างหาก

  • ข้อมูลซ้ำซ้อน:พิจารณาว่าคอลัมน์ใดบ้างที่บ่งชี้ว่าเป็นข้อมูลซ้ำซ้อน และธุรกรรมที่ซ้ำกันนั้นถูกต้องหรือไม่ ก่อนที่จะลบแถวออก ชื่อที่เหมือนกันสองชื่อไม่ได้หมายความว่าจะเป็นบุคคลหรือคำสั่งซื้อเดียวกันเสมอไป
  • เซลล์ว่างและแถวว่าง:เซลล์ว่าง ค่าศูนย์ และค่าข้อความ เช่น “ไม่มีข้อมูล” มีความหมายแตกต่างกัน ห้ามแทนที่หรือลบเซลล์และแถวว่างโดยไม่มีกฎข้อมูลรองรับ
  • วันที่และตัวเลขที่จัดเก็บในรูปแบบข้อความ:เลือกรูปแบบและภาษาที่ต้องการก่อน ตัวอย่างนี้หลีกเลี่ยงการแปลงค่าเหล่านี้เนื่องจากสตริงเช่นนั้น03/04/2026มีความหมายกำกวมในแต่ละภูมิภาค
  • เลขศูนย์นำหน้า:นำเข้าตัวระบุต่างๆ เช่น00127ตัวระบุที่เป็นข้อความ หากสเปรดชีตได้จัดเก็บเลขศูนย์เหล่านั้นเป็นตัวเลขไว้แล้ว การตัดข้อความจะไม่สามารถกู้คืนเลขศูนย์ที่หายไปได้
  • การปรับรูปแบบตัวพิมพ์ใหญ่-เล็ก:การใช้ตัวพิมพ์เล็กสำหรับที่อยู่อีเมลหรือการใช้ตัวพิมพ์ใหญ่สำหรับรหัสรัฐอาจช่วยได้ในบางช่องข้อมูล แต่การนำไปใช้กับชื่อหรือคำอธิบายผลิตภัณฑ์อาจทำให้การใช้ตัวพิมพ์ใหญ่ตามที่ตั้งใจไว้ผิดเพี้ยนไปได้

ใช้มาโคร ONLYOFFICE เมื่อสามารถกำหนดกฎที่ทำซ้ำได้อย่างแม่นยำ และสามารถทดสอบกับสำเนาได้ ระบบมาโครใช้ JavaScript แทน VBA และแนบอยู่กับเอกสารแทนที่จะใช้งานได้ทั่วทั้งระบบ อีกทั้งยังจำกัดการเข้าถึงระบบไฟล์และเครือข่ายโดยตรง ดังที่อธิบายไว้ในคำถามที่พบบ่อยเกี่ยวกับมาโคร ONLYOFFICEขอบเขตการเข้าถึงนี้จะจำกัดสิ่งที่มาโครสามารถเข้าถึงได้ภายนอกตัวแก้ไข แต่มาโครยังคงสามารถเปลี่ยนแปลงเนื้อหาของเวิร์กบุ๊กได้ ดังนั้นควรตรวจสอบและทดสอบโค้ดก่อนใช้งาน

สำหรับการนำเข้าข้อมูลซ้ำๆ ให้เก็บสคริปต์ไว้ในเทมเพลตหรือสำเนาเอกสารที่มีการควบคุม และใช้รายการตรวจสอบสั้นๆ ดังนี้: ยืนยันชีตที่ใช้งานอยู่ อัปเดตที่อยู่ช่วงข้อมูล ไม่รวมส่วนหัวและสูตร เรียกใช้กับสำเนา ตรวจสอบข้อความที่แก้ไขแล้ว และเปรียบเทียบเวิร์กบุ๊กสุดท้ายกับต้นฉบับก่อนบันทึกหรือแชร์

ฝากความเห็น

วิธีเชื่อมต่อ ONLYOFFICE Desktop Editors กับ ownCloud Server

วิธีเชื่อมต่อ ONLYOFFICE Desktop Editors กับ ownCloud Server

เชื่อมต่อ ONLYOFFICE Desktop Editors กับเซิร์ฟเวอร์ ownCloud ของคุณ ลงชื่อเข้าใช้ เปิดไฟล์บนคลาวด์ จัดการการเชื่อมต่อ และแก้ไขปัญหาการตั้งค่าทั่วไป

วิธีแก้ไขปัญหาการใช้งาน CPU สูงใน Collabora Online จาก loolwsd / coolwsd

วิธีแก้ไขปัญหาการใช้งาน CPU สูงใน Collabora Online จาก loolwsd / coolwsd

แก้ไขปัญหาการใช้งาน CPU สูงใน Collabora Online โดยการระบุโปรเซสชุดเครื่องมือที่ทำงานหนัก ตรวจสอบเมตริกและบันทึก ปรับแต่งการทำงานพร้อมกันและการล้างข้อมูล และตรวจสอบการแก้ไขอย่างปลอดภัย

วิธีปรับแต่งแบรนด์ ONLYOFFICE Docs ด้วยโลโก้และสีของคุณเอง

วิธีปรับแต่งแบรนด์ ONLYOFFICE Docs ด้วยโลโก้และสีของคุณเอง

เรียนรู้วิธีปรับแต่งแบรนด์ ONLYOFFICE Docs ด้วยโลโก้ส่วนหัวและสีของอินเทอร์เฟซ รวมถึงข้อจำกัดของใบอนุญาต การตั้งค่าธีม JSON เส้นทาง Docker และการทดสอบ

แก้ไขปัญหาการมองเห็นข้อความในโหมดมืดใน LibreOffice Calc

แก้ไขปัญหาการมองเห็นข้อความในโหมดมืดใน LibreOffice Calc

แก้ไขปัญหาข้อความที่อ่านยากใน LibreOffice Calc โดยตรวจสอบธีมของแอป แบบอักษรและสีเติมของเซลล์ สไตล์ และการจัดรูปแบบตามเงื่อนไข จากนั้นตรวจสอบผลลัพธ์การพิมพ์

แก้ไขข้อผิดพลาด “เอกสารถูกล็อกโดยผู้ใช้ที่ไม่รู้จัก” ใน LibreOffice

แก้ไขข้อผิดพลาด “เอกสารถูกล็อกโดยผู้ใช้ที่ไม่รู้จัก” ใน LibreOffice

ล้างคำเตือนการล็อกผู้ใช้ที่ไม่รู้จักของ LibreOffice อย่างปลอดภัย ตรวจสอบเซสชันที่ใช้งานอยู่ ป้องกันสำเนา ลบเฉพาะการล็อกที่หมดอายุซึ่งได้รับการตรวจสอบแล้ว และทดสอบเอกสาร

แก้ไขข้อความภาษาอาหรับและฮิบรูที่เขียนจากขวาไปซ้ายใน LibreOffice Writer

แก้ไขข้อความภาษาอาหรับและฮิบรูที่เขียนจากขวาไปซ้ายใน LibreOffice Writer

แก้ไขข้อความภาษาอาหรับหรือฮิบรูที่จัดเรียงหรือผสมกับภาษาอังกฤษไม่ถูกต้องใน LibreOffice Writer เปิดใช้งานการจัดวางข้อความที่ซับซ้อน กำหนดทิศทางย่อหน้า และตรวจสอบผลลัพธ์

เปรียบเทียบฟังก์ชัน VLOOKUP กับ XLOOKUP ใน LibreOffice Calc: คู่มือสำหรับผู้เริ่มต้นใช้งาน

เปรียบเทียบฟังก์ชัน VLOOKUP กับ XLOOKUP ใน LibreOffice Calc: คู่มือสำหรับผู้เริ่มต้นใช้งาน

เรียนรู้การใช้งาน VLOOKUP และ XLOOKUP ใน LibreOffice Calc รวมถึงการค้นหาแบบตรงกันทุกประการ การค้นหาทางซ้าย ผลลัพธ์ที่ไม่พบ การค้นหาแบบย้อนกลับ ทางเลือกอื่นนอกเหนือจาก INDEX/MATCH และข้อผิดพลาดที่พบบ่อย

วิธีแก้ไขปัญหา “การตรวจสอบหลักฐาน WOPI ล้มเหลว” ใน Collabora Online

วิธีแก้ไขปัญหา “การตรวจสอบหลักฐาน WOPI ล้มเหลว” ใน Collabora Online

แก้ไขปัญหาการตรวจสอบความถูกต้องของหลักฐาน WOPI ใน Collabora Online โดยตรวจสอบคีย์การค้นหา การหมุนเวียนคีย์ URL พร็อกซี การประทับเวลา และรายการอนุญาตโฮสต์

วิธีเปิดใช้งานการติดตามการเปลี่ยนแปลงโดยค่าเริ่มต้นใน ONLYOFFICE Docs

วิธีเปิดใช้งานการติดตามการเปลี่ยนแปลงโดยค่าเริ่มต้นใน ONLYOFFICE Docs

เปิดใช้งานการติดตามการเปลี่ยนแปลงสำหรับทุกคนในเอกสาร ONLYOFFICE รักษาสถานะการใช้งานไว้หลังจากเปิดเอกสารใหม่ และทำความเข้าใจข้อจำกัดของการตั้งค่าเริ่มต้นแบบทั่วโลก

วิธีตั้งค่าการหมดเวลาเมื่อไม่ได้ใช้งานสำหรับเซสชันการแก้ไขใน Collabora

วิธีตั้งค่าการหมดเวลาเมื่อไม่ได้ใช้งานสำหรับเซสชันการแก้ไขใน Collabora

เปรียบเทียบการตั้งค่าการหมดเวลาต่อการดู การไม่โฟกัส การไม่มีการใช้งานเอกสาร การบันทึกอัตโนมัติ และพร็อกซีของ Collabora Online จากนั้นเลือกและตรวจสอบการตั้งค่าสำหรับการใช้งานของคุณ