Office组件DCOM设置图解
Office组件DCOM设置图解
Office(word、excel)DCOM设置图解1,打开“组件服务”。
打开“控制面板”,进入“管理工具”就能找到“组件服务”,或者在开始菜单的运行对话框中输入“dcomcnfg”运行。
2,在“DCOM配置”节点中找到“Microsoft Office Word 97 - 2003 文档”,应用程序ID为“{00020906-0000-0000-C000-000000000046}”,点击右键,在右键菜单中选择“属性”打开属性对话框。
注:如果是配置excel的话,查找“Microsoft Excel Application”,应用程序ID是“{00020812-0000-0000-C000-000000000046}”。
3,切换到“安全”页面。
“启动和激活权限”选中“自定义”,点击编辑按钮,添加 帐号,通常,在IIS 5 上为{MACHINE}\ASPNET,在IIS 6 上为网络服务(network service),在权限中勾选“本地启动”、“本地激活”。
同理,在“访问权限”中选中“自定义”,点击编辑按钮,添加帐号,在权限中勾选“本地访问”。
如果权限还是不够的话,添加everyone用户,然后设置完全控制..4,切换到“标识”页面,选中“下列用户”,用户输入“Administrator”,输入正确的密码,点击确定就可以了。
“用户”也可以不使用Administrator,但是必须是有权限运行Office 程序的、能够登录系统的用户。
5,点击“确定”。
备注:64位操作系统无法看到excel的com组件,需要运行下面命令:comexp.msc /32(同时在64位系统中,excel和word相关的application是看不到的,需要直接找到对应的应用程序ID号,然后直接点击上面的操作->属性进行设置。
)。
C++WORD操作实现代码
1.先通过程序生成报表样式的HTML页面,然后修改HTML页面的后缀名为DOC。
2.定制WORD文档的模板文件,在C#中操作WORD模板,生成新的WORD文档。
第一方案简单,只需要改动文件的扩展名就行了,但是也存在了一些问题,譬如生成的WORD文档样式的丢失。
这样对于客户来说可能是一个无法通过的方案。
第二方案比较复杂,需要调用OFFICE的WORD组件通过C#来操作WORD,进而生成WORD。
此方法类似于我们在c#中的后台拼接数据。
虽然麻烦,但是能够灵活定制,只不过是操作WORD对象而已。
经过再三考虑:决定用第二种方法来生成WORD报告文档。
通过自己的实践,这个需求总算是搞定了,在实际开发的过程中,遇到了这样那样的问题,还好,通过不断的查找网络资源,结合实际开发中的情况,问题都得到了解决。
现将本人在开发过程中的一些理解与经验总结一下:在VS2008平台下,引用.net-Microsoft.Office.Interop.Word.12,这样就可以在程序用操作WORD对象了。
通过简单执行,报了80070005错误,这个错误是因为权限不够,需要在DCOM配置中更改.net 和IIS用户的操作权限,具体修改过程如下:解决方法一:1.控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCom配置-》找到Microsoft Word文档之后,单击属性打开此应用程序的属性对话框。
2.单击标识选项卡,然后选择交互式用户。
3.单击"安全"选项卡,分别在"启动和激活权限"和"访问权限"组中选中"自定义",然后自定义->编辑->添加账户和IUSER_计算机名。
4. 确保允许每个用户访问,然后单击确定。
5. 单击确定关闭DCOMCNFG。
如果上述方法不能解决问题,就应该是权限问题,请尝试用下面的方法:在web.config中使用身份模拟,在<system.web>节中加入<identity impersonate="true" userName="你的用户名" password="密码"/></system.web>解决了上述问题,开始考虑如何创建WORD模板文件,WORD的模板文件其实就是通过书签来添加内容的。
office组件服务在电脑中的设置
第二:配置“访问权限”。选择到“自定义”,然后单击旁边的“编辑”按钮。
然后给所有用户加入所有权限。并且添加一个用户,名为“Everyone” 然后给这个用户也添加所以的权限。
第二:配置“配置权限”。选择到“自定义入所有权限。并且添加一个用户,名为“Everyone” 然后给这个用户也添加所以的权限。
office要07版的 因为只有07版的才有转换为mht格式的com组件, 安装路径最好是默认安装在系统盘,然后是完全安装。
)
进入“安全”设置界面。
三 最后设置各个属性即可:“启动和激活权限”、“访问权限”、“配置权限”。
第一:配置“启动和激活权限”。选择到“自定义”,然后单击旁边的“编辑”按钮。
然后给所有用户加入所有权限。并且添加一个用户,名为“Network Service” 然后给这个用户也添加所以的权限。
本地安装office(07专业版)部署步骤:
一 首先,在电脑中用dos命名符输入:DCOMCNFG命令。
会进入到“组件服务”界面,在“计算机”中找到“DCOM配置”,
在配置中找到“Microsoft office Word 97-2003文档”。
二 然后开始设置COM组件的属性,
右键单击“Microsoft office Word 97-2003文档”,找到“属性”(property),
四 从“安全”标签项切换到“标识”项。
选中“下列用户”,在输入框中输入“administrator”并且输入密码之后会自动带出“用户”、“密码”、“确认密码”这三项。
(注意:这个只是设置Word, office中还有access,powerpoint, excel等等文档形式,如果需要用到它们的组件服务,都要像以上一样设置。
DCOM配置手册
11
DCOM 配置手册
图 3-10 Windows 2000_OpcEnum 属性_常规页 切换到“位置”页,选中“在这台计算机上运行应用程序”,如图 3-11 所示。
12
DCOM 配置手册
图 3-11 Windows 2000_OpcEnum 属性_位置页 切换到“安全性”页,选中“使用默认的访问权限”、选中“使用默认的启动权限”、选中“使 用自定义配置权限”保证有“Everyone”的“完全控制”权限(点击“编辑”按钮,在弹出的对话 框中查看是否有“Everyone”,如没有则手动添加),如图 3-12 所示。
9
DCOM 配置手册
图 3-8 Windows 2000_ SUPCON.JXServer 属性_安全性页 切换到“身份标识”界面,选中“交互式用户”,如图 3-9 所示。
10
DCOM 配置手册
图 3-9 Windows 2000_SUPCON.JXServer 属性_身份标识页 5. 应用程序列表中选择选中 OpcEnum,点击“属性”,在“常规”页中设置“身份验证级别”
1
DCOM 配置手册
DCOM 配置手册
1 概述
OPC 是一种广泛应用的工业标准,是控制系统与第三方软件互联的常用手段。当 OPC 服务器和 OPC 客户端不在同一台计算机上时,进行 OPC 的远程连接,需首先进行 DCOM 配置。
DCOM 配置的许多配置项可以采用操作系统的默认配置,但由于操作系统的环境复杂度不同, 会出现无法成功配置 DCOM 的情况。本文介绍了在 Windows 2000、Windows XP、Windows Server 2003、Windows 7 及 Windows Server 2008 操作系统下,DCOM 配置的常规方法,以及在使用常规方 法无法配置成功时,需进行的补充配置。
ASP对Excel的所有操作
A: 同一用户生成的Excel文件用同一个文件名,文件名可用用户ID号或SessionID号等可确信不重复字符串组成。这样新文件生成时自动覆盖上一文件。
B: 在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的Excel暂存文件。
C: 在Global.asa文件中设置Application_onStart事件激发时,删除暂存目录下的所有文件。
6、 绑定Chart图
objExcelApp.ActiveChart.Location 1
7、 显示数据表
objExcelApp.ActiveChart.HasDataTable = True
8、 显示图例
objExcelApp.ActiveChart.DataTable.ShowLegendKey = True
目录
一、 环境配置
二、 ASP对Excel的基本操作
三、 ASP操作Excel生成数据表
四、 ASP操作E件浏览、下载、删除方案
六、 附录
正文
一、 环境配置
服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:
1.Win9x+PWS+Office
2、 新建Excel文件
objExcelApp.WorkBooks.add
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
windows2008 64位系统缺少office怎么办?
windows2008 64位系统缺少office怎么办?有时候,我们在使用windows server2008 系统时会用到Office的一些诸如Excel的组件。
但是可能会遇到错误。
下面我们来看一下该怎样解决。
希望大家在关注windows2008 64位系统报价的同时多多关注此类问题的存在,以备不时之需。
在给windows server2008 64位系统上传Excel单据遇到错误后,小编查询了可行的解决办法分享给大家。
基础的版本解决办法如下:1.在"开始"->"运转"中输入dcomcnfg.exe,然后发动"组件服务" ;2.顺次双击"组件效劳",依次选择"计算机"、"我的电脑"、"DCOM装备" ;3.在"DCOM装备"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"特点",弹出"Microsoft Excel 应用程序特点"对话框;4.点击"标识"标签,挑选"交互式用户" ,点击"安全"标签,在"发动和激活权限"上点击"自定义",然后点击对应的"修改"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(留意要挑选本核算机名),并给它赋予"本地发动"和"本地激活"权限5.依然是"安全"标签,在"拜访权限"上点击"自定义",然后点击"修改",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地拜访"权限.难题就出在64位系统的机器上,由于DCOMcnfg是32配置,在64位体系下能完全被支撑,所以找不到项“Microsoft Excel 应用程序”。
DCOM excel设置访问权限
.NET导出Excel遇到的80070005错误的解决方法:检索COM 类工厂中CLSID 为{00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005基本上.net导出excel文件,都需要如此配置一下,不配置有的时候没错,而配置后基本应该不会出错。
具体配置方法如下:1:在服务器上安装office的Excel软件.2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框5:点击"标识"标签,选择"交互式用户"6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.8.如果交互式用户设置后出现错误8000401a,可取消交互式用户,指定为administratr,可暂时解决此问题。
检索 COM 类工厂中 CLSID
检索COM 类工厂中CLSID 为{00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问。
(异常来自HRESULT:0x80070005(E_ACCESSDENIED))。
我的妈呀,足足搞了一个星期,终于让我找到解决的方法了,我是用vs2010,IIS6.0,win7的系统,其实在网站上有很多一模一样的答案,但相对于win7的系统来说,还是不能解决该问题,实际上,解决这个问题,很简单,只需以下步骤:1:在服务器上安装office的Excel软件.2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"4:在"DCOM配置"中找到"Microsoft Excel Application",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel Application 属性"对话框5:点击"标识"标签,选择"交互式用户"6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"IIS_IUSRS"用户(注意要选择本计算机名),一般给它赋予"本地启动"和"本地激活"权限就可以了,但在这里,我把所有的权限都给它了.7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"IIS_IUSRS"用户,一般赋予"本地访问"权限就可,但我还是给了所有的权限(方法同6的图片一致的).唉,就这样,就可以正常的导出excel了……。
如何用asp读取Excel文件(比较全面)
如何用asp读取Excel文件(比较全面)1.ASP对Excel的基本操作(1) 建立Excel对象创建Excel对象可以通过下面的代码来实现:<%set objExcelApp = CreateObject("Excel.Application") objExcelApp.DisplayAlerts = false '不显示警告objExcelApp.Application = false '不显示界面%>(2) 新建Excel文件新建Excel文件可以通过以下代码来实现:<%objExcelApp.WorkBooks.addset objExcelBook = objExcelApp.ActiveWorkBookset objExcelSheets = objExcelBook.Worksheetsset objExcelSheet = objExcelBook.Sheets(1)%>(3) 读取已有的Excel文件读取已有的Excel文件可以通过下面的代码来实现<%strAddr = Server.MapPath(".")objExcelApp.WorkBooks.Open(strAddr & "TempletTable.xls") set objExcelBook = objExcelApp.ActiveWorkBookset objExcelSheets = objExcelBook.Worksheetsset objExcelSheet = objExcelBook.WorkSheets(1)%>(4) 另存Excel文件另存Excel文件可以通过以下代码来实现<%objExcelBook.SaveAs strAddr & "templateTables.xls" %>(5) 保存Excel文件保存Excel文件可以通过以下代码来实现:<%objExcelBook.Save%>(6) 退出Excel操作<%objExcelApp.Quit '一定要退出set objExcelApp = nothing%>2 读取Excel文件的实例<%set xlApp = server.CreateObject("Excel.Application") strsource = server.MapPath("xl.xls")set xlbook = xlApp.WorkBooks.Open(strsource)set xlsheet = xlbook.Worksheets(1)i = 1response.write "<table>"while xlsheet.cells(i,1) <> ""response.write "<tr>"response.write "<td>" & xlsheet.Cells(i,1) & "</td>" response.write "<td>" & xlsheet.Cells(i,2) & "</td>" response.write "<td>" & xlsheet.Cells(i,3) & "</td>" response.write "<tr>"i = i + 1wendresponse.write "</table>"set xlsheet = nothingset xlbook = nothingxlApp.quit'千万记住要加这一句,否则每运行一次你的机器里就增加一个Excel进程,而且无法释放'set xlApp = nothing 是不行的%>====================================== ==========================3.怎样将数据从Excel导入到SQL Server中(1)<%subdataIntoSqlServer_ceritificate(strFileName,strSheetName,myCon n)'定义dim myConnectiondim strNamedim rsXsl,rsSqldim myConn_Xsldim cmddim i,jdim maxIdstrName = strFileNameset myConnection =Server.CreateObject("ADODB.Connection")set rsXsl = Server.CreateObject("ADODB.Recordset")set rsSql = Server.CreateObject("ADODB.Recordset")set cmd = server.CreateObject("mand")cmd.ActiveConnection = myConnmyConn_Xsl = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName & _";Extended Properties=Excel 8.0"'打开连接myconnection.open myConn_Xsl'打开表str_Xsl = "select * from [" & strSheetName & "$]"rsXsl.open str_Xsl,myconnection,1,1j = 1Do while not rsXsl.eof'取出最大值str_sql = "select Max(id) as maxId from exceltosql"rsSql.open str_Sql,myConn,1,3if Not rsSql.eof thenif not isNull(rsSql("maxId")) thenmaxId=CLng(rsSql("maxId")) + 1elsemaxId = 1end ifelsemaxId = 1end ifrsSql.close '//关闭对象'加入数据库str_Sql = "insert into exceltosql values(" & maxId&",'"&rsXsl(1)&"','" & rsXsl(2)&"')"mandText = str_Sqlcmd.Excute()''''''''''''''''''''''''''''''''''''''''''j = j + 1rsXsl.moveNextloopresponse.write "共导入 " & j_1 & " 条记录.<br>"response.write "<a href=# onclick='self.close();'>关闭窗口</a>"set rsXsl = nothingset rsSql = nothingset myconnection = nothingset cmd = nothingend sub(2)'调用方法<%file1 = "c:\excelexample.xls"myconn = "DRIVER={SQL SERVER};SERVER=(local);uid=sa;pwd=sa;DATABASE=aspbook"dataIntoSqlServer_ceritificate file1,"sheet1",myconn%>====================================== =======================================4.ASP操作Excel技术总结目录一、环境配置二、 ASP对Excel的基本操作三、 ASP操作Excel生成数据表四、 ASP操作Excel生成Chart图五、服务器端Excel文件浏览、下载、删除方案六、附录正文一、环境配置服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:1.Win9x+PWS+Office2.Win2000 Professional+PWS+Office3.Win2000 Server+IIS+Office目前笔者测试成功的环境是后二者。
C#生成Word和两种方式Word转Pdf
C#生成Word两种方式将Word转换成PdfC#生成Word首先应用中引入Aspose.Words dll///<summary>///导出word/excel///</summary>///<param name="page">Page 对象</param>///<param name="title">标题</param>///<param name="encoding">编码</param>///<param name="content">内容</param>///<param name="type_sid">0:doc,1:xls</param>public string Export(Microsoft.Office.Interop.Word.Page page, string title, Encoding encoding, string content, int type, List<ImgFile> ImgFiles){string fileName = "";StringBuilder sb = new StringBuilder();try{string f = "~/TempFile/dadjword";string filePath =System.Web.HttpContext.Current.Server.MapPath(f);if (!System.IO.Directory.Exists(filePath)){System.IO.Directory.CreateDirectory(filePath);}//-清理老文件if (Directory.Exists(filePath)){DelectDir(filePath);}if (type == 1){fileName = string.Format("{0}.xls", title);}else{fileName = string.Format("{0}.doc", title);}FileStream fs = new FileStream(filePath + "\\" + fileName, FileMode.Create);//创建文件StreamWriter sw = new StreamWriter(fs);//创建写入变量content = content.Replace("<td>", "<tdstyle='text-align:center; font-weight:600;border-right: solid 1px white;border-left: solid 1px white;border-top: solid 1px white; '>");string html = "";if (type == 0){sb.AppendLine("<htmlxmlns:o=\"urn:schemas-microsoft-com:office:office\"xmlns:w=\"urn:schemas-microsoft-com:office:word\">");sb.AppendLine("<head><meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">");sb.AppendLine("<title>" + title + "</title>");sb.AppendLine("<!--[if gte mso 9]>");sb.AppendLine("<xml>");sb.AppendLine(" <w:WordDocument>");sb.AppendLine(" <w:View>Print</w:View>");sb.AppendLine(" </w:WordDocument>");sb.AppendLine("</xml>");sb.AppendLine("<![endif]-->");sb.AppendLine();sb.AppendLine("<styletype=\"text/css\">table{border-collapse:collapse; }table trtd{word-break: break-all;border: 1px solid#000;line-height:26px;height:26px;font-size:16px;}.mytextarea{height:120px;} img { display: inline-block; height:30;line-height:30; margin-right:200; }</style>"); sb.AppendLine("</head>");sb.AppendLine("<body style='tab-interval:21.0pt'>"); sb.AppendLine("<div style='layout-grid:15.6pt'>");sb.AppendLine(content);sb.AppendLine("<div/>");sb.AppendLine("</body></html>");foreach (var item in ImgFiles){sb.AppendLine();sb.AppendLine("------=_NextPart_000_0000_01CA775C.CA634380");sb.AppendLine("Content-Type: image/gif");sb.AppendLine("Content-Transfer-Encoding:base64");sb.AppendLine("Content-Location: file:///" + item.filename);sb.AppendLine();sb.AppendLine(Convert.ToBase64String(item.files));}sb.AppendLine();sb.AppendLine("------=_NextPart_000_0000_01CA775C.CA634380--");}else{content = content.Replace("<table", "<table rull='all' border='1'");html = "<htmlxmlns:o=\"urn:schemas-microsoft-com:office:office\"xmlns:x=\"urn:schemas-microsoft-com:office:excel\">";html += "<head><meta http-equiv=Content-Typecontent=\"text/html; charset=utf-8\">";html += "<title>" + title + "</title>";html += "<!--[if gte mso9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>";html += "<x:Name>" + title +"</x:Name><x:WorksheetOptions><x:ProtectScenarios>False</x:ProtectSce narios>";html +="</x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:Exce lWorkbook></xml><![endif]-->";html += "</head><body lang=ZH-CNstyle='tab-interval:21.0pt'>";html += content;html += "</body></html>";}bool mIsMht = false;sw.Write(html.CStr());//写入文件内容sw.Flush();sw.Close();fs.Close();}catch (Exception ex){}return fileName;} }C# 使用Aspose.Words将Word转换成PDF遇到的问题总结首先应用中引入Aspose.Words dllWORD转换成PDF代码如下:///<summary>///将word文档转换成pdf///</summary>///<param name="paths">文档路径</param>///<param name="outputPath">输出路径</param>public void AddDoc2pdf(string path, string outputFileName){if (File.Exists(outputFileName)){File.Delete(outputFileName);}//读取doc文档Document doc = new Document(path);//保存为PDF文件,此处的SaveFormat支持很多种格式,如图片,epub,rtf 等等doc.Save(outputFileName, Aspose.Words.SaveFormat.Pdf);}C# 使用Microsoft.Office.Interop将Excel、Word转换成PDF遇到的问题总结首先应用中引入Microsoft.Office.Interop.Excel、Microsoft.Office.Interop.Wor d两个dll,将嵌入式互操作类型设为False,WORD转换成PDF代码如下:#region 将word文档转换成PDF格式/// <summary>/// 将word文档转换成PDF格式/// </summary>/// <param name="sourcePath">源文件路径</param>/// <param name="targetPath">目标文件路径</param>/// <returns></returns>private bool WordConvertPDF(string sourcePath, string targetPath){bool result;Word.WdExportFormat exportFormat = Word.WdExportFormat.wdEx portFormatPDF; //PDF格式object paramMissing = Type.Missing;Word.ApplicationClass wordApplication = new Word.ApplicationClass ();Word.Document wordDocument = null;try{object paramSourceDocPath = sourcePath;string paramExportFilePath = targetPath;Word.WdExportFormat paramExportFormat = exportFormat;bool paramOpenAfterExport = false;Word.WdExportOptimizeFor paramExportOptimizeFor =Word.WdExportOptimizeFor.wdExportOptimizeForPrint;Word.WdExportRange paramExportRange = Word.WdExportRang e.wdExportAllDocument;int paramStartPage = 0;int paramEndPage = 0;Word.WdExportItem paramExportItem = Word.WdExportItem.wd ExportDocumentContent;bool paramIncludeDocProps = true;bool paramKeepIRM = true;Word.WdExportCreateBookmarks paramCreateBookmarks =Word.WdExportCreateBookmarks.wdExportCreateWordBook marks;bool paramDocStructureTags = true;bool paramBitmapMissingFonts = true;bool paramUseISO19005_1 = false;wordDocument = wordApplication.Documents.Open(ref paramSourceDocPath, ref paramMissing, ref paramMissi ng,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing);if (wordDocument != null){wordDocument.ExportAsFixedFormat(paramExportFilePath,paramExportFormat, paramOpenAfterExport,paramExportOptimizeFor, paramExportRange, paramStar tPage,paramEndPage, paramExportItem, paramIncludeDocProp s,paramKeepIRM, paramCreateBookmarks, paramDocStruc tureTags,paramBitmapMissingFonts, paramUseISO19005_1,ref paramMissing);result = true;}elseresult = false;}catch (Exception ex){result = false;}finally{if (wordDocument != null){wordDocument.Close(ref paramMissing, ref paramMissing, refparamMissing);wordDocument = null;}if (wordApplication != null){wordApplication.Quit(ref paramMissing, ref paramMissing, ref paramMissing);wordApplication = null;}GC.Collect();GC.WaitForPendingFinalizers();GC.Collect();GC.WaitForPendingFinalizers();}return result;}#endregionEXCEL转换成PDF代码如下:#region 将excel文档转换成PDF格式/// <summary>/// 将excel文档转换成PDF格式/// </summary>/// <param name="sourcePath">源文件路径</param>/// <param name="targetPath">目标文件路径</param>/// <returns></returns>private bool ExcelConvertPDF(string sourcePath, string targetPath){bool result;Excel.XlFixedFormatType targetType = Excel.XlFixedFormatType.xlT ypePDF; //PDF格式object missing = Type.Missing;Excel.ApplicationClass application = null;Excel.Workbook workBook = null;try{application = new Excel.ApplicationClass();object target = targetPath;object type = targetType;workBook = application.Workbooks.Open(sourcePath, missing, m issing, missing, missing, missing,missing, missing, missing, missing, missing, missing, missi ng, missing, missing);if (workBook != null){workBook.ExportAsFixedFormat(targetType, target, Excel.XlFix edFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing);result = true;}elseresult = false;}catch (Exception ex){result = false;}finally{if (workBook != null){workBook.Close(true, missing, missing);workBook = null;}if (application != null){application.Quit();application = null;}GC.Collect();GC.WaitForPendingFinalizers();GC.Collect();GC.WaitForPendingFinalizers();}return result;}#endregion对DCOM组件进行权限配置:1、打开comexp.msc -322、Microsoft Excel Application、和Microsoft Word 97-2003 Document属性里面进行配置,如下:标识:设为“交互式用户”安全:启动和激活权限添加“NETWORK SERVICE”,勾选本地启动和本地激活,访问权限添加类似以上两点设置完成后还有问题,继续以下操作:3、应用进程池标识转换为“LocalSystem”4、在C:/Windows/System32/config/systemprofile和C:/Windows/SysWOW64/ config/systemprofile目录下创建名为Desktop目录出现的问题:发布到服务器上后,WORD转换没问题,EXCEL转换PDF时转换卡住,只能生成temp的临时文件,以下操作解决问题:4、在DCOM组件的Microsoft Excel Application、和Microsoft Word 97-2003 Do cument属性安全中额外添加“IIS_IUSRS”用户组,权限跟之前的“NETWORL SERVICE”一样。
Excel遇到的80070005错误的解决方法
excel2007为默认的启动程序的方法类同,可以执行 开始----运行----"D:\Program Files\Microsoft Office\Office12\excel.exe" /regserver
综上所述,再遇到Excel导出、导入问题时,先考虑权限问题,再考虑office的版本环境!如此基本能够解决这些问题了
5:点击"标识"标签,选择"交互式用户"
6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问&----输入excel2003的安装路径,例如 "C:\Program Files\Microsoft Office\OFFICE11\excel.exe" /regserver 注意/符号前面有一个空格,其中"C:\Program Files\Microsoft Office\OFFICE11\excel.exe" 是excel2003的安装程序的路径,参数regserver表示注册的意思!
OPC-DCOM-配置手册
Windows 2003 sp2 Windows xp sp2OPC DCOM配置手册目录第一节进入DCOM配置程序 (3)第二节服务端配置 (4)一服务端DCOM配置 (4)二服务端安全策略配置 (18)三服务端防火墙配置 (21)第三节客户端配置 (25)一客户端DCOM配置 (25)二客户端防火墙配置 (25)第一节进入DCOM配置程序1、运行DCOMCNFG进入DCOM配置程序2、“控制面板”->“管理工具”-> “组件服务”进入DCOM配置程序3、DCOM配置程序控制台第二节服务端配置一服务端DCOM配置1、配置“我的电脑”1)、设置“我的电脑”默认属性2)、设置“我的电脑”COM安全机制之访问权限-“编辑限制”步骤4:选择用户:➢ANONYMOUS LOGON➢Everyone➢Guests;➢INTERACTIVE➢NETWORK;➢SYSTEM步骤5:设置上述6个用户的访问权限为:本地访问:允许远程访问:允许3)、设置“我的电脑”COM安全机制之访问权限-“编辑默认值”同设置“我的电脑”COM安全机制之访问权限-“编辑限制”步骤1到步骤5 4)、设置“我的电脑”COM安全机制之启动和激活权限-“编辑限制”增加用户:➢ANONYMOUS LOGON➢Everyone➢Guests;➢INTERACTIVE➢NETWORK;➢SYSTEM配置每个用户权限为:5)、设置“我的电脑”COM安全机制之启动和激活权限-“编辑默认值”增加用户:➢ANONYMOUS LOGON➢Everyone➢Guests;➢INTERACTIVE➢NETWORK;➢SYSTEM配置每个用户权限为:2、配置OpcEnum1)、选择“DCOM配置”并展开2)、选择“OpcEnum”3)、配置OpcEnum 属性之常规为“无”4)、配置OpcEnum 属性之“安全”➢启动和激活权限:使用默认值➢访问权限:使用默认值➢配置权限:自定义5)、对“配置权限”之“自定义”进行“编辑”增加用户:➢ANONYMOUS LOGON➢Everyone➢Guests;➢INTERACTIVE➢NETWORK;➢SYSTEM配置每个用户权限为:3、配置OPC SERVER1)、选择OPC Server 组件服务名称,本例OPC Server为KEPServer2)、配置OPC Server 属性之“常规”为“无”3)、配置OPC Server 属性之“安全”➢启动和激活权限:使用默认值➢访问权限:使用默认值➢配置权限:自定义5)、对“配置权限”之“自定义”进行“编辑”增加用户:➢ANONYMOUS LOGON➢Everyone➢Guests;➢INTERACTIVE➢NETWORK;➢SYSTEM配置每个用户权限为:二服务端安全策略配置1、进入安全策略程序控制面板-> 管理工具-> 本地安全策略2、配置安全策略之安全模式网络访问:本地帐户的共享和安全模式设置为“经典”3、配置安全策略之匿名用户网络访问:让每个人()权限应用于匿名用户设置为“已启用”三服务端防火墙配置如果计算机可以不使用防火墙,那么直接关闭防火墙,不需要做下述设置。
OPC DCOM配置
SCADA服务器DCOM配置步骤1)、移除Windows安全关闭Windows防火墙,按照下面的步骤:a、点击桌面左下角Windows开始按钮,选择控制面板,在经典视图中找到,最后点击;b、打开Windows防火墙设置对话框,在general标签中,选择“关闭(not recommended)”(参考图1)。
图1步骤2)、建立服务器和客户端相互能识别的用户账号,即SCADA服务器与四方电脑的用户名和密码必须相同。
步骤3)、本地用户认证在Windows XP和Windows Vista操作系统中,有个设置Simple File Sharing (使用简单文件共享)需要关闭;在Windows 2000以前的版本中没有必要修改,因为Simple File Sharing能强制阻止每个远程的Guest账户来认证。
方法1:关闭Simple File Sharinga、双击桌面“我的电脑”;b、在“工具”菜单上,点击“文件夹选项…”;图2c、点击View标签,并去除勾选复选框“使用简单文件共享(推荐)”来关闭Simple File Sharing(参考图2和图3)。
图3方法2:设置本地安全策略a、点击Windows开始按钮,选择控制面板,在经典视图下,选择性能与维护,找到管理工具按钮,打开本地安全策略。
若在Windows开始菜单中找不到控制面板的管理工具,可以选择Windows 开始按钮,选择运行菜单并输入“secpol.msc”,点击“确定”,打开“本地安全策略”对话框(参考图4);b、在目录树下,找到安全设置,本地策略,最后选择安全选项文件夹(参考图5);c、找到“网络安全:本地账户的共享和安全模式(Network access:Sharing and security model for local accounts)”,设置为“本地用户以自己的身份验证(Classic-local users autherticate as themslves)”选项。
Excel DCom 配置
1:在服务器上安装office的Excel软件.2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框5:点击"标识"标签,选择"交互式用户"6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.这样,我们便配置好了相应的Excel的DCOM权限.注意:这是在WIN2003上配置的,在2000,xp上,NETWORK SERVICE用户改为用户。
JAVA调用office
最近的一个工作任务中,需要在后台将客户上传的文档(合同文档)进行只读保护(严格意义上的只读保护,既加密锁定,确保不能自行解锁,而不是文件本身只读或者简单锁定),因此想到了调用word宏来操作文档的方式。
经过研究,这种方式是完全可行的,而且已经实现,由于这类资料网络上比较难找,因此特将自己的研究心得总结分享一下。
java需要通过调用com来和office交互,这个可以自己编写jni来实现,不过目前已有三个开源项目支持java对com的调用,它们分别是:com4j、j-Interop和Jacob。
下面先对这三个项目做个简单介绍。
com4j,项目地址是:/projects/com4j/ ,很久没更新了,要使用这个库,需要下载相关的源代码(也可以通过/maven/2/org/jvnet/com4j/ 这个地址去查找相关编译好的包)编译或者通过maven获取maven-com4j-plugin插件,然后运行tlbimp.jar(可以在/maven/2/org/jvnet/com4j/tlbimp/ 里找到)或者maven-com4j-plugin插件去生成相关com组件的模型接口代码(当然前提是要先找到com组件的承载文件所在,这个是有些难度的),然后再使用这些代码去调用相关的com组件,使用起来还是比较麻烦的,而且还存在一些严重的bug。
j-Interop,项目地址是:/ ,一个纯粹的java库,没有使用jni方式去调用com 组件。
但是它的问题是只能调用dcom(分布式com),是通过CIFS协议去调用dcom的,因此要使用它,首先得给机器配置好dcom服务,同时还有一点比较麻烦,就是你要自己去寻找dcom组件的ID(可以通过运行dcomcnfg去查看)。
Jacob,项目地址是:/projects/jacob-project/ ,目前最新的更新是2011年2月份的,本文将着重介绍如何通过这个项目去调用宏。
使用com组件操作word和excel
使⽤com组件操作word和excelcom组件对于我来说⼀直很谜,尤其是操作word和excel部分,今天在这好好整理⼀下⽤到的知识。
本次使⽤的语⾔是c#,代码仅供参考。
⼀、操作⾸先添加对这个com组件的引⽤:using MsWord = Microsoft.Office.Interop.Word;然后通过演⽰添加章节的部分来说明使⽤⽅法,注释部分基本都有说明://添加章节public void addChapter(object sender, RoutedEventArgs e){MsWord.Range cur_Range; //当前选择部分int current_section = 1;String docFileName = Directory.GetCurrentDirectory() + @"\abc.doc";//应⽤和⽂档及缺省值oWord = new MsWord.Application(); //word应⽤object missing = System.Reflection.Missing.Value; //缺省值,供后⾯使⽤oDoc = oWord.Documents.Add(ref missing, ref missing, ref missing, ref missing); //word应⽤打开⼀个⽂档,这个⽂档为oDocoDoc.Activate();object section_next_page = MsWord.WdBreakType.wdSectionBreakNextPage; //选择下⼀页,⽤于添加章节object page_break = MsWord.WdBreakType.wdPageBreak;//选中第⼀章第⼀段current_section = oDoc.Sections.Count;current_section++; //section从已有的加1oDoc.Sections.Add(); //添加⼀个sectionoDoc.Sections[current_section].Range.Paragraphs[1].Range.Select();//选择cur_Range = oDoc.Sections[current_section].Range.Paragraphs[1].Range;cur_Range.Select(); //选择object wd_FontSize_Index;wd_FontSize_Index = 14; //`1级标题oWord.ActiveDocument.Styles.get_Item(ref wd_FontSize_Index).ParagraphFormat.Alignment = MsWord.WdParagraphAlignment.wdAlignParagraphCenter; oWord.ActiveDocument.Styles.get_Item(ref wd_FontSize_Index) = "微软雅⿊";oWord.ActiveDocument.Styles.get_Item(ref wd_FontSize_Index).Font.Size = 20;object title_style = MsWord.WdBuiltinStyle.wdStyleHeading1; //标题样式oDoc.Sections[current_section].Range.Select();MsWord.Selection currentSelection = oWord.Selection;currentSelection = oWord.Selection;//读取⽂本框数据String str = "";byte[] textData = Encoding.UTF8.GetBytes(wordContent.Text);//wordContent是⼀个⽂本框,只要知道他的Text属性是⽂字就好MemoryStream stream = new MemoryStream(textData);StreamReader sr = new StreamReader(stream);//写⼊标题str = sr.ReadLine();currentSelection.TypeText(str);currentSelection.TypeParagraph(); //段落标记str = sr.ReadLine();//正⽂while (str != null){currentSelection.TypeText(str);currentSelection.TypeParagraph();str = sr.ReadLine();}//结束读取流sr.Close();stream.Close();//设置标题格式cur_Range = oDoc.Sections[current_section].Range.Paragraphs[1].Range;cur_Range.set_Style(ref title_style);oDoc.Sections[current_section].Range.Paragraphs[1].Alignment =MsWord.WdParagraphAlignment.wdAlignParagraphCenter;//关闭并保存⽂件object fileName = docFileName;oDoc.SaveAs2(ref fileName);oDoc.Close();}⾄于其他的操作和上⾯⼤体类似,这⾥只做部分说明:1.添加参考⽂献1. 声明变量,打开word、添加缺省值、打开⽂档、选中现在的部分2. 获取⽂本框中的⽂字3. 添加⼀个⼩节4. ⼩节中添加“参考⽂献”四个字,并在第六步设置字体属性5. 将⽂本框中的⽂字按⾏提取出来,加上数字前缀加⼊到⼩节中6. 设置⽂字的字体属性7. 关闭、保存⽂件,释放资源2.添加艺术字⽐较⿇烦,这⾥做⼀下演⽰:oDoc.Shapes.AddTextEffect(Microsoft.Office.Core.MsoPresetTextEffect.msoTextEffect29, str,"微软雅⿊", 24, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse, leftPosition, toptPosition);这句是最重要的//添加艺术字public void addArtCharactere(object sender, RoutedEventArgs e){/*这⾥省略了打开⽂档的操作,和上⾯的添加章节的部分是完全⼀致的*/object page_break = MsWord.WdBreakType.wdPageBreak;//从textbox中获取摘要String str = "";//添加⼀个⼩节current_section = oDoc.Sections.Count;current_section++;oDoc.Sections.Add();oDoc.Sections[current_section].Range.Paragraphs[1].Range.Select();cur_Range = oDoc.Sections[current_section].Range.Paragraphs[1].Range;cur_Range.Select();str = wordContent.Text;oWord.Options.Overtype = false;MsWord.Selection cur_Selection = oWord.Selection;float leftPosition = (float)rmation[MsWord.WdInformation.wdHorizontalPositionRelativeToPage];float toptPosition = (float)rmation[MsWord.WdInformation.wdVerticalPositionRelativeToPage];oDoc.Shapes.AddTextEffect(Microsoft.Office.Core.MsoPresetTextEffect.msoTextEffect29, str,"微软雅⿊", 24, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse,leftPosition, toptPosition);//关闭并保存⽂件object fileName = docFileName;oDoc.SaveAs2(ref fileName);oDoc.Close();}⼆、操作相对于操作word,操作excel就简单多了,for循环基本可以实现⼤部分操作。
WIN7中组件效劳中DCOM配置
WIN7中组件效劳中的DCOM配置找不到Microsoft Excel应用程序的解决方法(2021-06-02 22:59:24)标签:分类:在运行栏中输入命令:dcomcnfg,打开组件效劳治理窗口,可是却发觉找不到Microsoft Excel程序,这主若是64位系统的问题,excel是32位的组件,因此在正常的系统组件效劳里是看不到的能够通过在运行里面输入-32 来打开32位的组件效劳,在里就能够看到excel组件了,希望对您有所帮忙对 Excel 进行编程,事实上确实是通过 .Net Framework 去挪用 Excel 的 COM 组件,所有要在 Web 环境下挪用 COM 组件的时候,都需要对其进行相应的配置。
很多朋友都反映在 Windows 环境下调试正常的程序,一拿到 Web 环境中就犯错,事实上确实是因为缺少了这一步。
下面就详细介绍 DCOM 的配置进程。
1、运行“dcomcnfg”,打开 DCOM 配置程序。
(或开始→设置→操纵面版→治理工具→组件效劳→运算机→我的电脑→DCOM配置)2、在应用程序列表中找到“Microsoft Excel应用程序”,点击“属性”,在2003下面若是没找不到属性,请打SP2补丁。
3、将“常规”选项卡中的“身份验证级别”设为“无”。
4、选中“平安性”选项卡中的“利用自概念配置权限”,点击“编辑”。
5、在打开的对话框中添加“Internet宾客用户”(一般是IUSR_机械名),访问类型设为“完全操纵”。
6、将“身份标识”选项卡中的用户设为“交互式用户”。
7、点击“应用”以后,关闭属性页和 DCOM 配置程序。
配置完成若是以上配置不成功.请将启动和访问的权限设置到最大如:EveryOne在开始-》运行中录入“dcomcnfg”单击“确信”后弹出“组件效劳”窗口依次选择“组件效劳”-》“运算机”-》“我的电脑”-》“DCOM配置” 如以下图:在“DCOM配置”下找到“MicroSoft Excel 应用程序”,单击右键然后选择“属性”弹出如下窗口:在弹出的窗口当选择“平安”标签,在“启动和激活权限”分组框当选择“自概念”,然后点击“编辑”按钮在弹出的“启动权限”窗口中点击“添加”在“选择用户或组”窗口中点击“高级”先点击“当即查找”按钮,在“搜索结果”窗口中找到“NETWORK SERVICE”用户,然后点击确信这时返回“选择用户或组”窗口,“NETWORK SERVICE”用户已在窗口中在上部窗口选择“NETWORK SERVICE”用户,然后在下部窗口将全数可选权限给予“许诺”最后在“标识”标签中将“运行此应用程序的用户帐户”选择“交互式用户”“访问权限”和“配置权限”的配置方式与“启动与激活权限”相同,再也不累诉。
”因为配置类型不正确,系统无法开始服务器进程。请检查用户名和密码”解决方案
”因为配置类型不正确,系统⽆法开始服务器进程。
请检查⽤户名和密码”解决⽅案错误是'检索 COM 类⼯⼚中 CLSID 为 {91493441-5A91-11CF-8700-00AA0060263B} 的组件失败,原因是出现以下错误: 8000401a 因为配置类型不正确,系统⽆法开始服务器进程。
请检查⽤户名和密码。
(异常来⾃ HRESULT:0x8000401A)。
'。
的信息提⽰解决⽅法:⽅案1:1.点击开始/运⾏,输⼊Dcomcnfg,按回车键,选择MicrosoftWord⽂档,配置其属性,⾝份验证级别选“⽆”,⾝份标识选“交互式⽤户”,在“安全性”⾥,启动和激活权限,和访问权限,配置权限全部⾃定义并且添加⽤户everyone。
2.重装Office,此处是关键,⼀定要卸载了重装,经典的MS的bug。
注:切记装好后不要再⽤Dcomcnfg这个命令,否则⼜会回到错误。
⽅案2:主要是由于IWAM账号(在我的计算机即是IWAM_MYSERVER账号)的密码错误造成了HTTP 500内部错误。
在详细分析HTTP500内部错误产⽣的原因之前,先对IWAM账号进⾏⼀下简要的介绍:IWAM账号是安装IIS5时系统⾃动建⽴的⼀个内置账号,主要⽤于启动进程之外的应⽤程序的I nternet信息服务。
IWAM账号的名字会根据每台计算机NETBIOS名字的不同⽽有所不同,通⽤的格式是IWAM_MACHINE,即由“IWAM”前缀、连接线“_ ”加上计算机的NETBIOS名字组成。
我的计算机的NETBIOS名字是MYSERVER,因此我的计算机上IWAM账号的名字就是IWAM_MYSERVER,这⼀点与I IS匿名账号ISUR_MACHINE的命名⽅式⾮常相似。
IWAM账号建⽴后被Active Directory、IIS metabase数据库和COM+应⽤程序三⽅共同使⽤,账号密码被三⽅分别保存,并由操作系统负责这三⽅保存的IWAM密码的同步⼯作。
【VIP专享】WIN7中组件服务中的DCOM配置
WIN7中组件服务中的DCOM配置找不到Microsoft Excel应用程序的解决办法(2013-06-02 22:59:24)转载▼分类:其他开发语言标签:it在运行栏中输入命令:dcomcnfg,打开组件服务管理窗口,但是却发现找不到Microsoft Excel程序,这主要是64位系统的问题,excel是32位的组件,所以在正常的系统组件服务里是看不到的可以通过在运行里面输入 comexp.msc -32 来打开32位的组件服务,在里就能看到excel 组件了,希望对您有所帮助对 Excel 进行编程,实际上就是通过 .Net Framework 去调用 Excel 的 COM 组件,所有要在 Web 环境下调用 COM 组件的时候,都需要对其进行相应的配置。
很多朋友都反映在 Windows 环境下调试正常的程序,一拿到 Web 环境中就出错,实际上就是因为缺少了这一步。
下面就详细介绍 DCOM 的配置过程。
1、运行“dcomcnfg”,打开 DCOM 配置程序。
(或者开始→设置→控制面版→管理工具→组件服务→计算机→我的电脑→DCOM配置)2、在应用程序列表中找到“Microsoft Excel 应用程序”,点击“属性”,在2003下面如果没找不到属性,请打SP2补丁。
3、将 “常规” 选项卡中的 “身份验证级别” 设为 “无”。
4、选中 “安全性” 选项卡中的 “使用自定义配置权限”,点击 “编辑”。
5、在打开的对话框中添加 “Internet来宾用户”(通常是IUSR_机器名),访问类型设为“完全控制”。
6、将 “身份标识” 选项卡中的用户设为 “交互式用户” 。
7、点击“应用”之后,关闭属性页和 DCOM 配置程序。
配置完成如果以上配置不成功.请将启动和访问的权限设置到最大如: EveryOne在开始-》运行中录入“dcomcnfg”单击“确定”后弹出“组件服务”窗口依次选择“组件服务”-》“计算机”-》“我的电脑”-》“DCOM配置” 如下图:在“DCOM配置”下找到“MicroSoft Excel 应用程序”,单击右键然后选择“属性”弹出如下窗口:在弹出的窗口中选择“安全”标签,在“启动和激活权限”分组框中选择“自定义”,然后点击“编辑”按钮在弹出的“启动权限”窗口中点击“添加”在“选择用户或组”窗口中点击“高级”先点击“立即查找”按钮,在“搜索结果”窗口中找到“NETWORK SERVICE”用户,然后点击确定这时返回“选择用户或组”窗口,“NETWORK SERVICE”用户已在窗口中在上部窗口选择“NETWORK SERVICE”用户,然后在下部窗口将全部可选权限赋予“允许”最后在“标识”标签中将“运行此应用程序的用户帐户”选择“交互式用户”“访问权限”和“配置权限”的配置方法与“启动与激活权限”相同,不再累诉。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Office(word、excel)DCOM设置图解
1,打开“组件服务”。
打开“控制面板”,进入“管理工具”就能找到“组件服务”,或者在开始菜单的运行对话框中输入“dcomcnfg”运行。
2,在“DCOM配置”节点中找到“Microsoft Office Word 97 - 2003 文档”,应用程序ID为“{00020906-0000-0000-C000-000000000046}”,点击右键,在右键菜单中选择“属性”
打开属性对话框。
注:如果是配置excel的话,查找“Microsoft Excel Application”,应用程序ID是“{00020812-0000-0000-C000-000000000046}”。
3,切换到“安全”页面。
“启动和激活权限”选中“自定义”,点击编辑按钮,添加 帐号,通常,在IIS 5 上为{MACHINE}\ASPNET,在IIS 6 上为网络服务(network service),在权限中勾选“本地启动”、“本地激活”。
同理,在“访问权限”中选中“自定义”,点击编辑按钮,添加帐号,在权限中勾选“本地访问”。
4,切换到“标识”页面,选中“下列用户”,用户输入“Administrator”,输入正确的密码,
点击确定就可以了。
“用户”也可以不使用Administrator,但是必须是有权限运行Office 程序的、能够登录系统的用户。
5,点击“确定”。
备注:64位操作系统无法看到excel的com组件,需要运行下面命令:
comexp.msc /32。