精华内容
下载资源
问答
  • 使用VBA 修改word文档,添加文本框并文本框中加入表格,修改表格中某个单元格的
  • 利用VBA处理Word以及WORD表格

    千次阅读 2007-03-30 11:13:00
    1.向WORD中创建表格并插入文字 本例功能是文档开头插入一张 3 行 6 列... For Each...Next 结构中,InsertAfter 方法用来向表格单元格添加文字("第 1 单元格"、" 第 2 单元格"等等),oTable.Aut

     1.向WORD中创建表格并插入文字  
        本例的功能是在文档开头插入一张   3   行   6   列的表格。可用For   Each...Next   结构来循环遍历表格中的每个单元格。在   For   Each...Next   结构中,InsertAfter   方法用来向表格单元格添加文字("第   1   单元格"、"   第   2   单元格"等等),oTable.AutoFormat属性用于指定表格套用格式。++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    '基本功能:插入一个3列6行的表格,并给每行表格插入数据
    '引用组件:在工程中引用OR Microsoft Word X.0 object library才能使用word.application
    '整理作者:FlashAsp
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Dim wd     As New Word.Application
    wd.Documents.Add DocumentType:=wdNewBlankDocument
    Set oDoc = wd.ActiveDocument
        Set oTable = oDoc.Tables.Add(Range:=oDoc.Range(Start:=0, End:=0), NumRows:=6, NumColumns:=3)
        iCount = 1
        For Each oCell In oTable.Range.Cells
        oCell.Range.InsertAfter "第 " & iCount & "单元格"
        iCount = iCount + 1
        Next oCell
        oTable.AutoFormat Format:=wdTableFormatColorful2, ApplyBorders:=True, ApplyFont:=True, ApplyColor:=True
    '将光标移到最后
    wd.Selection.EndKey Unit:=wdStory
    '插入分页符
    wd.Selection.InsertBreak Type:=wdPageBreak
    wd.Visible = True
    wd.ShowMe
    Set wd = Nothing
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     
    2.在表格的列、行插入序号  
        1.   如果需要在表格的第一列插入序号,只需将   For   Each...Next   结构中的内容改为下述程序行即可,其中InsertAfter   方法用来向表格单元格添加序号("第   1   行"、"   第2   行"等等)。  
        If   iCount   Mod   4   =   1   Then  
         oCell.Range.InsertAfter"第   "   &   (iCount   -   1)   /   4   +   1   &   "   行"  
        End   If  
        iCount   =   iCount   +   1  
        2.   如果需要从表格的第二行开始插入序号,应将上述代码改为:  
        If   iCount   Mod   4   =   1   And   iCount   >   4   Then  
           oCell.Range.InsertAfter   "第   "&   (iCount   -   1)   /   4   &   "行"  
        End   If  
        iCount   =   iCount   +   1 
     
    3.在表格的列插入日期  
        
        (1)如需在表格的第一列插入日期,   可用For   Each...Next结构来循环遍历表格中的每个单元格,当判断某一单元格为第一列时,插入日期。Formart(Date,...)用于指定日期的格式,下面例子中的日期从Date+1(即当前日期第二天)开始,用户可以根据需要自定义。  
        Set   oDoc   =   ActiveDocument  
        Set   oTable   =oDoc.Tables.Add(Range:=oDoc.Range(Start:=0,End:=0),NumRows:=  
      4,NumColumns:=4)  
        iCount   =   1  
        For   Each   oCell   In   oTable.Range.Cells  
        If   iCount   Mod   4   =   1   And   iCount   >   4   Then  
            oCell.Range.InsertAfter   Format(Date   +   (iCount   -   1)   /   4,   "YYYY.MM.DD")  
        End   If  
        If   iCount   Mod   4   =   2   And   iCount   >   4   Then  
            oCell.Range.InsertAftercWeekName(WeekDay(Date+(iCount   -   1)   /   4))  
        End   If  
        iCount   =   iCount   +   1  
           Next   oCell  
           oTable.AutoFormat   Format:=wdTableFormatColorful1,ApplyBorders:=True,   Ap  
      plyFont:=True,   ApplyColor:=True  

        (2)   如果需要在表格的第二列插入星期值,可在上例的For   Each...Next结构中插入以下几行:  
        If   iCount   Mod   4   =   2   And   iCount   >   4   Then  
        oCell.Range.InsertAfter   cWeekName(WeekDay(Date   +   (iCount   -   1)   /   4))  
        End   If  
        其中,WeekDay(Date)返回一数值(1~7),分别表示"星期日"~"星期六",CWeekName数组需要事先定义为:  
        Dim   cWeekName(7)  
        cWeekName(1)   =   "星期日"  
        cWeekName(2)   =   "星期一"      
        cWeekName(7)   ="星期六"  

    4.   根据单元格的内容设置不同的格式  
        以上例中表格为例,如果需要将所有"星期六"和"星期日"所在行格式改为蓝色背景,只要在上例程序之后追加以下几行即可(表格格式改为wdTableFormatColorful2,行数改为12行)。程序中再次使用For   Each...Next结构遍历表格中的每一行(Rows),如果检测到某一行满足条件("星期六"或"星期日"),则选择一行(Selection.SelectRow),将其属性改为需要的格式(本例中为蓝色背景)。  
        iCount   =   1  
        For   Each   Rows   In   oTable.Range.Rows  
        If   (WeekDay(Date   +   (iCount   -   1))   =   7   Or   WeekDay(Date   +   (iCount   -   1))=   1)  
      And   iCount   >   1  
           Then  
            Selection.SelectRow  
            With   Selection.Cells  
        With   .Shading  
        .Texture   =   wdTextureNone  
        .ForegroundPatternColorIndex   =   wdAuto  
        .BackgroundPatternColorIndex   =   wdBlue  
        End   With  
         End   With  
        End   If  
         iCount   =   iCount   +   1  
         Selection.MoveDown   Unit:=wdLine,   Count:=1  
         Next   Rows  


    5.开启一个预先定义好的WORD模板并替换模板中指定的某个字符串
    ' ****************************************************************************************************
    '引用组件:在工程中引用OR Microsoft Word X.0 object library才能使用word.application
    '名称:OpenWordAndReplaceChar(filename As String, ReplacedStr As String, ReplacementStr As String)
    '功能:开启一个预先定义好的WORD模板并替换模板中指定的某个字符串
    '调用: Call OpenWordAndReplaceChar("001.doc", "$1", "宝宝:)")
    '参数:Filename:WORD文件名称,ReplacedStr:WORD中待替换的字符,ReplacementStr:程序中传递到WORD中的字符串
    '整理作者:FlashAsp
    '******************************************************************************************************
    Public Sub OpenWordAndReplaceChar(FileName As String, ReplacedStr As String, ReplacementStr As String)
    Dim wordApp As New Word.Application
    Dim wordArange As Word.Range
    Dim wordSelection As Word.Selection
    Dim ReplaceSign As Boolean
    Dim i As Integer
    FileName = App.Path & "/" & FileName
    Set wordApp = CreateObject("Word.Application")
    wordApp.Visible = True
    wordApp.Documents.Open (FileName)
    Set wordSelection = wordApp.Selection
    '指定文件编辑位置
    Set wordArange = wordApp.ActiveDocument.Range(0, 1)
    '激活编辑位置
    wordArange.Select
    '初始化是否替换成功标志
    If ReplacedStr <> " " And ReplacementStr <> "" Then
    ReplaceSign = True
    Do While ReplaceSign
    ReplaceSign = wordArange.Find.Execute(ReplacedStr, MatchCase, , , , , , wdFindContinue, , ReplacementStr, True)
    Loop
    End If
    '回到打印状态
    wordApp.ActiveWindow.View.Type = wdPrintView
    End Sub 

    展开全文
  • 具体如下图所示,要“承包方代表:”单元格的下方空白单元格添加一些固定内容。解决思路是,设置查找参数,找到符合条件“承包方代表:”单元格,椐此单元格取得其下方单元格,如果这个单元格内容为空(包含多...

    3ae587214bb128c1dab7b21b50a63b31.png

    批量为word合同模板表格填写内容

    在一个文档中,存在上千份相似的合同,需要在某个表格中固定的位置加上固定的内容。具体如下图所示,要在“承包方代表:”单元格的下方空白单元格中添加一些固定内容。

    881411f583b8e768aff0259fa91f9512.png

    解决思路是,设置查找参数,找到符合条件的“承包方代表:”单元格,椐此单元格取得其下方单元格,如果这个单元格内容为空(包含多个空段的也是空),就写入固定内容。为了防止空格+段落标记这样的空内容存在的影响,在执行代码前,可以使用查找替换把段落标志前的一个或多个空格删除。

    实现代码如下:

    Sub 合同模板批量填写内容()
     
    Dim i As Long, otal As Table, cell1 As Cell, cell2 As Cell
    Selection.HomeKey wdStory '光标置于文首
     
    '设置查找参数
    Selection.Find.ClearFormatting '清除查找处格式
    Selection.Find.Replacement.ClearFormatting '清除替换处格式
    With Selection.Find
     .Text = "承包方代表:^13"
     .Replacement.Text = ""
     .Forward = True
     .Wrap = wdFindStop '查找到文档结尾时停止查找
     .MatchWildcards = True
    End With
     
    '开始查找,查找到“承包方代表:^13”时,则处理
    Do While Selection.Find.Execute
     If Selection.Information(wdWithInTable) Then '判断查找内容在表格中
     Set cell1 = Selection.Cells(1)
     Set otal = Selection.Tables(1)
     Set cell2 = otal.Cell(cell1.RowIndex + 1, cell1.ColumnIndex)
     If cell2.Range.Paragraphs.Count = Len(cell2.Range) - 1 Then '单元格为空时(包含多个空段的情况)
     cell2.Range.Text = "其他单位:" & vbCrLf & vbCrLf & "2020年4月1日" '为查找内容所在单元格的下方单元格填写内容
     i = i + 1 '记录处理表格数量
     End If
     End If
     '把光标移动到下一个表格的开始处
     Selection.Move wdTable, 1
    Loop
    MsgBox "共处理" & i & "个表格"
    End Sub
    展开全文
  • 04157为单元格添加批注、删除批注 04158修改单元格批注 04159为单元格区域定义名称、删除名称(Name属性) 04160为单元格区域定义名称、删除名称(Add方法) 04161自动调整单元格大小 04162自动调整工作表全部...
  • Excel_VBA教程

    2014-09-22 11:36:34
    方法1:尽量使用VBA原有属性、方法和WORKSHEET函数 19 方法2:尽量减少使用对象引用,尤其循环中 19 1.使用With语句。 19 2.使用对象变量。 20 3.循环中要尽量减少对象访问。 20 方法3:减少对象激活和...
  • ExcelVBA程序设计.doc

    2011-04-05 21:32:51
    方法1:尽量使用VBA原有属性、方法和WORKSHEET函数 19 方法2:尽量减少使用对象引用,尤其循环中 19 1.使用With语句。 19 2.使用对象变量。 20 3.循环中要尽量减少对象访问。 20 方法3:减少对象激活和...
  • Excel VBA 基础教程

    2019-01-01 18:51:06
    .................................................................................................................1 1.1 VBA是什么...........................................................................
  • EXCEL编程VBA高级教程

    2015-04-16 11:40:55
    一、VBA语言基础...................................................................................................................1 第一节标识符...........................................................
  • excel使用

    2012-11-25 17:06:01
    编辑区中输入数据,然后按住Ctrl键,同时敲一下回车,所有选中的单元格中都出现了这一数据。(7) 单元格中显示公式如果工作表中的数据多数是由公式生成的,想要快速知道每个单元格中的公式形式,以便编辑修改...
  • 使用数据透视图汇总数百万行数据,不使用图表情况下以图形方式显示数据,使用SmartArt图形绘制流程图和关系图,使用VBA创建图表,将数据绘制到地图中,将图表导出到网页或PowerPoint中,找出图表背后谎言等。...
  • 使用数据透视图汇总数百万行数据,不使用图表情况下以图形方式显示数据,使用SmartArt图形绘制流程图和关系图,使用VBA创建图表,将数据绘制到地图中,将图表导出到网页或PowerPoint中,找出图表背后谎言等。...
  • 使用数据透视图汇总数百万行数据,不使用图表情况下以图形方式显示数据,使用SmartArt图形绘制流程图和关系图,使用VBA创建图表,将数据绘制到地图中,将图表导出到网页或PowerPoint中,找出图表背后谎言等。...
  • 使用数据透视图汇总数百万行数据,不使用图表情况下以图形方式显示数据,使用SmartArt图形绘制流程图和关系图,使用VBA创建图表,将数据绘制到地图中,将图表导出到网页或PowerPoint中,找出图表背后谎言等。...
  • 使用数据透视图汇总数百万行数据,不使用图表情况下以图形方式显示数据,使用SmartArt图形绘制流程图和关系图,使用VBA创建图表,将数据绘制到地图中,将图表导出到网页或PowerPoint中,找出图表背后谎言等。...
  • 使用数据透视图汇总数百万行数据,不使用图表情况下以图形方式显示数据,使用SmartArt图形绘制流程图和关系图,使用VBA创建图表,将数据绘制到地图中,将图表导出到网页或PowerPoint中,找出图表背后谎言等。...
  • 使用数据透视图汇总数百万行数据,不使用图表情况下以图形方式显示数据,使用SmartArt图形绘制流程图和关系图,使用VBA创建图表,将数据绘制到地图中,将图表导出到网页或PowerPoint中,找出图表背后谎言等。...
  • 使用数据透视图汇总数百万行数据,不使用图表情况下以图形方式显示数据,使用SmartArt图形绘制流程图和关系图,使用VBA创建图表,将数据绘制到地图中,将图表导出到网页或PowerPoint中,找出图表背后谎言等。...
  • 第一参数为参照区域,第二参数为颜色条件,第三参数为求和区域,即第一参数中颜色与第二参数相同,则将对应的第三参数的单元格进行求和。如果省略第三参数则对第一参数求和 AVER评分函数。计算参数区域中去除最大值与...
  • 中文版Excel.2007图表宝典 1/2

    热门讨论 2012-04-06 18:49:24
    3.2 图表中添加一个新系列/55 3.2.1 通过复制数据区域添加一个新系列/56 3.2.2 通过扩展高亮区域添加一个新系列/57 3.2.3 通过“选择数据源”对话框添加一个新系列/57 3.2.4 通过输入一个新SERIES公式添加一个...
  • 中文版Excel.2007图表宝典 2/2

    热门讨论 2012-04-06 19:01:36
    3.2 图表中添加一个新系列/55 3.2.1 通过复制数据区域添加一个新系列/56 3.2.2 通过扩展高亮区域添加一个新系列/57 3.2.3 通过“选择数据源”对话框添加一个新系列/57 3.2.4 通过输入一个新SERIES公式添加一个...
  • Excel集成工具箱7.0是利用VBA(Visual Basic for Applications)语言编写增强应用型插件。包括160个菜单功能和100个左右自定义函数,集160个工具于一身,但体积小于15MB。当安装集成工具箱后,如果您使用Excel ...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    Excel集成工具箱6.0是利用VBA(Visual Basic for Applications)语言编写增强应用型插件。包括160个菜单功能和100个左右 自定义函数,集160个工具于一身,但体积小于15MB。当安装集成工具箱后,如果您使用Excel ...
  • 【系统常用工具】 系统常用工具快捷调用,例如:计算器、记事本、WORD、画图板。 【隐藏选项卡】 可以隐藏Excel2007及2010功能区各选项卡(如:开始、插入、开发工具等)。 图 片 工 具 【选择本表图片】 将...
  • 【系统常用工具】 系统常用工具快捷调用,例如:计算器、记事本、WORD、画图板。 【隐藏选项卡】 可以隐藏Excel2007及2010功能区各选项卡(如:开始、插入、开发工具等)。 图 片 工 具 【选择本表图片】 将...
  • 814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 数据表视图中...
  • 814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 数据表视图中...
  • 814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 数据表视图中...
  • 814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 数据表视图中...
  • 814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 数据表视图中...
  • 814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 数据表视图中...

空空如也

空空如也

1 2 3
收藏数 55
精华内容 22
关键字:

vba在word的单元格添加