我在MS 2007文档中有一个简单的要求。我需要宏后面的代码,该宏每次运行这个宏时都会复制一个表(格式化的表)并粘贴它。
我将复制一个格式化的表(包含7-8行和5-6列等),并将其存储在宏按钮或快捷键中。
1.每当我需要或在同一word文档中的任何特定位置,我将放置光标并单击宏按钮(运行我们的宏)。此宏应粘贴相同格式的表,其行数、列数和样式相同。
2.我可以多次运行这个宏,但每次都应该粘贴相同的表。
我希望代码将在VB中。
我知道如何创建宏,分配按钮,快捷键,安全等。我只需要VB代码(或任何代码)后面的宏,这可以解决上述情况。
很抱歉寄了很长的邮件,但我已经把要求说得很清楚了。
提前谢谢..。干杯!舍尔帕丝
发布于 2010-08-15 18:58:14
使用宏记录器。调用记录器,然后完成复制和粘贴表的步骤,然后您可以编辑它以查看宏的实际指令。但是请注意,宏记录器没有保存剪贴板的内容,因此创建表的标记不会与宏一起保存。要使它正常工作,在运行宏之前应该存在该表。
以下是一种可能的方法:
在开始录制之前,应满足以下条件:
的位置。
然后打开录音并完成以下步骤:
_table_goes_here_,光标为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键关闭查找对话框按Ctrl+V粘贴复制的表,这将取代占位符文本结束宏记录。编辑-第二种方法
另一种方法是启动宏记录,然后从零开始创建表,这样就不需要预先存在的表才能使宏工作。当您已经对表进行了成型和格式化之后,记录结束,并且捕获了所有需要的步骤,以便将完全相同的表放置在任何您想要的位置。
我刚刚测试了第二种方法,它运行得很好。下面是记录器为我的小测试生成的代码:
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 Subhttps://stackoverflow.com/questions/3488671
复制相似问题