Word 2010
勾吴江南
志异征诛,三让两家王朝;
功同开辟,一桮万古江南。
展开
-
VBA隐藏Word表格行
Sub test() ActiveDocument.Tables(1).Rows(2).Range.Font.Hidden = TrueEnd Sub文档中的第一个表格的第二行将被隐藏。欢迎访问《许阳的红泥屋》原创 2012-08-08 11:51:48 · 1728 阅读 · 0 评论 -
在Word文档中迭代CustomXmlDocument
以下代码是一个VBA Form中的,用来迭代CustomXmlDocument。Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)End SubPrivate Sub UserForm_Activate() Dim oCustXMLPart As CustomXMLPart Dim oNode As Cu原创 2012-07-31 10:35:19 · 1125 阅读 · 0 评论 -
一个WinWord Bug
重现步骤:当你打开一个新文档,键入"TEST TEST TEST "后保存,你会发现Words个数不是3而是5。(在Word2010上已经重现)。欢迎访问《许阳的红泥屋》原创 2012-08-21 10:21:39 · 508 阅读 · 0 评论 -
Word InsertSymbolDialog Bug
在2007以后的Word下版中,你会发现InsertSymoblDialg的返回值永远是-1,不管你怎么操作都会向文档插入点什么。欢迎访问《许阳的红泥屋》原创 2012-09-02 19:05:00 · 511 阅读 · 0 评论 -
一个用PowerShell打开文档并将其另存为的脚本
$wdApp = New-Object -Com Word.Application$wdApp.Visible = $true$File1 = '*****************************'$File2 = '*****************************'$wdDoc = $wdApp.Documents.Open($File1)$wdFormatDocum原创 2012-09-07 12:29:40 · 1905 阅读 · 2 评论 -
用CLR C++ 创建一个Word文档并画一张带表格线的表
#pragma once#define Word Microsoft::Office::Interop::Wordnamespace WordTableBoards { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; usin原创 2012-09-20 15:01:24 · 3899 阅读 · 0 评论 -
在Word文档中连继用代码添两个表的方法
【要点】:在Word中添加两个表时中间必须空出一行,否则这两个表会合并成一个表。另外,当用代码添加完第一个表后必须将光标移出表格,否则第二个表格会套嵌在第一个表格中。以下是代码:Public Class ThisDocument Private Sub ThisDocument_Startup() Handles Me.Startup Dim R1 As原创 2012-10-12 16:36:59 · 983 阅读 · 0 评论 -
Word文档用代码移除Header
在PIA中Microsoft 似乎没有给出移除Header的方法。在实践中我发现下面代码能做到这一点: Dim wdApp As Word.Application Dim wdDoc As Word.Document Dim wdSection As Word.Section wdApp = Globals.ThisDocument.原创 2012-11-07 12:24:24 · 1103 阅读 · 0 评论 -
VBA Word CustomXMLPart 中在指定的Node"前添加Node
网上我看见有人想用InsertNodeBefore来实现这个想法。代码如下:Sub HowDoesInsertNodeBeforeWork()Dim oCXPart As CustomXMLPartDim oCXNode As CustomXMLNodeDim strXML As StringstrXML = "" _ & "" _ & "Ham原创 2012-11-26 17:29:56 · 1165 阅读 · 0 评论 -
CLR C++ Set Word CustomDocumentProperties
// WordIssue.cpp : main project file.#include "stdafx.h"using namespace System;using namespace System::Reflection;#define Office Microsoft::Office#define Word Office::Interop::Word#define Core原创 2012-12-04 13:43:07 · 993 阅读 · 0 评论 -
调用COM新建一个空白文档并加入链接
// AddHyperLinkViaCom.cpp : Defines the entry point for the console application.//#include "stdafx.h"HRESULT AutoWrap(int autoType, VARIANT *pvResult, IDispatch *pDisp, LPOLESTR ptName, int cAr原创 2012-12-28 09:11:32 · 1261 阅读 · 0 评论 -
在Word 中用C#查找Wingdings符号
在Word我们通常在VBA或VB.NET环境下以如下方式查找Wingdings符号: Dim wdApp As Word.Application = Globals.ThisDocument.Application Dim wdDoc As Word.Document = wdApp.ActiveDocument Dim wdRange As Wo原创 2012-12-31 15:10:31 · 2330 阅读 · 0 评论 -
动态内容控件应用(一)
例程目的:在一个表格中,当选择"None"前的CheckBox后,表格中的其他CheckBox会消失(以防错选)。当取消选择后CheckBox会重新出现。如图:说明:此前必须将"None"前CheckBox的Title设定为"None"。Option ExplicitPrivate Sub Document_ContentControlOnEnter(ByVal Con原创 2013-01-24 13:06:33 · 942 阅读 · 0 评论 -
Word 刚启动是写在add-in中的NewDocument事件为什么不会被触发
因为NewDocument事件结束在ThisAddIn_Startup方法之前,也就是说在NewDocument事件被订阅之前这个事件就已经执行完毕了。原创 2013-02-05 09:44:59 · 768 阅读 · 0 评论 -
一个统计Word文档中行数的VBA例程
这是一个计算Word中文档行数的例程(表格中的行数不算)。 Sub test() Dim i As Integer Dim t As Table i = ActiveDocument.range.ComputeStatistics(wdStatisticLines) For Each t In ActiveDocument.Tables原创 2012-07-02 19:23:13 · 4780 阅读 · 1 评论 -
Word中自定义“撤销记录”(UndoRecord)的使用
在Word中用户可以通过UndoRecord来记录一组动作,并显示在撤销菜单内。这样可以让用户一次性删除大量的操作。下面的代码是在Visual Studio 2010, Word 2010 下建立的一个示例:using System;using System.Collections.Generic;using System.Linq;using System.Text;using Mi原创 2012-06-28 11:34:12 · 1476 阅读 · 0 评论 -
C# 在文档光标处插入文字后光标移至被插入文字后
实现环境:Visual Studio 2010, VSTO 4.0, Office 2010.using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Office.Tools.Ribbon;using Word = Microsoft.Offic原创 2011-11-30 16:47:20 · 2792 阅读 · 0 评论 -
OpenXml SDK 2.0 创建Word文档——最简化的版本
using (WordprocessingDocument objWordDocument = WordprocessingDocument.Create(@"C:\********.docx", WordprocessingDocumentType.Document)) { MainDocumentPart objMainDocumentP原创 2011-11-21 16:30:13 · 1665 阅读 · 1 评论 -
OpenXml SDK 2.0 创建Word 2010文档(不带[Compatibility])最简代码
using (WordprocessingDocument objWordDocument = WordprocessingDocument.Create(@"C:\******.docx", WordprocessingDocumentType.Document)) { MainDocumentPart objMainDocumentPar原创 2011-11-21 16:41:23 · 1303 阅读 · 0 评论 -
关于向Word文档中的RichText控件插入rtf内容的问题
在OpenXml format 的Word 文档中,似乎没有直接插入rtf格式的方法。如果需要插入rtf的内容只有预先将rtf的内容转换成Word的表现格式然后放在不同的节点下(有些需要放在StyleDefinitionsPart底下有些则做为Run的RunProperties)。原创 2011-12-21 14:40:43 · 2108 阅读 · 0 评论 -
如果的打开Word文档是Visible参数设为false你会得不到Selection实体
以下是异常重现代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.D原创 2011-12-21 13:25:48 · 1818 阅读 · 0 评论 -
用OpenXml在文档的尾部添加一个Rich Text Content Control/Plain Text Content Control
实现环境:Visual Studio 2010, OpenXml SDK 2.0using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;us原创 2011-12-28 11:39:03 · 1320 阅读 · 0 评论 -
使用VSTO向Word文档中添加数学公式
这是个极其简单的实例,用来向Word文档中添加一个数学汇总公式。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using Sy原创 2012-02-09 12:49:51 · 2102 阅读 · 1 评论 -
Word add-in 通过ConfigurationManager读取configuration文件的方法
在一般的application中我们是这样读取configuration文件的Dim DBconfig As System.Configuration.Configuration = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLev原创 2012-03-26 13:48:12 · 888 阅读 · 0 评论 -
免费的Html转rtf方法
Dim reportWebBrowser As New WebBrowser reportWebBrowser.CreateControl() reportWebBrowser.DocumentText = sbHTMLDoc.ToString While reportWebBrowser.DocumentText <> sbHTMLDoc.ToString原创 2012-04-24 14:48:48 · 2056 阅读 · 0 评论 -
WdWordDialog.wdDialogContentControlProperties 使用
Dialog newDialog = wordApplication.Dialogs[WdWordDialog.wdDialogContentControlProperties]; newDialog.Show(); 如果没有ContentControl被选中,上面代码会报错。原创 2012-04-16 13:10:45 · 700 阅读 · 0 评论 -
Selection.CopyAsPicture 只是用来拷贝图片而不是将文字转化为图片
在工作中有客户问下面的代码为什么会返回false。Word.Selection wdSelection = Application.Selection;Clipboard.Clear();Application.ActiveWindow.Selection.SetRange(Application.ActiveDocument.Bookmarks["\\Page"].Range.S原创 2012-06-05 12:55:25 · 3527 阅读 · 0 评论 -
Word中关于Table的alt text的编程问题
在Word中Table属性对话框上有一个alt text的标签,其下有Title和Description两个项目。然后再底部有Alertnative Text云云。许多人就被这个Alertnative Text给糊弄了,以为Table下有AlertnativeText属性。在发现Table下没有AlertnativeText属性后认为可能是在Table.Range.InlineShapes[ind原创 2012-06-20 15:53:34 · 1543 阅读 · 0 评论 -
从Word文档中修改Excel Chart的内容
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using log4net;using Microsoft.Office.Core;using Word = Microsoft.Office.Interop.Word原创 2012-07-05 14:35:48 · 1928 阅读 · 0 评论 -
Word 下取消高亮度显示
以下VBA代码会高亮度显示“Microsoft Word”Sub HighLight()Dim rang As RangeDim fnd As FindSet rang = ActiveDocument.RangeSet fnd = rang.Findfnd.Text = "Microsoft Word"fnd.MatchWholeWord = Truefnd.HitHighl原创 2012-06-22 14:34:00 · 6390 阅读 · 1 评论 -
当宏打开Word文档时DocumentOpen事件不触发的问题分析
DocumentOpen事件是一个Word.Application级的事件。在能触发这个事件前我们必须先订阅这个事件。一般情况下我们会在Add-in的ThisAddIn_Startup方法中订阅这个事件(在Document-level应用中我们会在ThisDocument_Startup方法中订阅这个事件)。所以如果要事件被触发就必须满足”ThisAddIn_Startup”或”ThisDocum原创 2012-06-25 15:39:38 · 2582 阅读 · 0 评论 -
在控制台程序中Application.Documents.Open方法失效
这个可能跟DCOM的设定有关。请尝试以下步骤去解决它:打开dcomcnfg.exe->Computer->Local Computer->Config DOCOM->搜索Microsoft Word 97-2003 Document->Properties->Identity->把Launching User改为Interactive User原创 2013-02-12 16:46:38 · 1503 阅读 · 0 评论