10 วิธีในการเพิ่มความเร็วให้มาโครของคุณ

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

หยุดการคำนวณแผ่นงาน

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

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

กำหนดให้ Excel เข้าสู่โหมดการคำนวณด้วยตนเอง เรียกใช้โค้ด จากนั้นสลับกลับเป็นโหมดการคำนวณอัตโนมัติ

ย่อย Macro1()
Application.Calculation = xlCalculationManual
 'วางรหัสมาโครของคุณที่นี่
Application.Calculation = xlCalculationAutomatic
จบซับ

การตั้งค่าโหมดการคำนวณกลับเป็น xlCalculationAutomatic จะทริกเกอร์การคำนวณใหม่ของเวิร์กชีตโดยอัตโนมัติ ดังนั้นจึงไม่จำเป็นต้องกดปุ่ม F9 หลังจากที่มาโครของคุณทำงาน

ปิดการใช้งานการอัปเดตหน้าจอแผ่นงาน

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

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

ย่อย Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
 'วางรหัสมาโครของคุณที่นี่
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
จบซับ

หลังจากที่คุณตั้งค่าคุณสมบัติ ScreenUpdating กลับเป็น True แล้ว Excel จะทริกเกอร์การวาดหน้าจอใหม่โดยอัตโนมัติ

กำลังปิดการอัปเดตแถบสถานะ

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

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

ย่อย Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
 'วางรหัสมาโครของคุณที่นี่
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
จบซับ

บอกให้ Excel ละเว้นเหตุการณ์

คุณสามารถใช้มาโครเป็นกระบวนงานเหตุการณ์ โดยบอกให้ Excel เรียกใช้โค้ดบางอย่างเมื่อเวิร์กชีตหรือเวิร์กบุ๊กเปลี่ยนแปลง

บางครั้ง มาโครมาตรฐานทำการเปลี่ยนแปลงที่จะทริกเกอร์ขั้นตอนเหตุการณ์ ตัวอย่างเช่น หากคุณมีมาโครมาตรฐานที่จัดการหลายเซลล์ใน Sheet1 ทุกครั้งที่มีการเปลี่ยนแปลงเซลล์บนแผ่นงานนั้น แมโครของคุณต้องหยุดชั่วคราวในขณะที่กิจกรรม Worksheet_Change ทำงาน

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

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

ย่อย Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = เท็จ
 'วางรหัสมาโครของคุณที่นี่
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
จบซับ

ซ่อนตัวแบ่งหน้า

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

คุณสามารถหลีกเลี่ยงพฤติกรรมนี้ได้โดยเพียงแค่ซ่อนตัวแบ่งหน้าก่อนที่จะเริ่มมาโครของคุณ

ตั้งค่าคุณสมบัติแผ่นงาน DisplayPageBreaks เป็น False เพื่อซ่อนตัวแบ่งหน้า ถ้าคุณต้องการแสดงตัวแบ่งหน้าต่อไปหลังจากที่แมโครของคุณทำงาน ให้ตั้งค่าคุณสมบัติแผ่นงาน DisplayPageBreaks กลับเป็น True

ย่อย Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = เท็จ
Activesheet.DisplayPageBreaks = False
 'วางรหัสมาโครของคุณที่นี่
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
Activesheet.DisplayPageBreaks = True
จบซับ

ระงับการอัปเดตตารางสาระสำคัญ

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

คุณสามารถปรับปรุงประสิทธิภาพการทำงานของแมโครของคุณโดยระงับการคำนวณใหม่ของตารางสาระสำคัญจนกว่าจะมีการเปลี่ยนแปลงฟิลด์เดือยทั้งหมด เพียงตั้งค่าคุณสมบัติ PivotTable.ManualUpdate เป็น True เพื่อเลื่อนการคำนวณใหม่ เรียกใช้โค้ดแมโครของคุณ แล้วตั้งค่าคุณสมบัติ PivotTable.ManualUpdate กลับเป็น False เพื่อทริกเกอร์การคำนวณใหม่

ย่อย Macro1()
ActiveSheet.PivotTables("PivotTable1")).ManualUpdate=True
 'วางรหัสมาโครของคุณที่นี่
ActiveSheet.PivotTables("PivotTable1")).ManualUpdate=False
จบซับ

พวงมาลัยชัดเจนของการคัดลอกและวาง

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

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

ช่วง("A1").คัดลอกปลายทาง:=ช่วง("B1")

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

Range("B1").Value = Range("A1")).Value

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

ช่วง("B1").สูตร = ช่วง("A1").สูตร

การใช้คำสั่ง With

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

คำสั่ง With ที่ใช้ในตัวอย่างต่อไปนี้จะบอกให้ Excel ใช้การเปลี่ยนแปลงการจัดรูปแบบทั้งหมดในคราวเดียว:

    ด้วย Range("A1")).Font
    .ตัวหนา = จริง
    .ตัวเอียง = จริง
    .Underline = xlUnderlineStyleSingle
    จบด้วย

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

หลีกเลี่ยงวิธีเลือก

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

หลังจากบันทึกมาโครของคุณแล้ว ให้ปรับเปลี่ยนโค้ดที่สร้างขึ้นเพื่อลบเมธอด Select ให้เป็นนิสัย ในกรณีนี้ โค้ดที่ปรับให้เหมาะสมจะมีลักษณะดังนี้:

    ชีต("Sheet1")).ช่วง("A1").FormulaR1C1 = "1000"
    ชีต("Sheet2")).ช่วง("A1").FormulaR1C1 = "1000"
    ชีต("Sheet3")).ช่วง("A1").FormulaR1C1 = "1000"

โปรดทราบว่าไม่มีการเลือกสิ่งใด โค้ดใช้ลำดับชั้นของออบเจ็กต์เพื่อใช้การดำเนินการที่จำเป็น

จำกัดการเดินทางไปยังแผ่นงาน

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

ตัวอย่างเช่น โค้ดอย่างง่ายต่อไปนี้บังคับให้ VBA กลับสู่ Sheets("Sheet1") อย่างต่อเนื่อง ช่วง("A1") เพื่อให้ได้ตัวเลขที่จำเป็นสำหรับการเปรียบเทียบการดำเนินการในคำสั่ง If:

สำหรับ ReportMonth = 1 ถึง 12
     ถ้า Range("A1").Value = ReportMonth แล้ว
     MsgBox 1000000 / เดือนรายงาน
จบถ้า
รายงานถัดไปเดือน

วิธีที่มีประสิทธิภาพมากขึ้นคือการบันทึกค่าใน Sheets("Sheet1").Range("A1") ไปยังตัวแปรที่เรียกว่า MyMonth ด้วยวิธีนี้ โค้ดจะอ้างอิงตัวแปร MyMonth แทนเวิร์กชีต:

Dim MyMonth เป็นจำนวนเต็ม
MyMonth = ช่วง ("A1") .Value
สำหรับ ReportMonth = 1 ถึง 12
ถ้าเดือนของฉัน = เดือนรายงาน แล้ว
MsgBox 1000000 / เดือนรายงาน
จบถ้า
รายงานถัดไปเดือน

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

หลีกเลี่ยงการอ้างอิงมากเกินไป

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

สำหรับการเรียกใช้คุณสมบัติของอ็อบเจ็กต์หรือเมธอด โดยทั่วไปจะใช้เมธอดการแสดงของ  Object.Method  นั่นคือ "." สัญลักษณ์ใช้เพื่อเรียกคุณสมบัติและวิธีการ

ดังนั้นจำนวนวิธีหรือการเรียกคุณสมบัติจึงสามารถตัดสินได้ตามจำนวนสัญลักษณ์ "." ยิ่ง "" น้อยลง สัญลักษณ์ ยิ่งโค้ดทำงานเร็วขึ้น

ตัวอย่างเช่น ข้อความต่อไปนี้มีสัญลักษณ์ 3 ตัว "."

ThisWorkbook.Sheet1.Range("A1").Value = 100

ข้อความต่อไปนี้มีสัญลักษณ์ "." เพียงตัวเดียวเท่านั้น

Activewindow.Top = 100

ต่อไปนี้เป็นเคล็ดลับในการลดจำนวนสัญลักษณ์ "" เพื่อให้วิ่งเร็วขึ้น

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

ThisWorkbook.Sheets("Sheet1").Cells(1, 1) = 100
ThisWorkbook.Sheets("Sheet1").Cells(2, 1) = 200
ThisWorkbook.Sheets("Sheet1").Cells(3, 1) = 300

เนื่องจาก  ออบเจ็กต์ Sheets("Sheet1")  จำเป็นต้องถูกอ้างอิงซ้ำๆ จึงสามารถตั้งค่าเป็นตัวแปร  sht  ก่อนได้ เพื่อให้แต่ละโค้ดถูกเรียกเพียงครั้งเดียว

Set sht = ThisWorkbook.Sheets("Sheet1")
sht.Cells(1, 1) = 100
sht.Cells(2, 1) = 200
sht.Cells(3, 1) = 300

ประการที่สอง หากคุณไม่ต้องการประกาศตัวแปรชั่วคราว sht คุณสามารถใช้  คำสั่ง With  ที่กล่าวถึงข้างต้นได้ ดังแสดงในตัวอย่างต่อไปนี้:

With ThisWorkbook.Sheets("Sheet1")
    .Cells(1, 1) = 100
    .Cells(2, 1) = 200
    .Cells(3, 1) = 300
End With

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

For i = 1 To 1000
    ThisWorkbook.Sheets("Sheet1").Cells(1, 1) = Cells(1, 2).Value
    ThisWorkbook.Sheets("Sheet1").Cells(2, 1) = Cells(1, 2).Value
    ThisWorkbook.Sheets("Sheet1").Cells(3, 1) = Cells(1, 2).Value
Next i

แต่ละวงในตัวอย่างนี้ได้รับคุณสมบัติค่าของเซลล์ Cells(1,2) หากคุณกำหนดคุณสมบัติ Value ของ Cells(1.2) ให้กับตัวแปรก่อนที่การวนซ้ำจะเริ่มต้น คุณจะได้รับการทำงานที่เร็วขึ้น ดังแสดงในตัวอย่างต่อไปนี้:

tmp = Cells(1, 2).Value
For i = 1 To 1000
    ThisWorkbook.Sheets("Sheet1").Cells(1, 1) = tmp
    ThisWorkbook.Sheets("Sheet1").Cells(2, 1) = tmp
    ThisWorkbook.Sheets("Sheet1").Cells(3, 1) = tmp
Next i

โค้ดด้านบนเรียก  ThisWorkbook.Sheets("Sheet1")  ทุกครั้งที่วนซ้ำ คุณสามารถทำได้เร็วขึ้นโดยใช้  คำสั่ง With  เพื่อย้ายการเรียกไปยัง  ThisWorkbook.Sheets("Sheet1")  นอกวง ดังแสดงในตัวอย่างต่อไปนี้:

tmp = Cells(1, 2).Value
With ThisWorkbook.Sheets("Sheet1")
    For i = 1 To 1000
        .Cells(1, 1) = tmp
        .Cells(2, 1) = tmp
        .Cells(3, 1) = tmp
    Next i
End With

หลีกเลี่ยงการใช้ประเภทตัวแปร

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

Sub VariantTest()
    Dim i As Long
    Dim ix As Integer, iy As Integer, iz As Integer
    Dim vx As Variant, vy As Variant, vz As Variant
    Dim tm As Date
    vx = 100: vy = 50
    tm = Timer
    For i = 1 To 1000000
        vz = vx * vy
        vz = vx + vy
        vz = vx - vy
        vz = vx / vy
    Next i
    Debug.Print "Variant types take " & Format((Timer - tm), "0.00000") & " seconds"
    ix = 100: iy = 50
    tm = Timer
    For i = 1 To 1000000
        iz = ix * iy
        iz = ix + iy
        iz = ix - iy
        iz = ix / iy
    Next i
    Debug.Print "Integer types take " & Format((Timer - tm), "0.00000") & " seconds"
End Sub

ในโค้ดข้างต้น บรรทัดที่ 8 ถึง 13 ดำเนินการ 1 ล้านการดำเนินการของการบวก การลบ การคูณและการหารของตัวแปร Variant และบรรทัดที่ 17 ถึง 22 ดำเนินการ 1 ล้านการดำเนินการของการบวก ลบ คูณ และหารตัวแปรจำนวนเต็ม บนคอมพิวเตอร์ของฉัน การทำงานของตัวแปร Variant ใช้เวลาประมาณ  0.09375  วินาที ในขณะที่การทำงานของตัวแปร Integer ใช้เวลาประมาณ  0.03125  วินาที ผลลัพธ์อาจแตกต่างกันไปในคอมพิวเตอร์แต่ละเครื่อง แต่  ตัวแปร Variant จะช้ากว่าตัวแปร Integer อย่างมาก

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


สมาร์ทชีต 9.1.1

สมาร์ทชีต 9.1.1

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

แชร์พอร์ต

แชร์พอร์ต

SharePoint คือระบบการทำงานร่วมกันบนเว็บที่ใช้แอปพลิเคชันเวิร์กโฟลว์ที่หลากหลาย ฐานข้อมูล "รายการ" และส่วนประกอบของเว็บอื่นๆ รวมถึงคุณลักษณะด้านความปลอดภัยเพื่อให้การควบคุมกลุ่มธุรกิจทำงานร่วมกัน

ปฏิทินถาวร 1.0.38/1.0.36

ปฏิทินถาวร 1.0.38/1.0.36

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

ไมโครซอฟต์ เอาท์ลุค 2021

ไมโครซอฟต์ เอาท์ลุค 2021

Microsoft Outlook เป็นแอปพลิเคชันทางธุรกิจและเพิ่มประสิทธิภาพการทำงานที่พัฒนาโดย Microsoft Corporation

คลิกขึ้น

คลิกขึ้น

ClickUp เป็นหนึ่งในแพลตฟอร์มการผลิตที่ได้รับคะแนนสูงสุดสำหรับทุกธุรกิจ ธุรกิจขนาดใหญ่เช่น Google, Booking.com, San Diego Padres และ Uber ต่างก็ใช้ ClickUp เพื่อเพิ่มประสิทธิภาพในที่ทำงาน

โปรแกรมดู PDF-XChange 2.5.322.10

โปรแกรมดู PDF-XChange 2.5.322.10

PDF กลายเป็นรูปแบบที่ใช้กันทั่วไปในการอ่าน สร้าง และส่งเอกสารข้อความ ในทางกลับกัน มีจำนวนโปรแกรมที่ใช้สำหรับเอกสารประเภทนี้เพิ่มขึ้น PDF-XChange Viewer เป็นหนึ่งในโปรแกรมดู PDF ที่มีจำนวนเพิ่มมากขึ้น

อาปาเช่ โอเพ่นออฟฟิศ

อาปาเช่ โอเพ่นออฟฟิศ

Apache OpenOffice นำเสนอชุดแอปพลิเคชัน Office ที่สมบูรณ์ซึ่งแข่งขันกับ Microsoft 365 โดยเฉพาะใน Excel, PowerPoint และ Word ช่วยให้คุณจัดการโครงการของคุณได้อย่างมีประสิทธิภาพมากขึ้นและรองรับไฟล์ได้หลายรูปแบบ

ดาวน์โหลด iTaxviewer 1.8.7

ดาวน์โหลด iTaxviewer 1.8.7

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

โปรแกรมอ่าน Nitro PDF

โปรแกรมอ่าน Nitro PDF

Nitro PDF Reader เป็นโปรแกรมแก้ไข PDF ที่มีประโยชน์ซึ่งครอบคลุมงานพื้นฐานทั้งหมดที่คนส่วนใหญ่ทำทุกวันด้วยเอกสาร PDF

Foxit Reader 12

Foxit Reader 12

Foxit Reader ส่วนใหญ่เป็นโปรแกรมอ่าน PDF และยังช่วยให้คุณสร้างไฟล์ PDF ลงนาม แก้ไข และเพิ่มคำอธิบายประกอบได้ ใช้งานได้กับระบบปฏิบัติการ มีปลั๊กอินสำหรับโปรแกรมต่าง ๆ จากแพ็คเกจ Microsoft Office