我对MS Office word 2007文档有一个简单的要求。我需要宏后面的代码复制一个表(格式化一个)并在每次运行此宏时粘贴它。
方案如下: - 1.我将复制一个格式化的表(包含7-8行和5-6列等)并将其作为按钮或快捷键存储在宏中。
1.无论何时我想要或在同一个word文档中的任何特定位置,我都会放置光标并单击宏按钮(运行我们的宏)。此宏应粘贴具有相同行数和列数以及样式的相同格式化表。
2.我可以多次运行此宏,但每次都应粘贴同一个表。
我希望代码将在VB中。
我知道如何创建宏,分配按钮,快捷键,安全性等。我只需要宏后面的VB代码(或任何代码),这可能是上述场景的解决方案。
很抱歉很长的帖子,但我的要求非常清楚。
先谢谢...干杯! Shilpa Silk
答案 0 :(得分:2)
使用宏录制器。调用刻录机,然后完成复制和粘贴表格的步骤,然后您可以编辑它以查看宏的实际指令。但请注意,宏录制器不会保存剪贴板的内容,因此创建表的标记将不会与宏一起保存。为了使它工作,在运行宏之前,表应该存在。
这是一种可能的方法:
在开始录制之前,应满足以下条件:
然后打开录音并完成以下步骤:
_table_goes_here_
所在的位置
光标是Shift
并按down arrow
键足够的时间,直到
选择整个表格,_table_goes_here_
)
然后单击“查找下一个” 编辑 - 第二种方法
另一种方法是启动宏录制,然后从头开始创建表,这样您就不需要预先存在的表来使宏工作。当您对表格结束记录进行整形和格式化后,您已经捕获了所有必需的步骤,以便在任何地方放置完全相同的表格。
我刚刚测试了第二种方法,它运行得很好。以下是录音机为我的小测试生成的代码:
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