vba编程word
1. 如何在Word中打开VBA编程窗口
一、编制程序
1.启动Word,连续点击“工具”,“宏”,“录制新宏...”,在弹出的对话框中填写宏名(此例为“作文稿纸”),选择宏要保存的位置(可以保存在模板中,也可以保存在当前文档中),如图1所示。
6.双击命令按钮CommandButton1,录入以下代码:
Private Sub CommandButton1_Click()
Dim n As Integer '定义一个变量为整数型
n = 1
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=Val(TextBox1.Text) * 2 + 1, NumColumns _
:=Val(TextBox2.Text), DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed
Selection.EndKey Unit:=wdRow, Extend:=True
Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone
Selection.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) + 1
Selection.EndKey Unit:=wdLine
Selection.MoveRight Unit:=wdCharacter, Count:=2
'将插入点移至下一行
Selection.Tables(1).Rows(2 * n).Height = Selection.Tables(1).Columns(1).PreferredWidth
'设行高等于列宽
Selection.EndKey Unit:=wdRow, Extend:=True
Selection.EndKey Unit:=wdLine
Selection.MoveRight Unit:=wdCharacter, Count:=2
'将插入点移至下一行
Selection.EndKey Unit:=wdRow, Extend:=True
Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone
'去除此行的内部框线,只余边框
n = n + 1
Loop
Selection.Tables(1).Rows(Val(TextBox1.Text) * 2 + 1).Height = CentimetersToPoints(Val(TextBox4.Text))
'设置末行高为设置值
Selection.EndKey Unit:=wdRow, Extend:=True
Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone
Selection.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 With
Selection.EndKey Unit:=wdLine
Unload Me
End Sub
2. 关于Word中 的VBA 编程
发两个文件到[email protected],应该可以实现。以下是word中的主要代码:
sub
test()
dim
xcel
as
new
excel.application
dim
xwbk
as
excel.workbook
dim
xsht
as
excel.worksheet
set
xwbk
=
xcel.workbooks.open("d:\xxx\memo+browse.xlsx",
0,
1)
set
xsht
=
xwbk.sheets(1)
msgbox
xsht.range("a2")
xwbk.close
0
xcel.quit
set
xcel
=
nothing
end
sub
3. vba如何写word
在工作表中,点击菜单栏【开发工具】,在其工具栏内,点击【visual basic】!
4. 怎么查看word用VBA编写了的程序
通常在 Word 中录制的宏会被保存到 Normal 文档里面的模块中,而 ThisDocument 里面也可以写 VBA 代码,也就是说,所有这些可编辑的对象、模块或类模块都可以写 VBA 代码。
5. 如何用vba编程对word和excel进行文件保护
保护工作簿(Protect方法) Sub ProtectWorkbook() MsgBox "保护工作簿结构,密码为123" ActiveWorkbook.Protect Password:="123", Structure:=True MsgBox "保护工作簿窗口,密码为123" ActiveWorkbook.Protect Password:="123", Windows:=True MsgBox "保护工作簿结构和窗口,密码为123" ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=True End Sub 示例说明:使用Protect方法来保护工作簿,带有三个可选参数,参数Password指明保护工作簿密码,要解除工作簿保护应输入此密码;参数Structure设置为True则保护工作簿结构,此时不能对工作簿中的工作表进行插入、复制、删除等操作;参数Windows设置为True则保护工作簿窗口,此时该工作簿右上角的最小化、最大化和关闭按钮消失。 解除工作簿保护(UnProtect方法) Sub UnprotectWorkbook() MsgBox "取消工作簿保护" ActiveWorkbook.Unprotect "123" End Sub word的应该一样吧
6. 怎样在Word中用VBA操作表格
1、在新工作表的Sheet1上点击右键
7. 用vba编写代码使Word能够自动排版
自动排版,只能根据实际情况的需要,在既定的简单条件下可以实现!
如果范围很大,或者想实现随便拿一个文档,都能自动排版。
这就不是5分的问题,这完全是一个商业软件,要知道全世界有多少人每天在苦逼的排版,排完再改还得再排。。。无限苦逼中。。。求大神解救!
8. VBA编程 复制文件 (word 宏)
提示个思路,你看看正确不?
因Normal.dot在Word打开文件时,正在使用中,故不能正确复制或操作;
可不可以这样,在autoclose中,先关闭Word中使用的所有文档,
包括空白文档,然后进行FileCopy操作,如此,可能会成功。
因要外出,就不测试了,你试试看看,或可给我留言。
9. 如何用VBA代码实现WORD自动排版
工具-宏-设置成低 to crazy0ball 你的问题我在网上查了好多资料,但是到目前为止, 还没有办法直接解决这个问题的办法,估计是很难, 或者说没有办法直接解决,因为,在你之前, 在好几个OFFICE专业论坛上已经有人就这问题进行了探讨, 没有一个最终的解决方案. 其实,说到低,就是因为WORD默认的宏安全级别为高,因此, 想用VBA解决不可能,同样,如果是问卷调查,为了方便性, 我们一般不会要求客户把自己WORD的宏降为低. 我甚至找了有没有办法解决将WORD宏直接将为低等办法, 还有一种方式,就是通过数字签名,但好象需要付费, 具体的你可以查询一些资料. 最好想到了将WORD封装成EXE文件,我试了一下,好象可以, 我将WORD宏设成高,用生成的EXE打开后, 虽然在左上脚显示控件工具箱,但已经不是设计模式了. 你同样把你的WORD设成默认的高,保存后退出, 利用工具生成EXE文件,然后打开看看,如果是设计模式, 取消设计模式,保存退出,再打开~~ 我这测试一次成功,希望你也可以,就是不知道这样你是否能接受, 其实只要不影响你其他内容,用WORD,还是封装后的EXE, 至少个人感觉利用工具封装是个不错的选择,除了解决你的问题外, 还可以多的技术含量,呵呵~~~