Tag: ms office

多DPI系统上的VSTO自定义任务窗口显示内容两次

我正在使用VSTO构建办公室插件。 在具有不同DPI设置的多个监视器的系统上,我的自定义任务窗格的内容在具有较高DPI设置的监视器上绘制两次: 只有较小的版本实际上响应用户输入。 较大的版本似乎只是一个放大图像。 我尝试过使用各种DPI相关设置,例如: 我的用户控件上的AutoScaleMode 。 我尝试了所有选项,没有变化。 使用SetProcessDpiAwareness将进程设置为DPI可识别 – 或不 – 。 我尝试了所有选项,没有变化。 使用app.manifest并将dpiAware设置为true和false 。 没变。 新的Web Addins没有这个问题。 此外,内部任务窗格没有此问题。 这是一个已知的问题吗? 我怎样才能解决这个问题?

如何使用Microsoft.Office.Interop dll将数据集导出到c#控制台应用程序中的Excel

如何使用Microsoft.Office.Interop dll将数据从我的C#控制台应用程序导出到Excel?

清除Microsoft Office加载项缓存

我在Microsoft PowerPoint 2007的加载项中编写了一些代码。我执行了它。 它说有问题。 在这里的同事的帮助下 ,我纠正了这个问题。 我编译了新代码并运行它。 它仍然考虑旧代码并忽略新代码并仍然抛出相同的问题。 这两个版本的代码完全不同,因为它们不共享问题报告的变量,因此我确定问题现在不在代码中。 显然,MS Office在某些缓存中保留了旧版本的二进制文件。 如何清除它并允许它访问新编译的加载项二进制文件?

保存并打开远程文档

我对微软Office开发一无所知,但我想构建一个插件原型,允许用户从远程存储库中保存和打开文档。 也许以后可能会在服务器上构建一个版本控制系统 – 但是服务器端部分是关于它的最简单部分(在我的例子中)。 也许我应该专注于让它一次用于一个办公应用程序 – 比如MS WOrd(除非人们认为excel更容易使用)。 并让我们以Office 2007为目标(就像我安装的那样)。 保存 存储库将存储Tagged文档(许多类型的许多标签)。 保存文档AddIn需要先显示对话框并允许标记。 AddIn需要通过SOAP或REST api向我们的服务器提交一个标签数组和文档(Base 64编码?)。 几个问题 这可能吗? 如果有关于如何实现的建议? 是否有一种机制可以访问您正在查看的文档的二进制数据(流?)? 是否有可能从File-SaveAs对话中捎回来? 或者我需要创建自己的菜单项吗? Obviuos前者可能更熟悉用户…… 是否已经存在远程文档持久性的机制我可以背负? 开盘 一旦保存了许多文件,我们将需要一种检索文件/打开文件的方法。 所以我认为我需要一个对话框,允许浏览文件标签类型 – >标签值(树可能有更多级别,但想从那里开始)。 ONce文件打开我认为API需要 进行RPC调用(SOAP / REST)以检索文档 – 解码内容(实际文档)并在Word中打开该流(例如) 我还想将我的标签保存在内存中 XML设计 为了最好地可视化Word和服务器之间交换的数据,可以设想一个XML结构,如: New York Yankees Boston Redsox New York Boston recap AKJSGHKASHGFKSJDHGFKSJDHGFSKDJFHGSKJDGSKDJGSKDJFHGSDKJFH 存储库资源管理器应该在树中的多个位置显示此文档; 以下是一个存储库的示例,该存储库在五个位置显示此文档(基于标记): repository + untagged – team […]

C#.NET图表库/代码?

我正在创建一些报告软件,它将生成包含图表和所有相关数据的excel工作簿。 除了内置的库和.NET Office集成function之外,还有其他任何人发现对创建类似项目有用的工具或代码吗? 编辑:我的目标是winforms。

将byte 作为文件打开而不首先将其实际保存为文件

打开在数据库中存储为byte []的Word文件的最佳方法是什么? 我必须将一些文档存储在Access数据库中–Word文件,2003及更高版本 – 在严格用于CD的应用程序上。 不幸的是,他们必须在数据库中,不能存放在文件夹中。 我将它们存储为OLE对象,我可以将它们作为byte []进行读取和写入。 但是,我不知道在Word中重新打开这些文档的最佳方法。 现在我正在使用FileStream在某处重新创建文件,然后拍摄System.Diagnostics.Process.Start(filename)以使其打开。 这将在政府计算机上使用,有时可能会有一些时髦的安全规则,所以我不知道这是否是最好的方法。 是否可以打开以前存储为byte []的文件而不使用保存到硬盘驱动器的任何中间文件? 我知道他们至少会拥有Word 2003,所以我愿意使用Word互操作。 谢谢你的任何输入!

如何在没有加载项的情况下从.NET启动MS Office Word?

我正在使用MS Office 2003 PIA从c#创建MS Word文档。 ApplicationClass officeApplication = new ApplicationClass(); 有没有办法指定我不希望使用此方法加载任何办公室加载项? 编辑: 我知道可以通过命令行执行此操作,因此我非常确定必须有一种方法可以从代码中执行此操作: “C:\Program Files\Microsoft Office\Office11\Winword.exe” /a

如何通过C#访问office文件的标签信息

我想编写一段简单的代码,它只从目录中存在的一组office(docx,pptx等)文件中提取标记信息,以便可以轻松地对其进行索引和搜索。 当我说“标签”时,我指的是自Vista以来你可以添加到文件中的标签信息。 它通常使用Explorer完成。 例如,下面屏幕截图中的pptx文件附有标签“bubble”。 但是,搜索这些标签已经内置到Windows中,你说呢? 为什么,是的,但我需要这个只对索引进行索引,我需要通过Intranet而不是在Windows内部公开信息。 我发现在office文件包中,实际信息存储在cp:keywords元素的/docProps/core.xml文件中。 我确实意识到,在代码中,我可以解压缩文件,访问该文件,并提取我需要的内容。 不过,我希望那里有一个预先抽象的解决方案。 我严重怀疑Windows正在做什么来索引相同的信息(但诚然,我真的找不到任何好的信息)。 我也发现了一些关于IFilters的讨论。 然而,这会访问文件的文本。 我没有看到IFilter在哪里帮助解决这个特殊问题。 谁能指出我在这个方向上的正确方向?

Novacode Docx从位图创建图像

背景 我的项目很紧急,需要我迭代一个大的XML文件并返回Base64编码的图像。 每个图像都必须插入到MS Word文档中,我正在使用DocX库。 我正在将Base64字符串转换为位图,没有任何问题。 问题 对于我的生活,我似乎无法将位图获取到Novacode.Image对象,然后可以将其插入到文档中。 注意:我已经知道如何转换为System.Drawing.Image格式。 它是Novacode.Image格式(DocX)让我感到悲伤。 如果我尝试转换la (Novacode.Image)somebitmap; 我得到Can not cast expression of type Image to Bitmap 。 如果我尝试初始化一个新的Novacode.Image对象,我得到Can not access internal constructor Image here 。 使用C#,.NET 4,Forms App,很多咖啡。 题 只有Novacode.Image对象可以通过库插入到MS Word doc中,那么我怎么能在那里得到我的位图? 在这一点上我很沮丧,所以也许我只是缺少一些简单的东西。

Outlook VSTOfunction区到主页tabControlId

我正在写一个VSTO Microsoft Outlook插件。 该插件的版本目标是Outlook 2007和2010,因此我使用Outlook 2007加载项(在Visual Studio中)。 我有ActiveMenuBar的一些(视觉)问题。 在Outlook 2007中,它工作正常,但在2010年,ActiveMenuBar不存在; 它被tabControl和ribbon替换。 我想检查版本( Application.Version ),如果版本是14(Outlook 2010),则不要在ActiveMenuBar中添加项目,而是在Home标签页中添加function区。 如何将function区添加到“ 主页”选项卡页面? 例如,如果我将一个function区添加到“ 消息”选项卡页面,我将ribbonControl.OfficeId设置为“TabReadMessage”,但我找不到“ 主页”选项卡的OfficeId。