ใช้โหมดการคำนวณโครงการ MS ใน Python

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

บทความนี้ครอบคลุมหัวข้อต่อไปนี้:

  1. Python API เพื่อคำนวณโครงการโดยทางโปรแกรม
  2. การคำนวณโครงการด้วยตนเอง
  3. การคำนวณโครงการอัตโนมัติ
  4. ไม่มีโหมดการคำนวณโครงการ

Python API เพื่อคำนวณโครงการโดยทางโปรแกรม

เราจะใช้ Aspose.Tasks for Python API เพื่อใช้งานโปรเจ็กต์ MS โหมดการคำนวณ มีโหมดการคำนวณต่อไปนี้เพื่อคำนวณค่าของคุณสมบัติที่ขึ้นต่อกัน:

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

โปรด ดาวน์โหลดแพ็คเกจ หรือ ติดตั้ง API จาก PyPI โดยใช้คำสั่ง pip ต่อไปนี้ในคอนโซล:

pip install aspose-tasks

คำนวณโครงการ MS ด้วยตนเองใน Python

เราสามารถตั้งค่าโหมดการคำนวณเป็นแบบแมนนวลและตรวจสอบได้โดยทำตามขั้นตอนด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาสโครงการ
  2. ตั้งค่าโหมดการคำนวณเป็น MANUAL
  3. ระบุวันที่เริ่มต้นโครงการ
  4. เพิ่มงานใหม่ เช่น งานที่ 1 และงานที่ 2
  5. อ่านคุณสมบัติของงาน
  6. หลังจากนั้น ให้เริ่มต้นออบเจ็กต์ของคลาส TaskLinks และลิงก์งาน
  7. สุดท้าย ตรวจสอบวันที่เริ่มต้นและสิ้นสุดของภารกิจที่ 2

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการคำนวณโปรเจ็กต์ใน Python ด้วยตนเอง

# ตัวอย่างโค้ดนี้สาธิตวิธีการคำนวณโครงการ MS โดยใช้โหมดการคำนวณด้วยตนเองใน Python
import aspose.tasks as tasks
from datetime import datetime, timedelta

# สร้างอินสแตนซ์ของโครงการ
project = tasks.Project()

# ตั้งค่าโหมดการคำนวณเป็นแบบแมนนวล
project.calculation_mode = tasks.CalculationMode.MANUAL

# กำหนดวันเริ่มต้นโครงการ
project.start_date = datetime(2015, 4, 15)

# เพิ่มงานใหม่
task1 = project.root_task.children.add("Task 1")
task2 = project.root_task.children.add("Task 2")

# คุณสมบัติที่จำเป็นได้รับการตั้งค่าในโหมดแมนนวล
print("Task1.Id Equals 1 : ", task1.id == 1)
print("Task1 OutlineLevel Equals 1 : ", task1.outline_level == 1)
print("Task1 Start Equals 15/04/2015 08:00 AM : ", task1.start) == datetime(2015, 4, 15, 8, 0, 0)
print("Task1 Finish Equals 15/04/2015 05:00 PM : ", task1.finish) == datetime(2015, 4, 15, 17, 0, 0)
print("Task1 Duration Equals 1 day : ", str(task1.duration) == "1 day")
print("Task2 Start Equals 15/04/2015 08:00 AM : ", task2.start == datetime(2015, 4, 15, 8, 0, 0))
print("Task2 Finish Equals 15/04/2015 05:00 PM : ", task2.finish == datetime(2015, 4, 15, 17, 0, 0))
print("Task2 Duration Equals 1 day : ", str(task2.duration) == "1 day")

# เชื่อมโยงสองงานเข้าด้วยกันวันที่จะไม่ถูกคำนวณใหม่ในโหมดกำหนดเอง
link = project.task_links.add(task1, task2, tasks.TaskLinkType.FINISH_TO_START)

# ไม่มีการเปลี่ยนแปลงในวันที่ของภารกิจที่ 2
print("Task1 Start Equals Task2 Start : ", task1.start == task2.start)
print("Task1 Finish Equals Task2 Finish : ", task1.finish == task2.finish)
Task1.Id Equals 1 :  True
Task1 OutlineLevel Equals 1 :  True
Task1 Start Equals 15/04/2015 08:00 AM :  2015-04-15 08:00:00
Task1 Finish Equals 15/04/2015 05:00 PM :  2015-04-15 17:00:00
Task1 Duration Equals 1 day :  True
Task2 Start Equals 15/04/2015 08:00 AM :  True
Task2 Finish Equals 15/04/2015 05:00 PM :  True
Task2 Duration Equals 1 day :  True
Task1 Start Equals Task2 Start :  True
Task1 Finish Equals Task2 Finish :  True

การคำนวณโครงการอัตโนมัติใน Python

ในทำนองเดียวกัน เราสามารถคำนวณโครงการ MS โดยใช้โหมดการคำนวณอัตโนมัติโดยทำตามขั้นตอนที่กล่าวไว้ข้างต้น อย่างไรก็ตาม เราเพียงแค่ต้องตั้งค่าโหมดการคำนวณให้เป็นอัตโนมัติในขั้นตอนที่ 2

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีคำนวณโครงการ MS โดยใช้โหมดการคำนวณอัตโนมัติใน Python

# ตัวอย่างโค้ดนี้สาธิตวิธีการคำนวณโครงการ MS โดยใช้โหมดการคำนวณอัตโนมัติใน Python
import aspose.tasks as tasks
from datetime import datetime, timedelta

# สร้างอินสแตนซ์ของโครงการ
project = tasks.Project()

# ตั้งค่าโหมดการคำนวณเป็นอัตโนมัติ
project.calculation_mode = tasks.CalculationMode.AUTOMATIC

# กำหนดวันเริ่มต้นโครงการ
project.start_date = datetime(2015, 4, 15)

# เพิ่มงานใหม่
task1 = project.root_task.children.add("Task 1")
task2 = project.root_task.children.add("Task 2")

# เชื่อมโยงงาน
link = project.task_links.add(task1, task2, tasks.TaskLinkType.FINISH_TO_START)

# ตรวจสอบวันที่ที่คำนวณใหม่
print("Task1 Start + 1 Equals Task2 Start : ", (task1.start + timedelta(days=1)) == task2.start)
print("Task1 Finish + 1 Equals Task2 Finish : ", (task1.finish + timedelta(days=1)) == task2.finish)
print("RootTask Finish Equals Task2 Finish : ", task2.finish == project.root_task.finish)
print("Project Finish Date Equals Task2 Finish : ", task2.finish == project.finish_date)
Task1 Start + 1 Equals Task2 Start :  True
Task1 Finish + 1 Equals Task2 Finish :  True
RootTask Finish Equals Task2 Finish :  True
Project Finish Date Equals Task2 Finish :  False

ไม่มีโหมดการคำนวณโครงการใน Python

เราสามารถตั้งค่าโหมดการคำนวณเป็น NONE และตรวจสอบได้โดยทำตามขั้นตอนด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาสโครงการ
  2. ตั้งค่าโหมดการคำนวณเป็นไม่มี
  3. ระบุวันที่เริ่มต้นโครงการ
  4. เพิ่มงานใหม่ เช่น งานที่ 1
  5. อ่านคุณสมบัติของงาน
  6. หลังจากนั้นให้กำหนดระยะเวลาของงานเป็นวัน
  7. สุดท้าย ตรวจสอบวันที่เริ่มต้นและสิ้นสุดของงาน

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตั้งค่าโหมดการคำนวณโครงการ MS เป็น none โดยใช้ Python

# ตัวอย่างโค้ดนี้สาธิตวิธีการตั้งค่าโหมดการคำนวณโครงการ MS เป็น NONE ใน Python
import aspose.tasks as tasks
from datetime import datetime, timedelta

# สร้างอินสแตนซ์ของโครงการ
project = tasks.Project()

# ตั้งค่าโหมดการคำนวณเป็นไม่มี
project.calculation_mode = tasks.CalculationMode.NONE

# เพิ่มงานใหม่
task = project.root_task.children.add("Task")

# โปรดทราบว่ารหัสคู่ไม่ได้ถูกคำนวณ
print("Task.Id Equals 0 : ", task.id == 0)
print("Task.OutlineLevel Equals 0 : ", task.outline_level == 0)
print("Task Start Equals DateTime.MinValue : ", task.start == datetime.min)
print("Task Finish Equals DateTime.MinValue : ", task.finish == datetime.min)
print("Task Duration Equals 0 mins : ", str(task.duration) == "0 mins")

# กำหนดคุณสมบัติระยะเวลา
task.duration = project.get_duration(2.0, tasks.TimeUnitType.DAY)
print("Task Duration Equals 2 days : ", str(task.duration) == "2 days")
print("Task Start Equals DateTime.MinValue  : ", task.start == datetime.min)
print("Task Finish Equals DateTime.MinValue  : ", task.finish == datetime.min)
Task.Id Equals 0 :  True
Task.OutlineLevel Equals 0 :  False
Task Start Equals DateTime.MinValue :  True
Task Finish Equals DateTime.MinValue :  True
Task Duration Equals 0 mins :  True
Task Duration Equals 2 days :  True
Task Start Equals DateTime.MinValue  :  True
Task Finish Equals DateTime.MinValue  :  True

รับใบอนุญาตฟรี

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

คำนวณโครงการใน Python – ทรัพยากรการเรียนรู้

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

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีตั้งค่าโหมดการคำนวณโปรเจ็กต์โดยทางโปรแกรมใน Python เรายังได้เห็นวิธีการคำนวณค่าของคุณสมบัติที่สัมพันธ์กันในแต่ละโหมดการคำนวณอีกด้วย ด้วยการใช้ประโยชน์จาก Aspose.Tasks for Python ผ่าน .NET คุณสามารถฝังฟังก์ชันดังกล่าวลงในแอปพลิเคชัน Python ของคุณได้อย่างง่ายดาย ในกรณีที่มีความคลุมเครือ โปรดติดต่อเรา ฟอรัมการสนับสนุนฟรี

ดูสิ่งนี้ด้วย