首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制Microsoft 2007的表宏

复制Microsoft 2007的表宏
EN

Stack Overflow用户
提问于 2010-08-15 18:27:42
回答 1查看 8.5K关注 0票数 0

我在MS 2007文档中有一个简单的要求。我需要宏后面的代码,该宏每次运行这个宏时都会复制一个表(格式化的表)并粘贴它。

我将复制一个格式化的表(包含7-8行和5-6列等),并将其存储在宏按钮或快捷键中。

1.每当我需要或在同一word文档中的任何特定位置,我将放置光标并单击宏按钮(运行我们的宏)。此宏应粘贴相同格式的表,其行数、列数和样式相同。

2.我可以多次运行这个宏,但每次都应该粘贴相同的表。

我希望代码将在VB中。

我知道如何创建宏,分配按钮,快捷键,安全等。我只需要VB代码(或任何代码)后面的宏,这可以解决上述情况。

很抱歉寄了很长的邮件,但我已经把要求说得很清楚了。

提前谢谢..。干杯!舍尔帕丝

EN

回答 1

Stack Overflow用户

发布于 2010-08-15 18:58:14

使用宏记录器。调用记录器,然后完成复制和粘贴表的步骤,然后您可以编辑它以查看宏的实际指令。但是请注意,宏记录器没有保存剪贴板的内容,因此创建表的标记不会与宏一起保存。要使它正常工作,在运行宏之前应该存在该表。

以下是一种可能的方法:

在开始录制之前,应满足以下条件:

  1. 您的表应该在文档的开头标记为
  2. 的段落后面,您的光标应该在要放置新表

的位置。

然后打开录音并完成以下步骤:

  1. Type _table_goes_here_,光标为
  2. ,按Ctrl + Home键到文档的开头(在主表
  3. 按住Shift并按下down arrow键足够一次,直到整个表被选中为止,H 215_table_goes_here_>H 116按Ctrl +C键复制H 217/code>H 118按Ctrl +F键打开查找对话框H 219H 120键入占位符文本到查找什么框(_table_goes_here_),并在找到并选择占位符时单击查找下一个H 222/code>H 123/code>。按Esc键关闭查找对话框
  4. 按Ctrl+V粘贴复制的表,这将取代占位符文本
  5. 结束宏记录。

编辑-第二种方法

另一种方法是启动宏记录,然后从零开始创建表,这样就不需要预先存在的表才能使宏工作。当您已经对表进行了成型和格式化之后,记录结束,并且捕获了所有需要的步骤,以便将完全相同的表放置在任何您想要的位置。

我刚刚测试了第二种方法,它运行得很好。下面是记录器为我的小测试生成的代码:

代码语言:javascript
复制
Sub MakeTable()
'
' MakeTable Macro
' Macro recorded þ16þ/08þ/2010 by Majid Fouladpour
'
    ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=4, NumColumns:= _
        4, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed
    With Selection.Tables(1)
        If .Style <> "Table Grid" Then
            .Style = "Table Grid"
        End If
        .ApplyStyleHeadingRows = True
        .ApplyStyleLastRow = True
        .ApplyStyleFirstColumn = True
        .ApplyStyleLastColumn = True
    End With
    With Selection.Tables(1)
        .Style = "Table Columns 4"
        .ApplyStyleHeadingRows = True
        .ApplyStyleLastRow = True
        .ApplyStyleFirstColumn = True
        .ApplyStyleLastColumn = True
    End With
    Selection.TypeText Text:="Col one"
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:="Col two"
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:="Col three"
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:="Col four"
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.MoveLeft Unit:=wdCharacter, Count:=3
    Selection.TypeText Text:="Item 1"
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeText Text:="Item 2"
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeText Text:="Item 3"
End Sub
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3488671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档