1.如何在Word中打开VBA编程窗口
一、编制程序 1.启动Word,连续点击“工具”,“宏”,“录制新宏。”
在弹出的对话框中填写宏名(此例为“作文稿纸”),选择宏要保存的位置(可以保存在模板中,也可以保存在当前文档中),如图1所示。 2.为了方便操作,可以将此宏以按钮的形式指定在工具栏中。
单击“录制宏”对话框中的“工具栏”按钮,在弹出的“自定义”对话框的右侧,选中宏命令“Normal.NewMacros.作文稿纸”,用鼠标将其拖动复制到“常用”工具栏,在其上单击右键,选择相应的命令修改名称,为其编辑一个小图标,结果如图2所示。 3.单击“录制宏”对话框中的“关闭”按钮,屏幕上将出现一个“录制宏”工具栏,单击停止按钮停止录制。
4.依次选择“工具”、“宏”、“宏…”,在对话框中选择宏名“作文稿纸”,单击“编辑”按钮,打开vba编程窗口。录入如下代码: Sub 作文稿纸()UserForm1.CommandButton1.Enabled = TrueUserForm1.ShowEnd Sub 5.插入一个窗体UserForm1,在其中插入4个标签,4个文本框,一个按钮。
分别设置它们的相关属性,其中,“所需行数”文本框的“text”属性值设为25,“所需列数”文本框的“text”属性值设为20,“行间距”文本框的“text”属性值设为0.5,“首尾空行高度”文本框的“text”属性值设为0.4,如图3所示。 6.双击命令按钮CommandButton1,录入以下代码: Private Sub CommandButton1_Click()Dim n As Integer '定义一个变量为整数型n = 1ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=Val(TextBox1.Text) * 2 + 1, NumColumns _:=Val(TextBox2.Text), DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixedSelection.EndKey Unit:=wdRow, Extend:=TrueSelection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNoneSelection.Tables(1).Rows.HeightRule = wdRowHeightExactly'设定表格行高为固定值Selection.Tables(1).Rows.Height = CentimetersToPoints(Val(TextBox3.Text))'设置表格行高为设置值,作为行间距Selection.Tables(1).Rows(1).Height = CentimetersToPoints(Val(TextBox4.Text))'设置第一行行高为设置值Do While n < val(textbox1.text)="" +="" 1selection.endkey="" unit:="wdLineSelection.MoveRight" unit:="wdCharacter," count:="2'将插入点移至下一行Selection.Tables(1).Rows(2" *="" n).height="Selection.Tables(1).Columns(1).PreferredWidth'设行高等于列宽Selection.EndKey" unit:="wdRow," extend:="TrueSelection.EndKey" unit:="wdLineSelection.MoveRight" unit:="wdCharacter," count:="2'将插入点移至下一行Selection.EndKey" unit:="wdRow," extend:="TrueSelection.Cells.Borders(wdBorderVertical).LineStyle" =="" wdlinestylenone'去除此行的内部框线,只余边框n="n" +="" 1loopselection.tables(1).rows(val(textbox1.text)="" *="" 2="" +="" 1).height="CentimetersToPoints(Val(TextBox4.Text))'设置末行高为设置值Selection.EndKey" unit:="wdRow," extend:="TrueSelection.Cells.Borders(wdBorderVertical).LineStyle" =="" wdlinestylenoneselection.tables(1).rows.alignment="wdAlignRowCenter'表格居中With" selection.tables(1).borders(wdborderleft).linewidth="wdLineWidth150pt.Borders(wdBorderRight).LineWidth" =="" wdlinewidth150pt.borders(wdbordertop).linewidth="wdLineWidth150pt.Borders(wdBorderBottom).LineWidth" =="" wdlinewidth150pt'设定表格边框为粗线end="" withselection.endkey="" unit:="wdLineUnload" me="" end="">
2.如何在EXECL中用VBa打开Word,并输出数据到WORD中,保存,关闭
在EXcel的VB编辑器中插入一个模块,输入如下代码试试看。
Sub ExcelToWord()
Dim WordObject As Object '声明一个对象变量,这里即将声明为Word对象
On Error Resume Next
Set WordObject = CreateObject("Word.Application") '用set来创建Word对象,这里是运行Word程序,但未新建文档
WordObject.Visible = 0 '后台运行Word对象,只在任务管理器中存在WinWord.exe进程,但在任务栏上看不到word;如果为1或者True则可以看到word运行界面
WordObject.Documents.Add DocumentType:=wdNewBlankDocument '新建一word文档
'以下为获取Excel表格中的内容,准备把数据传送给Word,可以根据自己的实际需要定制代码,这里只是示例代码
Excel.Application.Sheets(1).Activate '切换当前电子表格的表1为当前激活表
Excel.Application.Sheets(1).UsedRange.Select '选中当前激活表的所有数据
Selection.Copy '将选中的区域进行复制
WordObject.Application.Activate '将后台运行的Word激活为当前窗口
WordObject.ActiveWindow.Selection.Paste '将刚才从Excel中复制进剪贴板中的内容粘贴进word中来
WordObject.Saved = True '将保存文档的Saved属性设置为True,这样后台运行的Word在保存文档时就不会弹出是否保存的对话框了,达到悄无声息的效果
WordObject.ActiveDocument.SaveAs "D:\temp\导出数据.doc" '调用saveas命令保存文档,根据实际,指定文档的保存路径和名称
WordObject.Application.Quit '退出并关闭程序文档
Set WordObject = Nothing '释放对象
End Sub
3.如何用VBA代码为Word添加菜单(即命令栏)
Dim myMenuBar
Dim newMenu
Dim ctrl1
Dim s
Dim flag As String
'初始化菜单
Set myMenuBar = CommandBars.ActiveMenuBar
Set newMenu = myMenuBar.Controls.Add(Type:=msoControlPopup, _
Temporary:=True)
newMenu.Caption = "电子印章"
Set ctrl1 = newMenu.Controls.Add(Type:=msoControlButton, ID:=1)
ctrl1.Caption = "添加电子印章"
ctrl1.Style = msoButtonCaption
ctrl1.OnAction = "AddSeal"
Set ctrl1 = newMenu.Controls.Add(Type:=msoControlButton, ID:=1)
ctrl1.Caption = "验证电子印章"
ctrl1.Style = msoButtonCaption
ctrl1.OnAction = "CheckSeal"
ctrl1.Style = msoButtonCaption
Set ctrl1 = newMenu.Controls.Add(Type:=msoControlButton, ID:=1)
ctrl1.Caption = "关于"
ctrl1.OnAction = "About"
ctrl1.Style = msoButtonCaption
4.下面图中
请采纳我的答案。
绘制流程图 在“绘图”工具栏 (工具栏:工具栏中包含可执行命令的按钮和选项。若要显示工具栏,请单击“工具”菜单中的 “自定义”,然后单击 “工具栏”选项卡。)
上,单击“自选图形”,指向“流程图”,再单击所需的形状。 单击要绘制流程图的位置。
若要向流程图中添加额外的形状,请重复步骤 1 和步骤 2,再按所需的顺序对其进行排列。 在各形状间添加连接符。
在“绘图”工具栏上,单击“自选图形”,指向“连接符”,再单击所需的连接符线。 指向要锁定连接符的位置。
当指针滑过形状时,连接位置将显示为蓝色圆形。单击要连接的第一个点,指向另一个形状,再单击第二个连接点。
锁定连接符将使形状保持连接,即便是在移动它们的时候。 向形状添加文字。
用鼠标右键单击形状,单击“添加文字”并开始键入。 注释 不能向线段或连接符上添加文字,使用文本框 (文本框:一种可移动、可调大小的文字或图形容器。
使用文本框,可以在一页上放置数个文字块,或使文字按与文档中其他文字不同的方向排列。)可在这些绘图对象附近或上方放置文字。
为连接符更改线型或添加颜色。选取要更改的线条或连接符。
执行下列操作之一: 更改线条或连接符的颜色在“绘图”工具栏上,单击“线条颜色” 旁的箭头。 执行下列操作之一: 若要更改为默认颜色,请单击“自动”。
若要更改为其他颜色,请单击“自动”之下的一种颜色。更改线条或连接符的线型在“绘图”工具栏上,单击“线型”。
单击所需的线型;或者单击“其他线条”,再单击一种线型。 为形状添加颜色或填充。
5.使用VBA在查询WORD中表格的内容
如果说填写,这个比较复杂,而且很难实现,因为word的VBA都是跟跟键盘操作,和界面操作有关的。
所以,如果可能,可以考虑用VBA来复制表格,然后粘贴到EXCEL中,对于比较简单的表格,内容是可以完全匹配的。首先,你要知道如何用键盘来选择整个表格,然后复制,把这些操作录制下来,然后复制代码。
如果你是要从EXCEL 的VBA 入手,那么你需要在VBA引用中添加WORD Libary 11.0 如果是从WORD的VBA入手,那么就要添加EXCEL LIBARY 11.0 (OFFICE 2007 是 12.0)然后就是需要知道EXCEL中粘贴的代码,如果我记得不错的话,是:cells(1,1).paste这个,你也可以通过录制来得到。
如果你需要知道具体的操作方案,你当然也应该吧分数提高。
转载请注明出处51数据库 » vba激活word界面
喜欢郑凯