Tag: ms office

将命名空间传递给函数

我有一个函数,它接受一个word文档并以html格式保存。 我想使用相同的函数来处理任何文档类型。 由于Jon Skeet指出,我尝试使用generics(我假设不同的doc API是相同的)失败了。 还有另一种方式吗? using Word = Microsoft.Office.Interop.Word; using Excel = Microsoft.Office.Interop.Excel; //Works ok private void convertDocToHtm( string filename ) { … snip var app = new Word.Application(); var doc = new Word.Document(); doc = app.Documents.Open(ref fileName, ref missing, ref trueValue, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, […]

Microsoft Jet oledb与excel的连接丢失了公式

我有一个数据集,我使用Microsoft Jet 4.0 Oledb提供程序将它的值写入excel文件。 我想把超链接放到excel中,为此我在DS中写了“= HYPERLINK(” http://www.abc.org/x.pdf “)”然后将它写入excel。 但是当打开excel时,它会在公式前面加上’(quote /撇号),并且它会以文本forms出现,而不是链接。 你能帮我删除那个引用,以便我的excel文件有超链接而不是文本吗? 我需要使用Microsoft Jet 4.0提供程序(不是excel组件),因为客户端计算机可能会或可能不会在他的计算机上安装MS-Excel。

以编程方式检查MS Office许可证状态

是否可以以编程方式检查MS Office(2007-2016)许可证状态? (C ++首选) 我将在下面与您分享我的研究,也许它会以某种方式提供帮助。 我知道从2010年办公室开始,有OSPP.vbs脚本来检查许可证状态。 但由于我不能在我的代码中使用此脚本(因为安全问题),我使用WMI从C ++中的SoftwareLicensingProduct信息查询LicenseStatus。 问题是,对于2013办公室,查询返回了36个许可证(其中2个具有密钥 – 第一个许可证代表Word,Excel,PowerPoint,第二个代表Visio)。 对于2016办公室,有一个EACH办公应用程序的许可证(一个用于Word,一个用于Excel,一个用于Powerpoint,另一个用于Visio)。 其中一个可能比另一个更早到期,而2013年办公室则有一个Word-Excel-PP的通用许可证和另一个用于Visio的许可证。 如何明确检测某个许可证1)是否涵盖我通过对象模型使用的Office应用程序2)尚未过期? (在SoftwareLicensingProduct类中是否可以使用每种应用程序的某种ID?) NB 关键是我在C ++中通过对象模型使用Word,Excel,PowerPoint和Visio(2007-2016版本),并且在启动我需要知道的任何应用程序之前,他们的许可证是否已过期。 我会感激任何帮助! 先感谢您。

80040154 Outlook 2010中未注册ERROR的类添加

我正在使用Visual Studio 2010创建Outlook 2010添加。 我尝试创建一个新的Outlook AppointmentItem来考虑我最终可以将它添加到日历中。 Microsoft.Office.Interop.Outlook.AppointmentItem tempApp = new Microsoft.Office.Interop.Outlook.AppointmentItem(); 但是当AddIn运行并尝试创建AppointmentItem对象时,我在上面的行中收到此错误。 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 error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). Source=mscorlib ErrorCode=-2147221164 我可以做些什么来“注册课程”? 我猜这与某些方面的Microsoft.Office.Interop.Outlook.dll有关。

文件恢复

我正在为Word(2007)创建一个自动化解决方案。 有时我必须杀死Word进程。 下次启动单词时,会出现一个选项卡/窗口,建议恢复未保存的文档。 我想禁用此function或让我的应用程序关闭此窗口。 我不知道这个标签/窗口的入口点在哪里。 编辑:我发现这个词称为“function”修复,而不是恢复。 仍然不知道如何避免/绕过/禁用它。 建议?

将Open XML Excel文件转换为HTML

我正在为MS Office 2007开发打印解决方案。办公自动化不适合我,因为它需要安装Office。 Open XML Document Viewer是通过XSLT转换将Word文件(.docx)转换为HTML格式的解决方案,但它仅适用于.docx。 可以将相同的技术用于Excel电子表格文件吗?

在DCOM配置中找不到Microsoft Word文档

我正在创建一个使用office 2007/2010自动化的简单asp.net网站..当我在本地机器(窗口7)上的iis 7上发布网站时有一个例外 Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)). 我已经搜索了这个exception,我发现我必须在DCOM Config中为office设置一些权限。 我已经打开了组件服务并打开了DCOM配置,但我还没有找到Microsoft Word Document,我发现只有办公室字97 – 2003。 谁能告诉我如何解决这个问题。

自定义Word后台中的“新建”选项卡以添加自定义模板

我想自定义Word的后台在“新建”选项卡中添加自定义模板而不是另一个。 模板来自Web服务。 我使用Office 2010.应用程序是使用Visual Studio 2010在C#中开发的。 可能吗?

在C#中使用MODI进行OCR。 需要从内存中读取图像,而不是磁盘

我正在尝试使用MODI在内存中已有的位图上执行OCR。 我似乎无法找到解决方案,因为我找到的所有示例都使用create方法从磁盘中获取图像并为OCR做好准备。但是,我已经在内存上有图像并且写入和读取了我往返磁盘会消耗太多时间。 Bitmap bmp = … //Instantiate the MODI.Document object MODI.Document md = new MODI.Document(); //The Create method grabs the picture from disk snd prepares for OCR. md.Create(“C:\\bmp.gif”); //but I don’t want to read from disk 🙁 //Do the OCR. md.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true); //Get the first (and only image) MODI.Image image = (MODI.Image)md.Images[0]; //Get the […]

如何从Microsoft Excel获取滚动位置

使用Microsoft Office自动化时,我想将图像插入电子表格中。 如何确定当前用户的滚动位置?