Office JS项目加载项中的createTaskAsync是否无法在指定位置插入任务,或在父任务下插入任务?
我正在使用Office JS(任务窗格)开发一个Microsoft Project加载项。我的用例是将来自外部网络应用的任务同步到一个已经存在结构化父任务(待办事项)及其下子任务的MSP文件中。
当外部应用中新增加一个子任务,且父任务已经存在时,我需要将其同步到MSP,并把它放在正确的父任务下——而不是放在整个项目的末尾。
我已经尝试过:
createTaskAsync— 始终追加到项目末尾,且没有位置参数- 通过创建后使用
setTaskFieldAsync设置OutlineLevel—— 虽然在视觉上会改变缩进,但MSP根据“行位置”来确定父子关系,而不仅仅是大纲级别,所以最终成了错误父任务下的子任务 - 通过
getTaskByIndexAsync遍历任务以找到父任务 —— 我可以找到父任务的GUID和索引,但没有在特定索引之后插入的API
查看完整的 Office.Document 方法列表,没有以下内容:
insertTaskAsyncmoveTaskAsyncsetTaskParentAsync
微软自己的文档确认:
目前没有针对Project的应用特定JavaScript API;你将使用通用API来创建Project加载项。
是否有任何纯Office JS的方法可以在已结构化的MSP文件中,将任务插入到特定位置或放在特定父任务之下?还是唯一的解决方案是VSTO/VBA混合?
解决方案
恐怕没有任何Office.js API的组合能够把Project任务插入到指定位置。但这是个很棒的想法。你可以在以下位置提出建议:Microsoft 365开发者平台 - 想法。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。