sharepoint学习笔记

http://blog.csdn.net/qq873113580/article/details/20390149

特别提醒:使用一段时间之后还是回报组件失败什么的,最后排除之后,由于版本未激活的原因,所以做好按照一个激活过的版本

Project使用导入之后如果不结束Micsoft project进程的话 会一直导致导入的永远是前一个的。也是会照成重复出现80010001 被呼叫方拒绝接收呼叫的一个原因,所以下面代码还需要再加上关闭代码

2015-5-12日新加,使用了中出现的问题

if (prj != null)
                    {

  1. //关闭,但不保存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文件导入)相关推荐

  1. 【SeeMusic】创建 SeeMusic 工程并编辑相关内容 ( 创建工程 | 导入 MIDI 文件 | 导入音频 | 导入视频 )

    SeeMusic 系列文章目录 [SeeMusic]下载安装并注册 SeeMusic 软件 [SeeMusic]创建 SeeMusic 工程并编辑相关内容 ( 创建工程 | 导入 MIDI 文件 | ...

  2. ArcMap 导入 wrl_ai文件导入c4d没反应怎么办? c4d导入ai源文件失败的原因分析_Illustrator教程_平面设计...

    ai文件导入c4d没反应怎么办?我们知道爱河c4d是互通的,想要将ai中的设计稿导入c4d中,该怎么操作呢?下面我们就来看看ai源文件导入c4d失败的原因分析,需要的朋友可以参考下 为什么C4D软件会 ...

  3. Sharepoint学习笔记—ECM系列--3 从.CSV文件导入术语集(Term Sets)

    Sharepoint2010支持直接从CSV文件导入术语集(Term Sets),也就是说你可以先直接在Excel中创建和编辑术语集,然后保存为.CSV文件,再通过Sharepoint2010管理中心 ...

  4. Sharepoint学习笔记—ECM系列--从.CSV文件导入术语集(Term Sets)

    Sharepoint2010支持直接从CSV文件导入术语集(Term Sets),也就是说你可以先直接在Excel中创建和编辑术语集,然后保存为.CSV文件,再通过Sharepoint2010管理中心 ...

  5. Navicat创建数据库表 、导入sql文件,生成表结构

    Navicat创建数据库表 .导入sql文件,生成表结构 1.打开Navicat 2.远程连接mysql连接 3.创建数据库 4.导入sql文件 5.生成表结构 1.打开Navicat 2.远程连接m ...

  6. cmd imp导入dmp文件_这是一篇长篇入门级数据库讲解:oracle数据库数据导入导出步骤...

    正如标题一样,本文内容主要介绍了浅谈入门级oracle数据库数据导入导出步骤,文章通过步骤解析介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧!!! ...

  7. oracle导入多个dmp文件到一个用户,Oracle dmp文件导入(还原)到不同的表空间和不同的用户下...

    ------------------------------------- 从生产环境拷贝一个dmp备份文件,在另外一台电脑上搭建测试环境,用imp命令导入dmp文件时提示如下错误: 问题描述: IM ...

  8. 2020.11.3--AE--将PSD/AI文件导入AE、界面基本操作、形状图层

    将PSD/AI文件导入AE 双击素材区空白处–选中要导入的文件–导入为"合成- 保存图层大小"导入 将AI文件导入AE时,需要确保AI文件中的每个图形元素都含有独立的图层,避免把所 ...

  9. MYSQL:关于sql文件导入提示:ERROR 1046 (3D000): No database selected的解决方法

    今天在学习mysql的过程中出现了一个问题就是,进入mysql以后把sql文件死活都导入不进去 cmd在导入后一直提示: 出现该问题的原因:导入的sql文件没有对应的mySQL数据库,所以无法导入. ...

  10. thinkphh5导入php文件,Thinkphp5.0如何导入导出

    ThinkPHP是一个免费开源的,快速.简单的面向对象的轻量级PHP 开发框架,遵循 Apache2 开源协议发布,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.本篇文章我们主要跟大家分享Th ...

最新文章

  1. 文巾解题 160. 相交链表
  2. 如何使用Kubernetes的configmap通过环境变量注入到pod里
  3. idea插件开发(02)---相关概念介绍
  4. Java EE企业系统性能问题的原因和解决建议
  5. 使用Sci-kit学习和XGBoost进行多类别分类:使用Brainwave数据的案例研究
  6. cshtml的a标签跳转页面_朋友圈标签来了!热门流量关键词带动视频号、小程序、搜一搜...
  7. (译)如何使用cocos2d制作一个塔防游戏:第三部分
  8. 【Statistics】均值
  9. 30个经典机器学习项目,GitHub星星加起来超过16万丨资源
  10. apt-get pip3
  11. 没错 企业想提升安全防护需要HR的合作
  12. 遥感图像深度学习标注——分布式协同标注
  13. EI: 室内微生物组、大气污染物与幼儿园儿童的哮喘、鼻炎和湿疹—一项重复横断面研究...
  14. android 清空剪贴板,清空剪贴板app
  15. pbr发光 unity_Unity PBR—BRDF
  16. AI绘画绘图流量主小程序开发
  17. 服务价值 100 万亿美元的行业,是时候收购市场领导者英伟达了
  18. 简单了解的分布式术语
  19. 基于iSensor的MT9M001C12STM传感器调试总结
  20. 64位服务器系统gho,win7gho

热门文章

  1. QT<八> 绘图事件、绘图设备
  2. 嵌入式linux检测U盘拔插
  3. zabbix监控的快速部署
  4. 云平台是什么、什么是云、云平台的分类、主流公有云平台有哪些、云的三种服务、PaaS、SaaS、IaaS
  5. 华东、华北、华南的城市
  6. 喻文强的加入购物车效果(完整版,仅供参考)
  7. 汽车数据流分析常采用哪些方法?
  8. 如何创建维恩图,用这个工具就可以了!
  9. Canvas 图片加载
  10. 关于执行gulp命令报这样的错误:gulp : 无法加载文件 C:\Users\dalv\AppData\Roaming\npm\gulp.ps1