SharePoint Project导入(mpp文件导入)
sharepoint学习笔记
http://blog.csdn.net/qq873113580/article/details/20390149
特别提醒:使用一段时间之后还是回报组件失败什么的,最后排除之后,由于版本未激活的原因,所以做好按照一个激活过的版本
Project使用导入之后如果不结束Micsoft project进程的话 会一直导致导入的永远是前一个的。也是会照成重复出现80010001 被呼叫方拒绝接收呼叫的一个原因,所以下面代码还需要再加上关闭代码
2015-5-12日新加,使用了中出现的问题
if (prj != null)
{
- //关闭,但不保存mpp
prj.FileClose(Microsoft.Office.Interop.MSProject.PjSaveType.pjDoNotSave, false);
prj.Quit(Microsoft.Office.Interop.MSProject.PjSaveType.pjDoNotSave);
}
这个是一个例子代码
ApplicationClass prj = new ApplicationClass();
//打开mpp文件
prj.FileOpen("C:/Documents and Settings/Administrator/My Documents/test.mpp", false, missing, missing, missing, missing, missing, missing, missing, missing, missing, PjPoolOpen.pjPoolReadWrite, missing, missing, missing, missing);
//调用名称为testMacro
prj.Macro("testMacro");
//关闭,但不保存mpp
prj.FileClose(PjSaveType.pjDoNotSave, false);
prj.Quit(PjSaveType.pjDoNotSave);
特别提醒1:Microsoft Project Basic组件在低版本里面,面对不同电脑可能不会自动注册,所以下载高版本的就好了
特别提醒2:使用交互式用户标识的时候,偶尔会发生这样的错误“8000401a 因为配置类型不正确,系统无法开始服务器进程。请检查用户名和密码。”
所以还需要在常规那块把身份验证改成“无”,默认是验证是“默认身份”
特别提醒3:还是搞不定的话就在标识那块选择“下列用户”,输入电脑登陆的账户和密码,然后再config.web的system.web节点下添加 <identity impersonate="true" username="您的用户" password="您的密码"/>
1,安装微软project软件 我装的是2010
2,在Net上面测试没问题
3,把代码移植到Sharepoint上面的时候出现了这样的错误
检索 COM 类工厂中 CLSID 为 {36D27C48-A1E8-11D3-BA55-00C04F72F325} 的组件失败,原因是出现以下错误: 80010001 被呼叫方拒绝接收呼叫。 (异常来自 HRESULT:0x80010001 (RPC_E_CALL_REJECTED))。
4,百度各种搜索,网上资料可能是账户权限问题
5,下面是网上找的资料
-在命令行中输入:dcomcnfg,会显示出“组件服务”管理器
-打开“组件服务->计算机->我的电脑->DCOM 配置”,找到“Microsoft Project”,单击右键,选择“属性”
-在“属性”对话框中单击“标识”选项卡,选择“交互式用户””
-然后找到“安全”,把下面所有的权限都选择自定义,然后添加各种用户全部权限,ErverOne,admin,Net...我胡乱加了很多角色的权限
6,经过上面布置别人都说OK了,然后我自己试了还是不行,心里估计是不是代码问题,检查N便然后和Net版本的对比 代码没问题
7,最后发现在sharepoint里面有句提权代码
SPSecurity.RunWithElevatedPrivileges(delegate
{
//代码写这里面
Microsoft.Office.Interop.MSProject.ApplicationClass prj = new Microsoft.Office.Interop.MSProject.ApplicationClass();//这句代码直接就报错
});
8,估计是权限里面不认sharepoint里面的账户权限所以把new的代码提取出来改成这样
Microsoft.Office.Interop.MSProject.ApplicationClass prj = new Microsoft.Office.Interop.MSProject.ApplicationClass();//这样搞定
SPSecurity.RunWithElevatedPrivileges(delegate
{
//代码写这里面
});
9,下面是如何使用Project导入获取数据的小例子
//程序对象
Microsoft.Office.Interop.MSProject.ApplicationClass prj = new Microsoft.Office.Interop.MSProject.ApplicationClass();
//文件路径
string prjFileName="xxx.mpp";
//读取文件,只需要改prjFileName这个,后面的参数默认赋值就好了
prj.FileOpen(prjFileName, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.MSProject.PjPoolOpen.pjPoolReadOnly, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
foreach (Microsoft.Office.Interop.MSProject.Project proj in prj.Projects)
{
foreach (Microsoft.Office.Interop.MSProject.Task task in proj.Tasks)
{
//Task就是需要的对象,task.属性名 这里的属性名是没法改的 全是系统自己定义的
if (task != null)
{
//task.OutlineLevel树结构的级别,默认1开始,属性名自己去查吧很多系统定义代表什么的,我不会用Project做东西,就不多说了
//task.Text1........task.Text30 这些字段用来做自定义的列比较好,也是系统自带的
}
}
break;//这里加break,其实我自己没去深究prj.Projects里面到底几个怎么来,目前用到的Project文件只有一个,所以循环的时候直接找一个就好了
}
SharePoint Project导入(mpp文件导入)相关推荐
- 【SeeMusic】创建 SeeMusic 工程并编辑相关内容 ( 创建工程 | 导入 MIDI 文件 | 导入音频 | 导入视频 )
SeeMusic 系列文章目录 [SeeMusic]下载安装并注册 SeeMusic 软件 [SeeMusic]创建 SeeMusic 工程并编辑相关内容 ( 创建工程 | 导入 MIDI 文件 | ...
- ArcMap 导入 wrl_ai文件导入c4d没反应怎么办? c4d导入ai源文件失败的原因分析_Illustrator教程_平面设计...
ai文件导入c4d没反应怎么办?我们知道爱河c4d是互通的,想要将ai中的设计稿导入c4d中,该怎么操作呢?下面我们就来看看ai源文件导入c4d失败的原因分析,需要的朋友可以参考下 为什么C4D软件会 ...
- Sharepoint学习笔记—ECM系列--3 从.CSV文件导入术语集(Term Sets)
Sharepoint2010支持直接从CSV文件导入术语集(Term Sets),也就是说你可以先直接在Excel中创建和编辑术语集,然后保存为.CSV文件,再通过Sharepoint2010管理中心 ...
- Sharepoint学习笔记—ECM系列--从.CSV文件导入术语集(Term Sets)
Sharepoint2010支持直接从CSV文件导入术语集(Term Sets),也就是说你可以先直接在Excel中创建和编辑术语集,然后保存为.CSV文件,再通过Sharepoint2010管理中心 ...
- Navicat创建数据库表 、导入sql文件,生成表结构
Navicat创建数据库表 .导入sql文件,生成表结构 1.打开Navicat 2.远程连接mysql连接 3.创建数据库 4.导入sql文件 5.生成表结构 1.打开Navicat 2.远程连接m ...
- cmd imp导入dmp文件_这是一篇长篇入门级数据库讲解:oracle数据库数据导入导出步骤...
正如标题一样,本文内容主要介绍了浅谈入门级oracle数据库数据导入导出步骤,文章通过步骤解析介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧!!! ...
- oracle导入多个dmp文件到一个用户,Oracle dmp文件导入(还原)到不同的表空间和不同的用户下...
------------------------------------- 从生产环境拷贝一个dmp备份文件,在另外一台电脑上搭建测试环境,用imp命令导入dmp文件时提示如下错误: 问题描述: IM ...
- 2020.11.3--AE--将PSD/AI文件导入AE、界面基本操作、形状图层
将PSD/AI文件导入AE 双击素材区空白处–选中要导入的文件–导入为"合成- 保存图层大小"导入 将AI文件导入AE时,需要确保AI文件中的每个图形元素都含有独立的图层,避免把所 ...
- MYSQL:关于sql文件导入提示:ERROR 1046 (3D000): No database selected的解决方法
今天在学习mysql的过程中出现了一个问题就是,进入mysql以后把sql文件死活都导入不进去 cmd在导入后一直提示: 出现该问题的原因:导入的sql文件没有对应的mySQL数据库,所以无法导入. ...
- thinkphh5导入php文件,Thinkphp5.0如何导入导出
ThinkPHP是一个免费开源的,快速.简单的面向对象的轻量级PHP 开发框架,遵循 Apache2 开源协议发布,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.本篇文章我们主要跟大家分享Th ...
最新文章
- 文巾解题 160. 相交链表
- 如何使用Kubernetes的configmap通过环境变量注入到pod里
- idea插件开发(02)---相关概念介绍
- Java EE企业系统性能问题的原因和解决建议
- 使用Sci-kit学习和XGBoost进行多类别分类:使用Brainwave数据的案例研究
- cshtml的a标签跳转页面_朋友圈标签来了!热门流量关键词带动视频号、小程序、搜一搜...
- (译)如何使用cocos2d制作一个塔防游戏:第三部分
- 【Statistics】均值
- 30个经典机器学习项目,GitHub星星加起来超过16万丨资源
- apt-get pip3
- 没错 企业想提升安全防护需要HR的合作
- 遥感图像深度学习标注——分布式协同标注
- EI: 室内微生物组、大气污染物与幼儿园儿童的哮喘、鼻炎和湿疹—一项重复横断面研究...
- android 清空剪贴板,清空剪贴板app
- pbr发光 unity_Unity PBR—BRDF
- AI绘画绘图流量主小程序开发
- 服务价值 100 万亿美元的行业,是时候收购市场领导者英伟达了
- 简单了解的分布式术语
- 基于iSensor的MT9M001C12STM传感器调试总结
- 64位服务器系统gho,win7gho
热门文章
- QT<八> 绘图事件、绘图设备
- 嵌入式linux检测U盘拔插
- zabbix监控的快速部署
- 云平台是什么、什么是云、云平台的分类、主流公有云平台有哪些、云的三种服务、PaaS、SaaS、IaaS
- 华东、华北、华南的城市
- 喻文强的加入购物车效果(完整版,仅供参考)
- 汽车数据流分析常采用哪些方法?
- 如何创建维恩图,用这个工具就可以了!
- Canvas 图片加载
- 关于执行gulp命令报这样的错误:gulp : 无法加载文件 C:\Users\dalv\AppData\Roaming\npm\gulp.ps1