.NET-VSTO
文章平均质量分 60
韩慧兵
项目经理
展开
-
vsto word生成新文档不含任何文本控件是怎么回事?已经解决
之前在做工具的时候遇到一个问题,就是使用工具生成文档【含文本控件】,有时候会遇到生成新文档不含任何控件(这些文本控件是预先留下来用来后期从word中读取入库使用),拿工具在不同的环境下不同的数据下测试都没有bug再现。今天很庆幸,在做了其他工具的时候也遇到了这个问题,经过一番探索终于把这个问题的原因找打了所有文本控件的缺失在工具文档中只要有一个文本控件的PlaceholderText为原创 2013-07-03 15:36:57 · 932 阅读 · 0 评论 -
VSTO思考系列之在线升级的实现
前提:要知道vsto类项目的生命周期=文档的生命周期,当文档关闭的时候,项目也就关闭了;方案:项目:resutFul服务端项目:java实现,此处省略vsto项目:zhucheng.docx升级项目:shengji.exe核心代码vsto项目核心代码,word文档启动的时候,去调用shengji.exe,并关闭word进程 1 private void原创 2015-10-30 13:24:33 · 1300 阅读 · 0 评论 -
VSTO思考系列之动态控制文档中按钮权限
实现目的 能够实现,依据所选项控制word文档中,对应控件的可编辑性;例如项目信息申请,我选择储备类,基本信息中项目性质不可编辑,而选择实施类的时候重要级别不可编辑其他可以编辑,如下截图:实现方式一word形成时候,所有控件(除下拉)不可编辑,然后依据选择下拉控制界面可编辑的按钮;下拉采用comboBox1,基本信息控件使用PlainTextContentCont原创 2015-10-30 13:24:26 · 1056 阅读 · 0 评论 -
VSTO系列之如何在文档启动中排除不可使用的环境
前提: 因为vsto为托管项目,所以framework在不安装情况下,vsto是无法运行的方案背景: 在客户实际使用过程中,需要在使用手册中提示填报工具所基于的环境,而这样的操作即不方便,也免不了客户经常给你打电话,问“我的工具怎么不能使用,或者我的工具使用生成的时候报错等异常”能不能让文档自动检测它所处于的环境,这样一个思路,可以提高工具的友好性,而且也能减少这样不必要的麻烦;原创 2015-10-30 13:24:38 · 361 阅读 · 0 评论 -
.Net调用Office Com组件的原理及问题
今日用到WordToHtml的方法,需要添加对office组件的引用(Microsoft.Office.Interop.Word)程序集Microsoft.Office.Interop.Word D:\Program Files\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12\Micros转载 2013-10-14 11:30:37 · 2903 阅读 · 0 评论 -
将纯文本控件从模板中复制到应用程序的word中
将纯文本控件从模板中复制到应用程序的word中,需满足两个条件:1、应用程序的word中存在name相同的控件;2、模板中的纯文本控件的PlaceholderText必须有值;原创 2013-06-21 14:18:32 · 823 阅读 · 0 评论 -
VSTO开发中格式文本内容控件与纯文本内容控件关于背景色的一个POC
具体业务是这样的,word中由格式文本内容控件和纯文本内容控件结合开发而成,文档中有很多这样的控件,哪些是需要客户点击触发窗体弹出事件是一个很重要的客户体验。总的解决思路是突出这些需要点击按钮的背景色,而又必须在由该文档生成新文档时清除这些背景色。先前的解决方案:将控件至于表格中,通过设置表格背景色从而突出这些特殊按钮。在生成新文档时清除表格的背景色。但这样存在一个隐患,代码是通过遍历wo原创 2013-06-19 18:11:42 · 1468 阅读 · 0 评论 -
c# office控件编程 生成文档进行局部限制编辑
通过1.书签成立2.表格(行,列)可满足回车功能3.段落不通过格式文本内容控件和纯文本内容控件的类似控件 核心代码 //如果没有限制编辑为文档进行编辑限制 if (newapp.ActiveDocument.ProtectionType == WdProtectionType.wdNoProtection)原创 2013-06-19 18:08:24 · 1273 阅读 · 0 评论 -
word初始化显示比例
this.Application.ActiveWindow.ActivePane.View.Zoom.Percentage = 100;转载 2013-06-17 17:32:54 · 722 阅读 · 0 评论 -
托管代码
转自转载者:suhuaiqiang_janlay 的文章 http://blog.csdn.net/suhuaiqiang_janlay/article/details/6004909什么是托管代码? 托管代码是一microsoft的中间语言,他主要的作用是在.NET FRAMEWORK的CLR执行代码前去编译源代码,也就是说托管代码充当着翻译的作用,源代码在运行时分为两转载 2013-06-07 00:18:15 · 516 阅读 · 0 评论 -
c# Bookmark.Select()与Bookmark.WholeStory方法对比
整理至msdn容易被单词本身误导,特此整理下面的代码示例向文档中添加文本,然后添加一个带有文本的 Bookmark。使用 WholeStory 方法,该方法将该书签扩展为包含整个文档。private void BookmarkWholeStory(){ this.Paragraphs[1].Range.InsertParagraphBefore(); this.Par原创 2013-06-17 15:36:01 · 1053 阅读 · 0 评论 -
VBA WORD 光标处理
在WORD中如何用VBA宏语言选定一行、一段,删除一行、一段,移动光标至行首、行尾、段首、段尾等。请看以下内容。 Sub MoveToCurrentLineStart() '移动光标至当前行首 Selection.HomeKey unit:=wdLine End Sub Sub MoveToCurrentLineEnd() '移动光标至当前行尾转载 2013-05-29 17:23:54 · 2919 阅读 · 0 评论 -
c# vsto-格式文本内容控件自身短板
1.表格问题首先是如果在office 格式文本内容控件中初始化时放置一个表格,那么当office文档启动后该表格无法填写。但是还存在一种情况当用户填写至一半其中含表格,关闭后再次打开填写时是可以填写的。【不含第一列和最后一列是有效的,而在不进行限制编辑情况下完全不存在该问题】2.样式问题对齐和设置编号问题因为我是在将该控件排除在限制编辑情况下进行的使用,所以当全选整个编辑域进行原创 2013-05-09 20:56:13 · 735 阅读 · 0 评论 -
C# Office开发word导出不完善问题
项目中word存在横向纵向不同方式排版,在代码复制到新word的时候出现导出不完善问题解决方法如下: /// /// 生成doc方法【带目录+加密+利用分隔符将目录单属一页】 /// public void copyWord() { //1.创建新doc Word.Applica原创 2013-02-21 17:30:40 · 1781 阅读 · 0 评论 -
C# Office开发之word目录更新
TablesOfContents即为目录对象 int count = docReport.TablesOfContents.Count; for (int i = 0; i < count;i++ ) { docReport.TablesOfContents[i原创 2013-02-21 13:36:20 · 1392 阅读 · 0 评论 -
C#操作Word生成索引相关知识整理
OperateWord ow = new OperateWord();Microsoft.Office.Interop.Word.ApplicationClass ss = ow.WordApplication; AddContent(ref ss); void AddContent(ref Microsoft.Office.Interop.Word.App转载 2013-02-21 14:12:50 · 753 阅读 · 0 评论 -
C# Office开发 隐藏书签符号
很简单设置如下段落--选项--高级--显示书签 去掉该复选框即可 代码控制控制当前窗口显示出书签来ActiveWindow.View.ShowBookmarks=true;控制当前窗口不显示出书签来ActiveWindow.View.ShowBookmarks=false;原创 2013-02-21 13:22:19 · 815 阅读 · 0 评论 -
C# office开发:分隔符的使用
private void BookmarkInsertBreak() { this.Paragraphs[1].Range.InsertParagraphBefore(); Microsoft.Office.Tools.Word.Bookmark bookmark1 = this.Controls.Ad转载 2013-02-21 11:40:55 · 749 阅读 · 0 评论 -
C# WORD操作实现代码
挺有借鉴性的拿过来给大家分享在当前项目开发过程中,客户有根据数据库数据生成WORD文档的需求,在和同事沟通的过程中,找到了两个解决方案1.先通过程序生成报表样式的HTML页面,然后修改HTML页面的后缀名为DOC。 2.定制WORD文档的模板文件,在C#中操作WORD模板,生成新的WORD文档。 第一方案简单,只需要改动文件的扩展名就行了,但是也存在了一些问题,譬如生成的WOR转载 2013-02-21 11:34:26 · 1111 阅读 · 0 评论 -
Office 用控件制作一份专业合同书 开发借鉴
我们需要用Word 2007做一份采购合同书。它与普通Word文档的不同在于,其中的大部分内容是不需要更改的,甚至不允许更改。另外一些内容,比如涉及到公司的名称、地址、帐号等不允许出错,还包括一些可选的项目等。这种类似网页表单的文本用Word怎样实现呢?请您跟我来,按照下面的步骤一步步熟悉,马上就可以做出一份满足上述要求的合同书,它定会给您以后的工作带来极大方便。 1.建立文档 在转载 2013-02-05 16:02:54 · 746 阅读 · 0 评论 -
以编程方式使用 Word 中的内置对话框
以编程方式使用 Word 中的内置对话框Visual Studio 2012 其他版本 Visual Studio 2010Visual Studio 2008Visual Studio 2005此主题尚未评级-评价此主题使用 Microsoft Office转载 2013-06-17 17:25:53 · 1197 阅读 · 0 评论 -
word中插入页眉页脚
//插入页脚 public void InsertFooter(string footer) { if (ActiveWindow.ActivePane.View.Type == WdViewType.wdNormalView || ActiveWindow.ActivePane.View.Type ==原创 2013-06-17 17:28:29 · 1620 阅读 · 0 评论 -
宿主项和宿主控件概述
转自http://msdn.microsoft.com/zh-cn/library/9z4e3456(VS.80).aspx宿主项和宿主控件概述Visual Studio 2005 其他版本 Visual Studio 2010Visual Studio 2008Visual Studio 2012转载 2013-06-07 00:10:50 · 948 阅读 · 0 评论 -
Office控件开发总结-开发Windows 窗体控件简单概述
1.1. Windows窗体控件的种类及介绍Windows 窗体支持三种用户定义的控件:复合、扩展和自定义。复合控件是通过从 UserControl 类继承创建的控件。复合控件包含与每个包含的 Windows 窗体控件相关联的所有固有功能,允许您有选择地公开和绑定它们的属性。复合控件还提供了大量的默认键盘处理功能,您不需要任何额外的开发。扩展控件是通过从现有的 Windows转载 2013-05-07 09:55:08 · 506 阅读 · 0 评论 -
Office控件开发总结-Office 开发基本知识
在写技术研究报告时,看到的一篇不错的文档,摘抄过来方便以后查阅1.1. Office主互操作程序集(PIA)概述PIA的MSDN的官方定义是“主互操作程序集(PIA)是一个由供应商提供的唯一的程序集。它包含用 COM 实现的类型的类型定义(作为元数据)。只能有一个主互操作程序集(PIA),而且该程序集必须由 COM 类型库的发行者用强名称签名。一个主互操作程序集(PIA)可以包转载 2013-05-07 09:51:58 · 3953 阅读 · 0 评论 -
Office控件开发总结-Office 编程中的常见任务
1.1. 新建工作簿通过 Microsoft Office Excel 中的 Workbooks 集合,可以创建新的工作簿并向新的工作簿中导入数据。但是,由于是以编程方式添加工作簿,因此该工作簿是本机 Microsoft.Office.Interop.Excel.Workbook 对象,并且不具有 Microsoft.Office.Tools.Excel.Workbook 宿主项增加的转载 2013-05-07 09:56:54 · 608 阅读 · 0 评论 -
Office控件开发总结-目录
Office控件开发总结-开发Windows 窗体控件简单概述Office控件开发总结-Office 开发基本知识Office控件开发总结-Office 编程中的常见任务Office控件开发总结-构建Office控件转载 2013-05-07 09:54:18 · 633 阅读 · 0 评论 -
C# office控件 开发环境的导出
http://download.csdn.net/detail/xiaohan2826/5414721原创 2013-05-20 15:07:50 · 681 阅读 · 0 评论 -
C# OleDb读取Excel异常:外部表不是预期的格式 解决方案
环境:win7+iis7+Office2007 在asp.net网站中导出Excel文件后,再把文件导入到数据库中。 读取Excel文件时,打开连接出错。错误为:外部表不是预期的格式解决:检查了一下,导出的Excel是标准文件不是html,没错,Excel文件正常。 调试代码,创建连接对象oleDbConnection也正常,但在conn.Open()打开链接时出错。 仔细看了转载 2013-05-16 16:04:05 · 2048 阅读 · 0 评论 -
c# Excel模板控制 自动换行
在Excel单元格中,我们常常输入文字的时候会发现如果不手动来换行的话,就会超出单元格的宽度,也许会占据其他的B1或者C1的单元格(如下图),当然手动换行相信大家应该知道吧!Excel快捷键“Alt+回车”就是手动换行。这里Word联盟主要来告诉大家如何在Excel中设置“自动换行”,这样一来,我们以后就省去了手动换行这个步骤。 Excel2003中自动换行设置方法 首转载 2013-05-16 18:01:32 · 2955 阅读 · 0 评论 -
C# OleDb读取Excel异常:找不到可安装的ISAM
读取excel数据 到 datagrid 出现:找不到可安装的ISAM 错误:实在没有办法了 就仔细的查看了 一下数据链接字符串:string strConn = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Dir + "\\"+fileName + ";Extended Properties=Excel 8.0;HD转载 2013-05-16 16:05:22 · 1539 阅读 · 1 评论 -
Office控件开发总结-构建Office控件
在写技术研究报告时,看到的一篇不错的文档,摘抄过来方便以后查阅前面主要介绍了Windows控件开发及Office开发相关的知识点,在这篇文章中我们正式来介绍一下如何结合前面的知识点来构建Office控件。1.1. 技术选型开发内嵌在Windows应用程序的Office控件一般有以下三种解决方案:1、通过API把Office的窗口句柄给Windows应用程序;2、通过We转载 2013-05-07 09:57:34 · 763 阅读 · 0 评论 -
c# office控件开发 利用 Content Control (內容控制項)來製作一份表單吧!
繼 [Office 2010 開發系列] 初探 Content Control ( 內容控制項 ) 之應用開發 一文中有提到「內容控制項」,不免俗地也要來先給它應用一下,所以,今天就示範如何使用「內容控制項」來做一份快速又便利的表單文件囉!如果你學會了這項,以後您在寄發「電子版的問卷調查」像這類的文件時,相信你一定會省下不少的時間的喔!※ 內容畫面預覽:--- 這是我們最後完转载 2013-05-11 21:30:14 · 971 阅读 · 0 评论 -
C# office控件编程 书签赋值问题处理
书签的赋值丢失问题//赋值方式一,不存在问题this.b1.Text = ""; //赋值方式二,Range包含了bookmark本身,对它的Text进行赋值会删除掉这个bookmark,所以改变了Text以后要重新再新建一个bookmark。this.b2.Range.Text = ""; 赋值方式二丢失的处理stringbookmarkName = ptcOther原创 2013-05-12 13:50:24 · 708 阅读 · 0 评论 -
Word 或 Excel 的文档级自定义项中“文档操作”任务窗格的自定义用户界面(二)
效果图如下图所示,这个例子只是个引子核心代码如下:word主文档中 UserControl us = new UserControl2(); private void ThisDocument_Startup(object sender, System.EventArgs e) { this.ActionsPane.Co原创 2013-06-06 17:47:41 · 769 阅读 · 0 评论 -
Word 或 Excel 的文档级自定义项中“文档操作”任务窗格的自定义用户界面(一)
http://technet.microsoft.com/zh-cn/subscriptions/microsoft.office.tools.actionspane.aspxActionsPane 接口表示 Word 或 Excel 的文档级自定义项中“文档操作”任务窗格的自定义用户界面。命名空间: Microsoft.Office.Tools转载 2013-06-06 17:10:06 · 2560 阅读 · 0 评论 -
C# word全文检索 查找替换
代码示例一object replaceAll = WdReplace.wdReplaceAll; ThisApplication.Selection.Find.ClearFormatting(); ThisApplication.Selection.Find.Text = "111"; ThisApplication.Selection.Find.Wrap=WdFindWrap.w转载 2013-05-29 17:12:41 · 4057 阅读 · 1 评论 -
C# Excel导入的几种方法
(1) OleDb: 用这种方法读取Excel速度还是非常的快的,但这种方式读取数据的时候不太灵活,不过可以在 DataTable 中对数据进行一些删减修改这种方式将Excel作为一个数据源,直接用Sql语句获取数据了。所以读取之前要知道此次要读取的Sheet(当然也可以用序号,类似dt.Row[0][0]。这样倒是不需要知道Sheet)?if (f转载 2013-05-16 16:02:58 · 1038 阅读 · 0 评论 -
VBA 禁止键盘鼠标输入
这方法可用在执行大量循环时使用,可防止用户干扰。'禁止滑鼠鍵盤輸入Application.Interactive = False程式執行完畢前忘了要啟用'啟用滑鼠鍵盤輸入Application.Interactive = True转载 2013-05-29 18:11:27 · 4100 阅读 · 0 评论 -
C# office 控件编程 动态创建控件需要注意项
场景再现: 例如人员管理,需要动态创建人员信息,开始使用动态创建控件的方式保存值,不存在问题。但是当值保存后,需要通过名称获取时就会遇到读取不到的问题。解决方案:http://msdn.microsoft.com/zh-cn/windows/hardware/cc442765(v=vs.90) 原因:动态控件可以创建和保存数据,但是存在保存之后无法读取的问题,因为:保存原创 2013-05-14 11:04:41 · 741 阅读 · 0 评论