Windows服务器上的Office互操作问题
我正在尝试使用以下行从我的放置中访问服务器上的单词Office Interop: Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application(); 但是,这会导致例外: Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)). 有人知道我该怎么做才能允许我的程序访问它? 解决方案 您需要授予运行II的用户"启动和激活"的权限. 开始 - >运行 - > dco
4 2023-05-25
编程技术问答社区
如何使这个自定义工作表的初始化更快?
摘要 这个问题在某种程度上是此问题的后续措施: 如何从其索引中实现列自我实现? 测试了以上问题的答案中提供的代码后,我终于遇到了一个严重的性能问题. 性能问题 性能问题发生在纸张初始化时,即当我初始化纸的单元格时. ''' ''' Initialize an instance of the Company.Project.Sheet class. ''' ''' The native worksheet from which to initialize. Friend Sub New(ByVal nativeSheet As Microsoft.Office.Interop.Excel.Worksheet) _nativeSheet = nativeSheet Dim cell
0 2023-05-23
编程技术问答社区
循环浏览单元格时,C# Excel互操作缓慢
我试图从C#中的Excel文档中提取所有文本数据,并遇到性能问题.在以下代码中,我打开工作簿,循环在所有工作表上,然后在使用范围内的所有单元格上循环,然后从每个单元格中提取文本.问题是,这需要14秒才能执行. public class ExcelFile { public string Path = @"C:\test.xlsx"; private Excel.Application xl = new Excel.Application(); private Excel.Workbook WB; public string FullText; private Excel.Range rng; private Dictionary Variables; public ExcelFile() { WB = xl.Workbooks.Open(Path); xl
2 2023-05-23
编程技术问答社区
用Office Interop将单元格写入Excel的最快方法?
我正在编写一个功能,以使用VB .NET中的Office Interop将数据导出到Excel.我目前正在使用Excel工作表的单元格()方法直接编写单元格: worksheet.Cells(rowIndex, colIndex) = data(rowIndex)(colIndex) 这需要大量数据需要很长时间.是否有更快地编写大量数据以立即出现的方法?会更快地做某事吗? 解决方案 如果可以的话,您应该避免读取和编写单元格.使用数组并立即读取或编写整个块要快得多.我回到使用C#从工作表中读取;基本上,相同的代码相反(请参见下文),并且运行速度会更快,尤其是在较大的数据块中. var sheet = (Worksheet)Application.ActiveSheet; var range = sheet.get_Range("A1", "B2"); var data = new string[3,3]; data[0, 0] = "A1"; d
0 2023-05-23
编程技术问答社区
将powerpoint演示文稿(ppt/x)转换为PDF,不需要Interop
我需要使用C# 将PowerPoint(PPT/PPTX)文件转换为PDF 目前,我正在使用此代码: public void PPTXToPDF(string originalPptPath, string pdfPath) { // Create COM Objects Microsoft.Office.Interop.PowerPoint.Application pptApplication = null; Microsoft.Office.Interop.PowerPoint.Presentation pptPresentation = null; try { object unknownType = Type.Missing; //start power point pptApplication = new Microsoft.Office.Interop.PowerPoint.Appli
0 2023-05-22
编程技术问答社区
Outlook电子邮件转pdf的安全提示
我有一个任务,我需要创建一个将Outlook电子邮件转换为PDF的程序. 这是我的代码 Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application(); NameSpace outlookNs = app.GetNamespace("MAPI"); MAPIFolder rootFolder = outlookNs.Stores["Blah"].GetRootFolder(); List mailItems = new List(); Folders subFolders = rootFolder.Folders; foreach (Fol
0 2023-05-22
编程技术问答社区
如何在不使用excel互操作库的情况下将excel工作簿转换成pdf?
我有一个XLSX文件,每个文件都包含图表.我想将其保存为PDF文件. 我使用excel.interop: 制作了样本 Application excelApplication = new Application(); Workbook wkb = excelApplication.Workbooks.Open(oSlideMaster._FILE_PATH, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, Microsoft.Office.Interop.Excel.XlCorruptLoad.xlNormalLoad); var basePath = HttpRuntime.AppDomainAppPath; wkb.ExportAsFixedFormat(XlFixedFormatType.xlTyp
0 2023-05-22
编程技术问答社区
Could not load file or assembly 'Microsoft.Office.Interop.Word, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'。
我试图将DOCX文件转换为PDF,并且我已经成功地在本地PC上转换PDF. 我在visual studio 2010中遵循的步骤是 click on Add reference --> Click to COM -->select "Microsoft Word 12.0 Object Library" and cliked ok 我的Web配置被修改并添加了汇编 我的.cs代码将DOC转换为PDF是 using Microsoft.Office.Interop.Word;//Name Space protected void Page_Load(object sender, EventArgs e)//Coading on
4 2023-05-22
编程技术问答社区
如何在OpenXML段落、运行、文本中保留带格式的字符串?
我正在遵循此结构,将字符串中的文本添加到OpenXML运行中,这是Word文档的一部分. 字符串具有新的线格式,甚至具有段落的缩写,但是当文本插入运行中时,所有这些都会被剥离.我该如何保存? Body body = wordprocessingDocument.MainDocumentPart.Document.Body; String txt = "Some formatted string! \r\nLook there should be a new line here!\r\n\r\nAndthere should be 2 new lines here!" // Add new text. Paragraph para = body.AppendChild(new Paragraph()); Run run = para.AppendChild(new Run()); run.AppendChild(new Text(txt)); 解决方案 您需要使用我已
2 2023-05-20
编程技术问答社区
将项目移至目标文件夹时,VSTO Outlook ItemAdd不会被解雇
我试图在将项目移动到目标文件夹时在ItemADD事件上做一些事情,但ItemAdd事件没有启动. 我已经在全局范围声明了源对象(全局列表肌表示肌化),以确保它一直活着我需要接收事件. 我已经包装了要在MyOutlookItems类,文件夹对象和通讯事件处理程序中使用的功能,该功能作为参数传递,因为我想在源类中而不是在包装类中处理事件./p> 包装类Myoutlookitems: public class MyOutlookItems { public Outlook.MAPIFolder Folder { get; set; } private Outlook.ItemsEvents_ItemAddEventHandler _itemAddEvtHandler; public void Subscribe(Outlook.ItemsEvents_ItemAddEventHandler itemAddEvtHandler) {
0 2023-05-15
编程技术问答社区
在Outlook上回复时获取之前的邮件项目
我们是开发人员一个Outlook插件.我们提供一个按钮工作,作为默认发送按钮的替代方法.我们需要将按钮回复的所有mailItem保存到特定类别. 当用户回复电子邮件(在新检查员中)时,我该如何获取主邮局? 解决方案 用户可以从Explorer或Inspector回复. 如果是Explorer,请捕获Explorer.SelectionChange事件并设置事件在所选项目上沉没.您可以捕获MailItem.Reply/ReplyAll/Forward事件. 在检查员的情况下,请捕获Application.Inspectors.NewInspector事件,并在MailItem上设置一个事件接收器,从Inspector.CurrentItem属性返回.然后,您将再次捕获MailItem.Reply/ReplyAll/Forward事件. 其他解决方案 您可以使用 getConversation mailItem类的方法返回 getConversation返回nul
8 2023-05-15
编程技术问答社区
检索同一线程中的所有Outlook邮件
我们正在Outlook上建立一种通信管理系统.我们希望实现的重要任务之一是在同一线程中检索所有消息(.msg文件??)及其附件,并将它们放在CMS存储库中的同一文件夹中. 我们面临的问题是我们如何从编程上知道特定消息(或.msg文件??)和附件属于特定线程. 说对于第一条消息,我们在存储库中创建一个文件夹.然后,我们希望将所有消息(以及附件)发送为对原始消息的回复,以在同一文件夹中自动进行. 我试图找到它们是否是.msg文件中的任何标头以识别线程,但没有找到任何内容. ,但仍然很好奇Outlook客户端如何显示作为通信线程层次结构的消息.因此,必须有某种方法可以检索存储在某个地方的信息.我只想知道如何访问它. 解决方案 使用PR_CONVERSATION_INDEX属性(您可以在 http://msdn.microsoft.com/en-us/library/office/cc765583.aspx 其他解决方案 在消息标头中指示了分组的保护:"
0 2023-05-15
编程技术问答社区
VSTO Outlook Addin:无法使用Explorer关闭事件
前一段时间,我使用NetOffice编程了一个Outlook Addin,该Netoffice效果很好.现在,有了新的Visual Studio Community 2017,我可以在没有Netoffice的帮助的情况下为Office Addins进行编程.所以我想更改我的代码,但是我遇到了一个问题:我不能将Explorer.Close事件划分: using Outlook = Microsoft.Office.Interop.Outlook; namespace OLTest2 { public class ExplorerHandle { private Outlook.Explorer OutlookExplorer; public void InitExplorer(Outlook.Explorer expl) { OutlookExplorer = expl;
0 2023-05-15
编程技术问答社区
80040154 Outlook 2010插件中未注册的类的ERROR
我正在使用Visual Studio 2010创建Outlook 2010添加.我尝试创建一个新的Outlook约会以与以为我可以最终将其添加到日历中. Microsoft.Office.Interop.Outlook.AppointmentItem tempApp = new Microsoft.Office.Interop.Outlook.AppointmentItem(); 但是,当Addin运行并进行创建约会限制对象时,我在上面的行上会出现此错误. System.Runtime.InteropServices.COMException was unhandled by user code Message=Retrieving the COM class factory for component with CLSID {00061030-0000-0000-C000-000000000046} failed due to the following e
2 2023-05-15
编程技术问答社区
如何在Outlook的新邮件窗口中打开预置的附件?
当用户单击我的应用程序中的某些按钮或链接时,我需要打开带有预先附件的新电子邮件窗口. 解决方案 旧问题,但是我也遇到了这个问题,所以这里有一个副本和粘贴解决方案: Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application(); Microsoft.Office.Interop.Outlook.MailItem oMsg = (Microsoft.Office.Interop.Outlook.MailItem)oApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem); oMsg.Subject = "subject something"; oMsg.BodyFormat = Microsoft.Office.Interop.Outlook.OlBo
0 2023-05-15
编程技术问答社区
MailItem.getConversation()在共享邮箱上
我正在使用以下代码在对话中显示原始电子邮件中的属性. void DemoConversation() { object selectedItem = Application.ActiveExplorer().Selection[1]; // For this example, you will work only with //MailItem. Other item types such as //MeetingItem and PostItem can participate //in Conversation. if (selectedItem is Outlook.MailItem) { // Cast selectedItem to MailItem. Outlook.MailItem mailItem = selectedItem as
0 2023-05-15
编程技术问答社区
关于SentOnBehOfName的问题
我要使用 Outlook 问题,我想更改电子邮件发送者.我想通过一个发件人从 Outlook 发送所有电子邮件.当我从Outlook更改发件人时,它可以正常工作,但是当我将其从 Outlook 插件更改时,它是行不通的.我正在使用以下代码: private void adxOutlookEvents_ItemSend(object sender, ADXOlItemSendEventArgs e) { if (e.Item is MailItem) { MailItem mail = e.Item as MailItem; mail.SentOnBehalfOfName = "UserName"; mail.Save(); return; } } 但是什么也没有发生.我看不到任何错误或异常,但是电子邮件与旧发件人一起访问Outlook.你能帮我吗? 更新:修复它
0 2023-05-15
编程技术问答社区
c# asp.net调用Outlook电子邮件时超时的问题
我的要求是我需要开发一个Web应用程序(这是强制性的 成为网络应用程序). 该应用列出了已经存在的Outlook模板 直接保存在特定中. 在每个模板旁边,还有一个负载 按钮,如果需要,您可以说一个负载链接 当代理(客户端) 单击它,Outlook应使用该模板打开. 我正在尝试从我的ASP.NET应用程序打开Outlook.当我单击按钮时,我执行此代码 Microsoft.Office.Interop.Outlook._MailItem oMailItem2 = oApp.CreateItemFromTemplate(templateFilePath); oMailItem2.Display(true); 它在我的计算机上工作,但是当我在服务器上部署它时,我得到了此错误: Request timed out. Description: An unhandled exception occurred during the execution of the curr
0 2023-05-15
编程技术问答社区
Microsoft.Office.Interop.Outlook在IIS 8上不工作
使用microsoft.office.interop.outlook在本地IIS上不起作用,但它在调试时在IIS express上工作.但是当我发布应用程序时,它没有在IIS8上运行. Application OutlookApplication = new Application(); MailItem email = (MailItem)OutlookApplication.CreateItem(OlItemType.olMailItem); email.Display(); email.Recipients.Add("careers@acb.com; bilal@abc.com;"); 在Local主持的IIS上给出例外. 例外: Mscorlib.dll中发生的类型" System.Runtime.InterOpservices.Comexception"的例外. 请帮助我.
2 2023-05-15
编程技术问答社区
创建和添加Outlook签名
我已经创建了一个带有几个替换变量的HTML模板. 将创建的签名模板添加为回复的签名,而新消息似乎并没有得到默认的Outlook. //string signatureName = "Example.htm"; //Set via office-interop new signature as default //using Microsoft.Office.Interop.Word; Application app = new Application(); var opt = app.EmailOptions.EmailSignature; opt.NewMessageSignature = signatureName; opt.ReplyMessageSignature = signatureName; app.Quit(); //Also tried WdSaveOptions.wdSaveChanges Marshal.ReleaseComObject(app);
0 2023-05-15
编程技术问答社区