精华内容
下载资源
问答
  • Word Embedding 知识总结

    万次阅读 多人点赞 2019-04-15 12:44:26
    一. Word Embedding的基本概念 1.1 什么是Word Embedding?...如果将word看作文本的最小单元,可以将Word Embedding理解为一种映射,其过程是:将文本空间中的某个word,通过一定的方法,映射或者说嵌入(embe...

    一 Word Embedding的基本概念

    • 1.1 什么是Word Embedding?
      现有的机器学习方法往往无法直接处理文本数据,因此需要找到合适的方法,将文本数据转换为数值型数据,由此引出了Word Embedding的概念。如果将word看作文本的最小单元,可以将Word Embedding理解为一种映射,其过程是:将文本空间中的某个word,通过一定的方法,映射或者说嵌入(embedding)到另一个数值向量空间(之所以称之为embedding,是因为这种表示方法往往伴随着一种降维的意思,详见下文的讨论)。

    • 1.2 Word Embedding的输入
      Word Embedding的输入是原始文本中的一组不重叠的词汇,假设有句子:apple on a apple tree。那么为了便于处理,我们可以将这些词汇放置到一个dictionary里,例如:[“apple”, “on”, “a”, “tree”],这个dictionary就可以看作是Word Embedding的一个输入。

    • 1.3 Word Embedding的输出
      Word Embedding的输出就是每个word的向量表示。对于上文中的原始输入,假设使用最简单的one hot编码方式,那么每个word都对应了一种数值表示。例如,apple对应的vector就是[1, 0, 0, 0],a对应的vector就是[0, 0, 1, 0],各种机器学习应用可以基于这种word的数值表示来构建各自的模型。当然,这是一种最简单的映射方法,但却足以阐述Word Embedding的意义。下文将介绍常见的Word Embedding的方法和优缺点。

    二 Word Embedding的类型

    Word Embedding也是有流派的,主流有以下两种:
    (1)基于频率的Word Embedding(Frequency based embedding)
    (2)基于预测的Word Embedding(Prediction based embedding)

    • 2.1 基于频率的Word Embedding

      基于频率的Word Embedding又可细分为如下几种:

      Count Vector
      TF-IDF Vector
      Co-Occurence Vector

      其本质都是基于one-hot表示法的,以频率为主旨的加权方法改进,下面逐一介绍。

    • 2.1.1 Count Vector
      假设有一个语料库C,其中有D个文档:{d1, d2, …, dD},C中一共有N个word。这N个word构成了原始输入的dictionary,我们据此可以生成一个矩阵M,其规模是D X N。

      假设语料库内容如下:
      D1: He is a boy.
      D2: She is a girl, good girl.
      那么可以构建如下2 × 7维的矩阵:
      在这里插入图片描述
      该矩阵便是一个counter vector matrix。每个文档用词向量的组合来表示,每个词的权重用其出现的次数来表示。
      当然,如果语料库十分庞大,那么dictionary的规模亦会十分庞大,因此上述矩阵必然是稀疏的,会给后续运算带来很大的麻烦。通常的做法是选取出现次数最频繁的那些词来构建dictionary(例如,取top 1000个词),这样会有效缩减上述矩阵的规模。

    • 2.1.2 TF-IDF
      上一小节中,在构建词的权重时,只考虑了词频TF(Term Frequncy),也就是词在单个文档中出现的频率。直觉上来看,TF越大,说明词在本文档中的重要性越高,对应的权重也就越高。这个思路大体上来说是对的,例如,对于一个主题是Cat的文档,显然Cat这个词汇在本文档中的出现频率会相对高。

      但如果我们把视野扩展到整个语料库,会发现,像is,a等通用词汇,几乎在每个文档里出现的频率都很高。由此,我们可以得到这样的结论:对于一个word,如果在特定文档里出现的频率高,而在整个语料库里出现的频率低,那么这个word对于该文档的重要性就比较高。因此我们可以引入逆文档频率IDF(Inverse Document Frequency)的概念:IDF=log(N/n)。其中,N代表语料库中文档的总数,n代表某个word在几个文档中出现过;当一个word出现地越频繁,那么IDF就越小。显然,IDF用于惩罚那些常用词汇,而TF用于奖励那些在特定文档中出现频繁的词汇。二者的乘积TF X IDF用来表示词汇的权重,显然合理性大大增强。

      举例:
      语料库中共有2个文档,其中有一个文档名为d。
      共有1个文档出现了cat这个词汇;且在特定文档d中,共有8个词汇,cat出现了4次。
      共有2个文档出现了is这个词汇;且在特定文档d中,共有8个词汇,is出现了4次。
      那么根据定义,可以得到:
      在这里插入图片描述
      可见,TFIDF算法极大地惩罚了is这个词汇,从而增加了权重设置的合理性。

    • 2.1.3 Co-Occurence Vector
      本文最开头有所提及,自然语言一大特色是语义和上下文。有如下著名的研究结果:相似的单词趋向于有相似的上下(context)。

      举例:
      那个人是个男孩。
      那个人是个女孩。
      男孩和女孩从概念上来说相似,他们也具有相似的上下文。
      根据如上思想,我们可以构建一套算法,来实现基于上下文的特征构建。

      这里需要引入两个概念:
      Context Window:
      上面我们提到了context,但context的长度需要有一个界定,也就是说,对于一个给定的word,需要有一个Context Window大小的概念。
      在这里插入图片描述
      如上图所示,如果指定Context Window大小为2,范围为前后两个word,那么对于such这个词,它的Context Window如上图所示。

      Co-Occurence(共现):
      有了Context Window的概念,Co-Occurence就好理解了。对于such这个单词来说,在其上下文窗口内,它分别与[she, is, a, beautiful]这四个单词各出现了一次共现。如果我们在语料库中所有such出现的地方,计算其共现的单词,并按次数累加,那么我们就可以利用其上下文范围内的单词来表示such这个词,这就是Co-Occurence Vector的计算方法。.
      假设有如下语料库:
      He is not lazy. He is intelligent. He is smart.
      如果Context Window大小为2,那么可以得到如下的共现矩阵:
      在这里插入图片描述
      我们可以看看He和is的共现次数4是如何计算出来的:
      在这里插入图片描述
      显然地,直接使用共现矩阵,也会存在维数过大的问题,通常可以采取矩阵分解等手段来进行降维优化,在此不做深入讨论。
      共现矩阵最大的优势是这种表示方法保留了语义信息,例如,通过这种表示,就可以知道,man和woman是更加接近的,而man和apple是相对远的。相比前述的两种方法,更具有智能的味道。

    • 2.2 基于预测的Word Embedding
      从上文2.1.3节中已经得知,词的表示中如果蕴含了上下文信息,那么将会更加接近自然语言的本质;并且,由于相似的词有相似的表示方法,甚至可以进行一些运算,例如:人类-男人=女人。但是,上述讨论中,有一个很大的缺陷,那就是词的向量表示维度过大,一个词要用大量其余的词来表示,为后续运算带来了很大的麻烦。因此,我们需要找到一种更好的表示方法,这种方法需要满足如下两点要求:
      (1)携带上下文信息
      (2)词的表示是稠密的
      事实证明,通过神经网络来进行建模,可以满足这两点要求。主流的建模方法又有两种:CBOW和Skip – Gram,下面分别介绍其思想。

    • 2.2.1 CBOW(continues bag of words)
      CBOW的全称是continuous bag of words。其本质是通过context来预测word。
      在这里插入图片描述
      如上图所示,首先语料库内的每个word都可以用one-hot的方式编码。假设选取Context Window为2,那么模型中的一对input和target就是:
      (1)input:He和is的one-hot编码
      (2)target:a的one-hot编码
      接着通过一个浅层神经网络来拟合该结果,如下图所示:
      在这里插入图片描述
      过程简单介绍如下(实际算法会用到哈夫曼编码等降维技巧,这里仅以理解为目的简介基本原理):
      (1)输入为C个V维的vector。其中C为上下文窗口的大小,V为原始编码空间的规模。例如,示例中的C=2,V=4.两个vector分别为4维的He和is的one-hot编码形式;
      (2)激活函数相当简单,在输入层和隐藏层之间,每个input vector分别乘以一个VxN维度的矩阵,得到后的向量各个维度做平均,得到隐藏层的权重。隐藏层乘以一个NxV维度的矩阵,得到output layer的权重;
      (3)隐藏层的维度设置为理想中压缩后的词向量维度。示例中假设我们想把原始的4维的原始one-hot编码维度压缩到2维,那么N=2;
      (4)输出层是一个softmax层,用于组合输出概率。所谓的损失函数,就是这个output和target之间的的差(output的V维向量和input vector的one-hot编码向量的差),该神经网络的目的就是最小化这个loss;
      (5)优化结束后,隐藏层的N维向量就可以作为Word-Embedding的结果。
      如此一来,便得到了既携带上下文信息,又经过压缩的稠密词向量。

    • 2.2.2 Skip – Gram
      Skip-Gram模型可以认为是CBOW的一个网络翻转。CBOW建模的出发点是利用context预测word。Skip-Gram模型的目的则是通过word来预测context。其目的都是为了通过构建一个神经网络模型来获取压缩后的词向量。这里不再详述。

    三 Word Embedding的应用

    现今流行的Word Embedding算法携带了语义信息且维度经过压缩便于运算,因此有了很多用武之地,例如:

    • 计算相似度,比如man和woman的相似度比man和apple的相似度高;
    • 在一组单词中找出与众不同的一个,例如在如下词汇列表中:[dog, cat, chicken, boy],利用词向量可以识别出boy和其他三个词不是一类;
    • 直接进行词的运算,例如经典的:woman+king-man =queen;
    • 由于携带了语义信息,还可以计算一段文字出现的可能性,也就是说,这段文字是否通顺。

    本质上来说,经过Word Embedding之后,各个word就组合成了一个相对低维空间上的一组向量,这些向量之间的远近关系则由他们之间的语义关系决定。

    链接:[https://www.jianshu.com/p/2a76b7d3126b]

    展开全文
  • 防火重点知识归纳,不错,word o(∩_∩)o...还要这么多字
  • Word 知识点汇总 一各试题具体考点汇总 字体设置 段落设置 图片 页面设置 表格 字体 颜色 加粗 下划线 居中 阴影 段 前 段 后 间 首行缩进 距 分散 / 两端 对齐 行距 插入 环绕方式 大小尺寸 上 下 左 右 边 距 纸张...
  • 【导语】在事业单位考试中,计算机专业知识的复习向来是考生复习备考阶段的一大重点,中公教育河南人事考试网为计算机基础知识的复习为考生提供知识点梳理,帮助考生备考!一、Word中的“自动求和”(一)在“工具”...

    【导语】在事业单位考试中,计算机专业知识的复习向来是考生复习备考阶段的一大重点,中公教育河南人事考试网为计算机基础知识的复习为考生提供知识点梳理,帮助考生备考!

    一、Word中的“自动求和”

    (一)在“工具”菜单中,单击“自定义”命令。

    (二)选择“命令”选项,在“类别”框中,单击“表格”;在“命令”框中,找到并单击“自动求和”,然后用左键将它拖放到常用工具栏中的适当位置。

    二、Word中的快速“粘贴”

    在Word2000/2002中要进行粘贴操作时,最常用的是按“粘贴”或按快捷键Ctrl+V。其实还有另一种方法更方便。执行菜单命令“工具→选项”,在打开的对话框中单击“编辑”选项,单击“用Insert键粘贴”前的复选框,之后再单击“确定”按钮来关闭该对话框即可。以后再需要执行粘贴操作时,只要按一下键盘上的Insert键就能快捷实现粘贴了。

    三、快速转换英文字母的大小写

    编辑文档时,如果需要将以前输入的英文单词或句子由小写转换为大写,或由大写转换为小写,只要把光标定位到句子或单词的字母中,然后同时按下“Shfit+F3”快捷键,此时如果原来的英文字母是小写的,就会先把句子或单词的第一个字母变为大写,再按一次快捷键,现在可以发现整个句子或单词的字母都变为大写了,再按一次就变回小写,每按一次快捷键字母的变化依此类推。

    四、快速打印快捷键列表

    单击“工具”菜单,选择“宏”子菜单中的“宏”命令。弹出宏设置窗口,在“宏的位置”下拉框中,选择“Word命令”项。在“宏名”框中,单击“ListCommands”命令。单击右边的“运行”按钮。这时弹出“命令列表”对话框,单击“当前键盘设置”单选钮,单击“确定”按钮。这时Word自动创建了一个新文档,里面就是所有快捷键信息。最后只须单击“文件”菜单中的“打印”命令即可打印出来以备查询。

    五、变化公式颜色

    用公式编辑器先编辑好一个公式,选中它,点击“绘图工具栏”中的“阴影设置”按钮,选择其中的“阴影样式18”,然后再次点击“阴影设置”按钮中的“阴影设置”选项,弹出“阴影设置”工具栏。点击最右侧“阴影颜色”倒三角,打开调色板,选择合适的颜色。然后用中间的四个按钮,小心调整阴影的位置,使阴影与公式重合即可。

    郑州事业单位招考交流QQ群:334509586欢迎关注:377d5e610d852fa6fb670388582f0916.gif3ce1f88aa0e4841de071d66c0601a444.png

    加群后,修改群名片为:中公-地区-昵称

    展开全文
  • 计算机基础知识Word常用操作(一)【导语】在事业单位考试中,计算机专业知识的复习向来是考生复习备考阶段的一大重点,河南人事考试网为计算机基础知识的复习为考生提供知识点梳理,帮助考生备考!一、去除页眉的...

    9f3c9869ce95dcfef449c7a608ba0bad.png

    计算机基础知识:Word常用操作(一)【导语】在事业单位考试中,计算机专业知识的复习向来是考生复习备考阶段的一大重点,河南人事考试网为计算机基础知识的复习为考生提供知识点梳理,帮助考生备考!

    一、去除页眉的横线

    (一)选中页眉的内容后,选取“格式”选项,选取“边框和底纹”,边框设置选项设为“无”,“应用于”处选择“段落”,点击确定。

    (二)当设定好页眉的文字后,鼠标移向“样式”框,在“字体选择”框左边,把样式改为“页脚”、“正文样式”或“清除格式”。

    二、快速选择字体

    首先在Word的工具栏上单击鼠标右键,在右键菜单中选择最后一项“自定义”。然后在出现的自定义编辑界面中选中“命令”选项卡,再选择“类别”中的“字体”项。最后从右边列出的Windows已安装的字体中,选择常用的字体并用鼠标直接将它拖曳到工具栏上,在以后的使用中可以快速选择所需要的字体。

    三、清除文档中多余空行

    在Word中打开编辑菜单,单击“替换”,在弹出的“查找和替换”窗口中,单击“高级”按钮,将光标移动到“查找内容”文本框,然后单击“特殊字符”按钮,选取“段落标记”,当“^p”出现在文本框内,再同样输入一个“^p”,在“替换为”文本框中输入“^p”,即用“^p”替换“^p^p”,然后选择“全部替换”。

    四、同时保存所有打开的文档

    按下Shift键的同时,单击“文件”菜单,在“同时保存”和“同时关闭”命令下选择。

    五、设置文档保护

    执行“工具”菜单中的“保护文档”命令,在弹出的窗口中选择“保护窗体”,然后设上密码。这时移动鼠标、敲击键盘就无法对文档实行编辑了,当执行“工具”菜单中的“解除文档保护”命令,文档编辑恢复正常。

    六、取消超级链接

    在Word中单击“工具→自动更正选项”,单击“键入时自动套用格式”选项,将“Internet 及网络路径替换为超级链接”项目前的小钩取消。再单击“自动套用格式”选项,将“Internet 及网络路径替换为超级链接”项目前的小钩取消,再单击“确定”。

    华图官方面试备考课程购买入口:http://www.doczj.com/doc/6371a5f68e9951e79b892787.html/RAOVaej

    展开全文
  • Word表格之VBA知识

    千次阅读 多人点赞 2019-01-28 13:56:10
    Table对象(因为是对象,...下面是Table的常用方法(注意是部分,不是全部,只例出重要的方法,下面的属性皆如此,如果详细面全部的了解,请看Word VBA自带的帮助。VBAWD10.chm) 使用Table对象 可使用 Tables(...

    Table对象(因为是对象,所以用Set赋值)

    该对象代表一个单独的表格。Table 对象是Tables集合的一个成员。Tables集合包含了指定的选定内容范围文档中的所有表格

    下面是Table的常用方法(注意是部分,不是全部,只例出重要的方法,下面的属性皆如此,如果详细面全部的了解,请看Word VBA自带的帮助。VBAWD10.chm)

    使用Table对象

    可使用 Tables(index) 返回一个 Table 对象,其中 index 为索引号。索引号代表选定内容、范围或文档中表格的位置。下例将活动文档中的第一个表格转换为文本。

    ActiveDocument.Tables(1).ConvertToText Separator:=wdSeparateByTabs

    使用Add方法可以在指定范围内新增一表格。下例在活动文档的起始处添加一 3 x 4 表格。

    Set myRange = ActiveDocument.Range(Start:=0, End:=0)

    ActiveDocument.Tables.Add Range:=myRange, NumRows:=3, NumColumns:=4

    Cell 方法

    返回一个 Cell 对象,该对象代表表格中的一个单元格

    expression.Cell(Row, Column)

    expression      必需。该表达式返回一个Table对象。

    Row   Long 类型,必需。指返回的表格行数。可以是介于 1 和表格行数之间的任意整数。

    Column    Long 类型,必需。指返回的表格单元格数目。可以是介于 1 和表格列数之间的任意整数。

    示例

    本示例在新文档中创建一个 3x3 表格,并在表格的第一个和最后一个单元格中插入文本。

    Dim docNew As Document

    Dim tableNew As Table

    Set docNew = Documents.Add

    Set tableNew = docNew.Tables.Add(Selection.Range, 3, 3)

    With tableNew

        .Cell(1,1).Range.InsertAfter "First cell"

        .Cell(tableNew.Rows.Count, _

            tableNew.Columns.Count).Range.InsertAfter "Last Cell"

    End With

    本示例删除活动文档的第一个表格中的第一个单元格的内容。

    If ActiveDocument.Tables.Count >= 1 Then

        ActiveDocument.Tables(1).Cell(1, 1).Delete

    End If

    Split 方法

    在表格中紧靠指定行的上面插入一空段落,并且返回一个 Table 对象,此对象包含指定行及其下一行。(简单的的理解:就是指向拆分后的下面的表格,不清楚也没关系,看下面的例子。)

    expression.Split(BeforeRow)

    expression      必需。该表达式返回一个 Table 对象。

    BeforeRow     Variant 类型,必需。将要拆分的表格的前一行。可以为 Row 对象或行号。

    本示例在活动文档(应试是新建文档)中创建一张 5x5 的表格,并且在第三行之前进行拆分。然后为结果表格(新的 3x5 表格)的单元格添加底纹。

    Set newDoc = Documents.Add

    Set myTable = ActiveDocument.Tables.Add(Range:=Selection.Range, _

        NumColumns:=5, NumRows:=5)

    myTable.Split(BeforeRow:=myTable.Rows(3)).Shading _

        .Texture = wdTexture10Percent

    Table属性

    Range 属性

    本示例复制表格 1 中的首行。

     

    If ActiveDocument.Tables.Count >= 1 Then _

        ActiveDocument.Tables(1).Rows(1).Range.Copy

    End if

    Borders 属性

    该属性返回一个 Borders 集合,该集合代表指定对象的所有边框。

    expression.Borders

    expression      必需。该表达式返回“应用于”列表中的一个对象。

    示例

    本示例对活动文档中的第一个表格应用内部和外部边框。

    Set myTable = ActiveDocument.Tables(1)

    With myTable.Borders

        .InsideLineStyle = wdLineStyleSingle

        .OutsideLineStyle = wdLineStyleDouble

    End With

    Columns 属性

    返回一个 Columns 集合,该集合代表在某一区域、所选内容或表格中所有表格列。只读

    示例

    本示例显示活动文档的第一个表格中的列数。

    If ActiveDocument.Tables.Count >= 1 Then

        MsgBox ActiveDocument.Tables(1).Columns.Count

    End If

    本示例将当前列的宽度设置为 1 英寸。

    If Selection.Information(wdWithInTable) = True Then

        Selection.Columns.SetWidth ColumnWidth:=InchesToPoints(1), _

            RulerStyle:=wdAdjustProportional

    End If

    Rows 属性

    该属性返回一个 Rows 集合,该集合代表某个范围、所选部分或表格中所有的表格行。只读。

    本示例删除活动文档第一个表格的第二行。

    ActiveDocument.Tables(1).Rows(2).Delete

    本示例为插入点所在行的各单元格设置边框。

    Selection.Collapse Direction:=wdCollapseStart

    If Selection.Information(wdWithInTable) = True Then

        Selection.Rows(1).Borders.OutsideLineStyle =  wdLineStyleSingle

    Else

        MsgBox "The insertion point is not in a table."

    End If

    Column 对象

    代表单个表格列。Column 对象是 Columns 集合的一个元素。Columns 集合包括某一表格、选定内容或区域中的所有列。

    使用 Column 对象

    使用 Columns(index) 可返回单独的 Column 对象,其中 index 为索引序号。索引序号代表该列在 Columns 集合中的位置(从左至右计算)

    下列示例选定活动文档中的表格 1 的第一列。

    ActiveDocument.Tables(1).Columns(1).Select

    用 Cell 对象的 Column 属性可返回一个 Column 对象。下列示例删除单元格 1 中的文字,插入新文字,然后对该列进行排序。

    With ActiveDocument.Tables(1).Cell(1, 1)

        .Range.Delete

        .Range.InsertBefore "Sales"

        .Column.Sort

    End With

    用 Add 方法可在表格中添加一列。下列示例为活动文档的第一张表格中添加一列,然后将列宽设置为相等。

    If ActiveDocument.Tables.Count >= 1 Then

        Set myTable = ActiveDocument.Tables(1)

        myTable.Columns.Add BeforeColumn:=myTable.Columns(1)

        myTable.Columns.DistributeWidth

    End If

    说明

    用 Selection 对象的 Information 属性可返回当前列号。下列示例选定当前列并在消息框中显示其列号。

    If Selection.Information(wdWithInTable) = True Then

        Selection.Columns(1).Select

        MsgBox "Column " _

            & Selection.Information(wdStartOfRangeColumnNumber)

    End If

    Cell 对象

    代表单个表格单元格。Cell 对象是 Cells 集合中的元素。Cells 集合代表指定对象中所有的单元格。

    使用 Cell 对象

    用 Cell(row, column) 或 Cells(index)可返回 Cell 对象,其中 row 为行号,column 为列号,index 为索引序号。下列示例给第一行的第二个单元格加底纹。

    Set myCell = ActiveDocument.Tables(1).Cell(Row:=1, Column:=2)

    myCell.Shading.Texture = wdTexture20Percent

    下列示例给第一行的第一个单元格加底纹。

    ActiveDocument.Tables(1).Rows(1).Cells(1).Shading _

        .Texture = wdTexture20Percent

    用 Add 方法可在 Cells 集合中添加 Cell 对象。也可用 Selection 对象的 InsertCells 方法插入新单元格。下列示例在 myTable 的第一个单元格之前插入一个单元格。

    Set myTable = ActiveDocument.Tables(1)

    myTable.Range.Cells.Add BeforeCell:=myTable.Cell(1, 1)

    本示例将第一个表格的头两个单元格设定为一个域 (myRange)。区域设定之后,用 Merge 方法合并两个单元格。

    Set myTable = ActiveDocument.Tables(1)

    Set myRange = ActiveDocument.Range(myTable.Cell(1, 1) _

        .Range.Start, myTable.Cell(1, 2).Range.End)

    myRange.Cells.Merge

    说明

    使用带 Rows 或 Columns 集合的 Add 方法添加一行或一列单元格。

    使用 Selection 对象的 Information 属性返回当前行号和列号。下面的示例改变选中部分第一个单元格的宽度,再显示单元格的行号和列号。

    If Selection.Information(wdWithInTable) = True Then

        With Selection

            .Cells(1).Width = 22

            MsgBox "Cell " & .Information(wdStartOfRangeRowNumber) _

                & "," & .Information(wdStartOfRangeColumnNumber)

        End With

    End If

    Row 对象

    代表表格的一行。Row 对象是 Rows 集合中的一个元素。Rows 集合包括指定部分、区域或表格中的所有行。

    使用 Row 对象

    用 Rows(index) 可返回单独的 Row 对象,其中 index 为索引序号。索引序号代表该行在选定部分、区域或表格中的位置。下列示例删除活动文档中第一张表格的首行。

    ActiveDocument.Tables(1).Rows(1).Delete

    用 Add 方法可在表格中添加行。下列示例在选定部分首行前插入一行。

    If Selection.Information(wdWithInTable) = True Then

        Selection.Rows.Add BeforeRow:=Selection.Rows(1)

    End If

    说明

    用 Cells 属性可修改 Row 对象中的单个单元格。下列示例在选定部分中添加一张表格,并在表格第二行的各单元格内插入数字。

    Selection.Collapse Direction:=wdCollapseEnd

    If Selection.Information(wdWithInTable) = False Then

        Set myTable = _

            ActiveDocument.Tables.Add(Range:=Selection.Range, _

            NumRows:=3, NumColumns:=5)

        For Each aCell In myTable.Rows(2).Cells

            i = i + 1

            aCell.Range.Text = i

        Next aCell

    End If

    访问表格行或列时产生的错误

    如果要访问绘制表格中单独的行或列,而该表格又不统一,则会产生一个运行时错误。例如,如果活动文档中第一张表格的每列中具有不同数量的行,则使用下列指令将导致出错。

    Sub RemoveTableBorders()

        ActiveDocument.Tables(1).Rows(1).Borders.Enable = False

    End Sub

    要避免这种错误可首先使用 SelectColumn  SelectRow 方法选定一列或一行中的单元格。选定单元格后,再使用 Selection 对象的 Cells 属性。下列示例选定第一张文档表格中的第一行。Cells 属性用于访问选定的单元格(第一行中的所有单元格)以删除边框。

    Sub RemoveTableBorders()

        ActiveDocument.Tables(1).Cell(1, 1).Select

        With Selection

            .SelectRow

            .Cells.Borders.Enable = False

        End With

    End Sub

    下列示例选定第一张文档表格的第一列。For Each...Next 循环语句用于在所选内容(第一列中的所有单元格)的每个单元格中添加文字。

    Sub AddTextToTableCells()

        Dim intCell As Integer

        Dim oCell As Cell

        ActiveDocument.Tables(1).Cell(1, 1).Select

        Selection.SelectColumn

        intCell = 1

        For Each oCell In Selection.Cells

            oCell.Range.Text = "Cell " & intCell

            intCell = intCell + 1

        Next oCell

    End Sub

    处理表格

    创建一张表格,插入文字,并应用格式

    下列示例在活动文档的开头插入一张 4 列 3 行的表格。For Each...Next 结构用于循环遍历表格中的每个单元格。在 For Each...Next 结构中,InsertAfter 方法用于将文字添至表格单元格(单元格 1、单元格 2、以此类推)。

    Sub CreateNewTable()

        Dim docActive As Document

        Dim tblNew As Table

        Dim celTable As Cell

        Dim intCount As Integer

        Set docActive = ActiveDocument

        Set tblNew = docActive.Tables.Add( _

            Range:=docActive.Range(Start:=0, End:=0), NumRows:=3, _

            NumColumns:=4)

        intCount = 1

        For Each celTable In tblNew.Range.Cells

            celTable.Range.InsertAfter "Cell " & intCount

            intCount = intCount + 1

        Next celTable

        tblNew.AutoFormat Format:=wdTableFormatColorful2, _

            ApplyBorders:=True, ApplyFont:=True, ApplyColor:=True

    End Sub

    在表格单元格中插入文字

    下列示例在活动文档中第一张表格的第一个单元格中插入文字。Cell 方法返回单独的 Cell 对象。Range 属性返回一个 Range 对象。Delete 方法用于删除现有的文字,而 InsertAfter 方法用于插入文字“Cell 1,1”。

    Sub InsertTextInCell()

        If ActiveDocument.Tables.Count >= 1 Then

            With ActiveDocument.Tables(1).Cell(Row:=1, Column:=1).Range

                .Delete

                .InsertAfter Text:="Cell 1,1"

               ' .text="cell 1,1" 上面两行,可以用这一行表示。

            End With

        End If

    End Sub

    返回表格单元格中的文字,不包括表格结束单元格标记

    下列示例返回并显示文档中第一张表格的第一行中每个单元格的内容。

    Sub ReturnTableText()

        Dim tblOne As Table

        Dim celTable As Cell

        Dim rngTable As Range

        Set tblOne = ActiveDocument.Tables(1)

        For Each celTable In tblOne.Rows(1).Cells

            Set rngTable = ActiveDocument.Range(Start:=celTable.Range.Start, _

                End:=celTable.Range.End - 1)         '注意这里用了-1

            MsgBox rngTable.Text

        Next celTable

    End Sub

     

    Sub ReturnCellText()

        Dim tblOne As Table

        Dim celTable As Cell

        Dim rngTable As Range

        Set tblOne = ActiveDocument.Tables(1)

        For Each celTable In tblOne.Rows(1).Cells

            Set rngTable = celTable.Range

            rngTable.MoveEnd Unit:=wdCharacter, Count:=-1

            MsgBox rngTable.Text

        Next celTable

    End Sub

     

    将文本转换为表格

    下列示例在活动文档的开头插入用制表符分隔的文本,然后将这些文本转换为表格。

    Sub ConvertExistingText()

        With Documents.Add.Content

            .InsertBefore "one" & vbTab & "two" & vbTab & "three" & vbCr

            .ConvertToTable Separator:=Chr(9), NumRows:=1, NumColumns:=3

        End With

    End Sub

     

    返回每个表格单元格的内容

    下列示例定义一个数组,该数组的元素个数等于文档中第一张表格(假定为 Option Base 1)中的单元格数。For Each...Next 结构用于返回每个表格单元格的内容,并将文字指定给相应的数组元素。

    Sub ReturnCellContentsToArray()

        Dim intCells As Integer

        Dim celTable As Cell

        Dim strCells() As String

        Dim intCount As Integer

        Dim rngText As Range

        If ActiveDocument.Tables.Count >= 1 Then

            With ActiveDocument.Tables(1).Range

                intCells = .Cells.Count

                ReDim strCells(intCells)

                intCount = 1

                For Each celTable In .Cells

                    Set rngText = celTable.Range

                    rngText.MoveEnd Unit:=wdCharacter, Count:=-1

                    strCells(intCount) = rngText

                    intCount = intCount + 1

                Next celTable

            End With

        End If

    End Sub

    (测试环境.docVBA中有更好的方法,可以参考)

    将活动文档中的所有表格复制到新文档中

    本示例将当前文档中的表格复制到新文档中。

    Sub CopyTablesToNewDoc()

        Dim docOld As Document

        Dim rngDoc As Range

        Dim tblDoc As Table

        If ActiveDocument.Tables.Count >= 1 Then

            Set docOld = ActiveDocument

            Set rngDoc = Documents.Add.Range(Start:=0, End:=0)

            For Each tblDoc In docOld.Tables

                tblDoc.Range.Copy

                With rngDoc

                    .Paste

                    .Collapse Direction:=wdCollapseEnd

                    .InsertParagraphAfter

                    .Collapse Direction:=wdCollapseEnd

                End With

            Next

        End If

    End Sub

     

    以下为我对表格的认识:(陋见)

    在“测试环境.doc”中有不少的例子(在VBA中),也有解释,

    两个文档花了我8小时以上(即一个工作日以上)

    关于表格在VBA中的相关说明:

    1.         如下图,类似于回车 在VBA中也是chr(13),竖线就是chr(7),怎么知道的?

    2.         当然是看老大们知道的。不过。在“测试环境.doc”中有相关的宏能得到这些数字。这也是授之以渔吧。

    3.         重点推荐“测试环境.doc的相关代码用了我不少功夫,慢慢体会。不懂的可以提出来。

     

    Ch(13)

    Ch(7)

     

    4.         因为chr(13)为段落标记,所以在VBA中,ActiveDocument.Paragraphs.Count测得的段落数与工具、字数统计是不一样的。

    5.         如果这样统计:表格中单元格中类似的 且不为空就为一个段落,否则不算。这就与工工具、字数统计的段落数一样了。

    6.         如果要新建一个表格,再添加一些字符(包括数字)的话,更好的方法是:先字符写入文档中(当然,要加一些标记,以便确定单元格),再利用Word的表格、转换、文字转换为表格。这样,速度快一些。有以下的代码为证。

    Sub 表格5()

    '先放到文档,再放入表格

    Dim i%, astring As String

    Dim adoc As Document

    Dim atime As Long

    Application.ScreenUpdating = False '关闭屏幕更新

    atime = Timer '设atime为正前时间

    For i = 1 To 1000

        astring = astring & i & Chr(13)

    Next

        Set adoc = Documents.Add

            adoc.Content = astring

            adoc.Range.ConvertToTable Separator:=wdSeparateByParagraphs, NumColumns:=10, _

            NumRows:=100

    Application.ScreenUpdating = True

        MsgBox "先放到文档的运行时间为:" & Timer - atime

        '1.28,1.07,1.03

    End Sub

    Sub 表格6()

    '先生成表格,再向单元格中添数

    Dim i%, astring As String

    Dim adoc As Document

    Dim atime As Long

    Dim atable As Table

    Application.ScreenUpdating = False '关闭屏幕更新

    atime = Timer '设atime为正前时间

    Set adoc = Documents.Add

    Set atable = adoc.Tables.Add(Selection.Range, 100, 10)

    With atable.Range

        For i = 1 To 1000

            .Cells(i).Range.Text = i

        Next

    End With

    Application.ScreenUpdating = True

        MsgBox "先放到文档的运行时间为:" & Timer - atime

        '16.3,15.53,15.35

    End Sub

    '几乎是15倍的差别,谁快谁慢应该大家知道了。还顺带说一话:有的软件在操作Word的表格时,就是用类似于“表格6”的方法,而且也没有用Appplication.ScreenUpdating=true。所以,看上去就像在看动画片。(例如:“青山预算之星”的“输出到Word”就是)看来,国产软件还需努力。

    7.         有些尤意末尽的,大家慢慢在程序中体会。

    8.         特别强调:微软本身的许多功能,不是一般的VBA的程序,比VBA要快很多,不明白内部是用什么语言或什么原理在工作。例如:a.邮件合并,速度奇快。如果你试着用VBA来做,速度奇慢。b.修订功能;c.工具、宏、命令listcommands的运行速度。
    等等,都是我们VBA一族所不能及的。(不过来,如果我们的VBA与微软快,微软不PK我们才怪。呵呵,阿Q精神一下,找一下心理平衡。

    展开全文
  • 计算机二级MS Office(Microsoft Office)高级应用考试内容包括计算机的基础知识Word、Excel、PPT办公软件的功能和使用。要求参试者具有计算机应用知识及MS Office办公软件的高级应用能力,能够在实际办公环境中开展...
  • Word2Vec知识总结

    2018-12-28 20:28:33
    word2vec是一个产生词向量的模型,是一个双层的神经网络 。非常善于找出词汇的相似度,同时可用于处理之前的技术(像one-hot编码和WordNet)处理不了的语义关系。它可以利用神经网络从大量的无标注的文本中提取有用...
  • word2vec知识点原理详细讲解 模型的数据的形式和shape word2vec的模型分类(skip-gram和CBOW) skip-gram模型重要知识点理解 cbow模型知识点理解 tensorflow实现(skip-gram)模型的数据的形式和shape
  • 【计算机基础】03-Word知识

    万次阅读 2020-05-09 13:41:13
    第3章 文字处理软件 Word 2010 3.1 初始Office 2010 Office 2010组件包括Word(文字处理软件)、Excel(电子表格软件)、PowerPoint(幻灯片制作软件)、Outlook(个人信息管理软件)、Access(关联式数据库管理...
  • 内容节选:数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也成为一个企业或组织生存和发展的重要条件...
  • 大学新生计算机基础分层考试结果探析与启发...虽然大学新生对Word和PowerPoint等办公软件有一定程度的掌握,但对Excel这一重要的数据管理软件缺乏了解,没有形成数据管理的基本概念。建议大学计算机基础教学中重点...
  • 计算机基础知识Word常用操作(七)【导语】在事业单位考试中,计算机专业知识的复习向来是考生复习备考阶段的一大重点,河南人事考试网为计算机基础知识的复习为考生提供知识点梳理,帮助考生备考!一、打印指定页...
  • word文档的版式设计和排版必备知识点总结要点,平常在工作中用到
  • 【导语】在事业单位考试中,计算机专业知识的复习向来是考生复习备考阶段的一大重点,其中中公事业单位考试网为计算机基础知识的复习为考生提供知识点梳理,帮助考生备考!一、PPT编辑放映两不误按住Ctrl不放,单击...
  • 2018年计算机二级考试MSOffice重要考点:Word中的虚拟文本当你用Word来设计版面、编排报纸时,如果想看看当整个版面填满文字时的版面效果,该怎么办呢?其实在Word中创建一个虚拟文本即可快速实现。打开Word XP...
  • word技巧

    千次阅读 2018-03-01 21:40:22
    6A、基础知识... 61、度量单位... 62、WORD中文字字号与磅的对应关系... 63、字体文件格式... 7B、文本编辑... 71、快速移动文档... 72、快速传递文档... 83、删除空行... 84、多处剪切,一处粘贴... 85、文字块的...
  • Word embedding

    2019-10-04 10:53:02
    1. 背景知识 2. 如何实现word embedding? 3. 预测架构来生成 word vector 4. word vector的有趣现象 5. 文章的编码 1. 背景知识 我们在处理语言之前,需要先把字符转化为向量,怎么做呢? word ...
  • 一、词表征(Word Representation) 首先明确句子是序列化,里面携带了大量大信息。在NLP发展的进程里面, 采用了one-hot vector的形式来表示一个句子里面的词是一种方式。表示这个句子的方式如下: 1、首先是创建一张...
  • 文章目录0、参考文章一、 DeepNLP的核心二、 ... 基于神经网络的分布表示五、 词嵌入(Word Embedding)1、概念2、理解六、 神经网络语言模型与word2vec七、扩展知识 0、参考文章 秒懂词向量Word2vec的本质 通俗理解wo
  • 大学授课空白教案模板Word格式是一款专为教师人群...大学授课空白教案模板Word格式知识拓展:大学教案怎么写?热心网友这样回答——建议你根据所讲的科目,制定针对性的教案:如果是文科性质的课,教案只要提纲式的...
  • 【教学目标】1、知识与技能:(1)了解Word窗口功能,掌握进入、退出Word窗口的方法。(2)了解Word窗口命令,认识常用工具栏的名称、按钮。(3)了解Word字处理功能,学会在Word中新建文档、输入文字、保存文件。2、过程...
  • 运用Word制作电子贺卡教学设计教材分析:WORD在小学信息技术课程中较为重要,对学生的信息技能的提高有着重要的作用。本课知识是根据教学时机进行适当的改编。这一节的内容是承接上面学习了文档的建立、编辑和修饰...
  • POI 操作word

    千次阅读 2016-12-30 17:36:45
    关于POI 操作word的基础知识在这个博客(http://elim.iteye.com/blog/2049110)中有非常清晰的解释,在这里我就不多解释了 本文研究的内容就是 XWPFParagraph:代表一个段落XWPFRun:代表具有相同属性的一段文本...
  • 初始Word教学目的:1、知识与技能:认识Word窗口的组成,了解Word的启动方法及Word文档的保存方法。2、过程与方法:掌Word中菜单栏、工具栏的使用方法。3、情感态度与价值观:形成利用计算机进行文字处理的意识并...
  • 本文档是word文档,是项目管理师考试所必备的基础重点知识总结,为考生的精华推荐
  • 文本相似在问答系统中有很重要的应用,如基于知识的问答系统(Knowledge-based QA),基于文档的问答系统(Documen-based QA),以及基于FAQ的问答系统(Community-QA)等。像对于问题的内容,需要进行相似度匹配,...
  • 而鉴于Word这样那样奇怪的问题,尽管内容的产生显然比格式更加重要,但我们往往要浪费大量的时间在格式调整上面。 据说大部分人之所以讨厌Word,都是因为Word的格式调整功能实在是太不好用了。其实事实并非如此,你...
  • CSS重要知识点汇总

    千次阅读 2018-04-09 15:24:19
    CSS重要知识点汇总 本文通过对w3school的CSS基础教程,整理出比较常见的却又容易遗忘或者忽略的CSS相关知识点。本文的标题顺序与w3school中的CSS基础教程标题顺序保持一致。适合翻阅和复习。
  • Word 2019 Essential Training 中文字幕 Word 2019基本训练 中文字幕Word 2019 Essential Training 使用Microsoft Word 2019轻松学习如何创建,编辑,格式化和共享文档 与David Rivers一起展示这个强大工具的所有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 73,587
精华内容 29,434
关键字:

word的重要知识