使用win32com,依赖window操作平台,跨平台的话需要使用到
import xmlrpclib
import pickle
还是需要window服务器做中转
1.[代码][Python]代码
简单的导出demo,装了win32com能直接运行,希望对你有帮助。导入网上的资料不少我就不贴了
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, sys, datetime
import win32com.client
import traceback
import pythoncom
file = 'D:\\test.mpp'
proj=''
mpp = None
Result = []
pythoncom.CoInitialize() #防止出现重复打开异常
mpp = win32com.client.Dispatch("MSProject.Application")
mpp.Visible = True
mpp.FileNew(None,None,None,False)
#mpp.WBSCodeMaskEdit('',1,0) #导入顺序不一致添加
#mpp.WBSCodeRenumber(All=True)
proj = mpp.ActiveProject
Task = proj.Tasks.Add('任务1',1) #参数:任务名称、任务在第几行
Task.ResourceNames= 'san.zhang' #owner
Task.ActualStart= '2013-5-2' #开始时间
Task.ActualFinish = '2013-5-10' #结束时间
Task.OutlineLevel = 1; #几级节点
Task.Predecessors = '' #前置任务id 注:前置任务id应该在导出完成后保存Task对象,重新循环添加前置任务。不然会出现任务3在第三行,而他的前置任务在第4行,那么会出现导出空的行
Task.Milestone=False #是否是milestone
Task.ConstraintType = 5 #任务限制类型:越早越好、不得早于等等. 5:设置为不得晚于...开始,不会出现ms-project自动修改时间
Task.ConstraintDate = '2013-5-2' #任务限制日期
Task.PercentComplete = '0' #完成百分比
mpp.FileSaveAs(file);
mpp.Quit();
mpp = None