Microsoft Project มีโหมดการคำนวณสามโหมด: อัตโนมัติ ด้วยตนเอง และไม่มีเลย แต่ละโหมดมีระดับการควบคุมที่แตกต่างกันเกี่ยวกับวิธีการอัปเดตและคำนวณโปรเจ็กต์ใหม่ ในบทความนี้ เราจะเรียนรู้วิธีการใช้งานโหมดการคำนวณ MS Project โดยทางโปรแกรมใน Python ไม่ว่าคุณจะย้ายจากการจัดกำหนดการด้วยตนเองไปเป็นการจัดกำหนดการอัตโนมัติ หรือคุณต้องการความยืดหยุ่นในการจัดการกำหนดเวลาโครงการของคุณ บทความนี้จะให้ข้อมูลและทรัพยากรที่จำเป็นสำหรับการเปลี่ยนแปลงดังกล่าวแก่คุณ มาเริ่มกันเลย!
บทความนี้ครอบคลุมหัวข้อต่อไปนี้:
- Python API เพื่อคำนวณโครงการโดยทางโปรแกรม
- การคำนวณโครงการด้วยตนเอง
- การคำนวณโครงการอัตโนมัติ
- ไม่มีโหมดการคำนวณโครงการ
Python API เพื่อคำนวณโครงการโดยทางโปรแกรม
เราจะใช้ Aspose.Tasks for Python API เพื่อใช้งานโปรเจ็กต์ MS โหมดการคำนวณ มีโหมดการคำนวณต่อไปนี้เพื่อคำนวณค่าของคุณสมบัติที่ขึ้นต่อกัน:
- ไม่มี – โหมดนี้จะตั้งค่าเฉพาะคุณสมบัติที่จำเป็นเท่านั้น และจะไม่คำนวณวันที่และต้นทุนของโครงการใหม่
- ด้วยตนเอง – โหมดนี้ตั้งค่าเฉพาะคุณสมบัติของออบเจ็กต์ที่ขึ้นต่อกันโดยไม่มีการคำนวณวันที่และต้นทุนของโครงการใหม่
- อัตโนมัติ – โหมดนี้จะคำนวณวันที่ของโครงการและคุณสมบัติต้นทุนใหม่โดยอัตโนมัติ
โปรด ดาวน์โหลดแพ็คเกจ หรือ ติดตั้ง API จาก PyPI โดยใช้คำสั่ง pip ต่อไปนี้ในคอนโซล:
pip install aspose-tasks
คำนวณโครงการ MS ด้วยตนเองใน Python
เราสามารถตั้งค่าโหมดการคำนวณเป็นแบบแมนนวลและตรวจสอบได้โดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาสโครงการ
- ตั้งค่าโหมดการคำนวณเป็น MANUAL
- ระบุวันที่เริ่มต้นโครงการ
- เพิ่มงานใหม่ เช่น งานที่ 1 และงานที่ 2
- อ่านคุณสมบัติของงาน
- หลังจากนั้น ให้เริ่มต้นออบเจ็กต์ของคลาส TaskLinks และลิงก์งาน
- สุดท้าย ตรวจสอบวันที่เริ่มต้นและสิ้นสุดของภารกิจที่ 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
- อ่านคุณสมบัติของงาน
- หลังจากนั้นให้กำหนดระยะเวลาของงานเป็นวัน
- สุดท้าย ตรวจสอบวันที่เริ่มต้นและสิ้นสุดของงาน
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตั้งค่าโหมดการคำนวณโครงการ 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 ของคุณได้อย่างง่ายดาย ในกรณีที่มีความคลุมเครือ โปรดติดต่อเรา ฟอรัมการสนับสนุนฟรี