ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 守柔

[原创] 守柔WORD-VBA讲座[2005-9-13日更新]

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2011-5-30 14:54 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
WORD 也能VBA?谢谢啦!

TA的精华主题

TA的得分主题

发表于 2011-9-19 15:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
下面是一个WORD限制打开次数的宏
Private Sub Document_Open()
Dim avar As Variable
Dim abool As Boolean
On Error Resume Next
For Each avar In ActiveDocument.Variables
If avar.Name = "限次" Then
abool = True
avar.Value = avar.Value + 1
Exit For
End If
Next avar
If abool = False Then
ActiveDocument.Variables.Add Name:="限次", Value:=1
End If
If avar.Value > 5 Then
MsgBox "你已经达到了5次,将会关闭"
ActiveDocument.Save
ActiveDocument.Close
End If
ActiveDocument.Save
End Sub





现在两个问题不明白:

一是:新做一个文件,加入代码后,为什么第一次打开,就会显示次数到了,而第二次仍可以打开,然后要到规定次数再关闭;
二是:那些关于avar.Name = "限次" ,这“限次”两个字在代码中有什么用?
上面的代码能不能简化一下?
请教高手!!

TA的精华主题

TA的得分主题

发表于 2011-9-25 19:38 | 显示全部楼层
各位老师,使用OFFLCE 十年了,从来没遇到过这种情况,电脑中的WORD文件,有的打得开,有的打不开,彻底卸了重装,也不行,按照网上的方法,那些残余的文件都删除了,注册表了清理了,再装,也不行,为什么呀???


有的文件打开很正常,有的打开时就会出现图片所示,求大救我!!!

TA的精华主题

TA的得分主题

发表于 2012-7-9 08:54 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
真心感谢版主,学到不少东西

TA的精华主题

TA的得分主题

发表于 2012-10-13 14:26 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-6-29 08:57 | 显示全部楼层
守柔 发表于 2005-7-20 09:43
第二课:录制宏、编辑宏与优化宏上一课中,我们初步认识了VBA是什么,怎么进入VBE编辑器,以及VBE的环境设置 ...
  1. Sub OurExample() '这部分说明来自录制宏对话框
  2. ' OurExample Macro ' 宏在 2005-7-20 由 I Love You_Word! 录制
  3. ' "&chr(10)&"WORD-VBA专题讲座之二 '
  4. Selection.WholeStory'全选文档,CTRL+A
  5. With Selection.Font '对选定文字
  6. .NameFarEast = "华文细黑" '东亚字体
  7. .NameAscii = "Tahoma" '设置拉丁文(字符代码从 0(零)到 127 的字符)所用的字体
  8. .NameOther = "Tahoma" '设置字符代码从 128 到 255 的字符的字体
  9. .Name = "华文细黑" '字体名称
  10. .Size = 12 '字号
  11. .Bold = True '粗体
  12. .Italic = False '非斜体
  13. .Underline = wdUnderlineNone '无下划线
  14. .UnderlineColor = wdColorAutomatic '下划线颜色自动
  15. .StrikeThrough = False '无删除线格式
  16. .DoubleStrikeThrough = False '无双删除线格式
  17. .Outline = False '无镂空格式
  18. .Emboss = False '无阳文格式
  19. .Shadow = False '无阴影格式
  20. .Hidden = False '不隐藏文字
  21. .SmallCaps = False '不小型大写字母
  22. .AllCaps = False '不全部字母大写
  23. .Color = wdColorAutomatic '自动字体颜色
  24. .Engrave = False '不阴文
  25. .Superscript = False '不上标
  26. .Subscript = False '不下标
  27. .Spacing = 0 '字符间距
  28. .Scaling = 100 '不缩放
  29. .Position = 0 '正常位置
  30. .Kerning = 1 '最小字号
  31. .Animation = wdAnimationNone '无动态效果
  32. .DisableCharacterSpaceGrid = False '不忽略选定文本每行中的字符数
  33. .EmphasisMark = wdEmphasisMarkNone '不设置着重号
  34. End With
  35. With Selection.ParagraphFormat'对于选定内容的段落格式
  36. .LeftIndent = CentimetersToPoints(0)'左缩进为0,即无
  37. .RightIndent = CentimetersToPoints(0)'右缩进为0,即无
  38. .SpaceBefore = 12'段前12磅
  39. .SpaceBeforeAuto = False'不自动设置指定段落的段前间距
  40. .SpaceAfter = 12'段后为12磅
  41. .SpaceAfterAuto = False'不自动设置指定段落的段后间距
  42. .LineSpacingRule = wdLineSpace1pt5'行距为1.5倍
  43. .Alignment = wdAlignParagraphJustify'段落对齐方式,常规,两端对齐
  44. .WidowControl = False'重新分页时段中的首行或末行有可能单独位于上页的页尾或下页的页首。
  45. .KeepWithNext = False'文档重新分页时,指定段落与下一段可能位于下一页
  46. .KeepTogether = False'Word 对文档重新分页时同一段中的各行可能不位于同一页上。
  47. .PageBreakBefore = False'指定段落前不插入分页符
  48. .NoLineNumber = False'不设置行号
  49. .Hyphenation = True'段落进行自动断字
  50. .FirstLineIndent = CentimetersToPoints(0)'首行缩进为0,即无首行缩进
  51. .OutlineLevel = wdOutlineLevelBodyText'大纲级别为正文文本
  52. .CharacterUnitLeftIndent = 0'段落的左缩进为0字符
  53. .CharacterUnitRightIndent = 0'段落的右缩进为0字符
  54. .CharacterUnitFirstLineIndent = 0'段落的首行缩进为0字符
  55. .LineUnitBefore = 0'设置指定段落的段前间距(以网格线为单位),0
  56. .LineUnitAfter = 0'设置指定段落的段后间距(以网格线为单位),0
  57. .AutoAdjustRightIndent = True'指定的每行字符数,自动调整所选段落的右缩进。 .DisableLineHeightGrid = False'段落中的字符与行网格不进行对齐。
  58. .FarEastLineBreakControl = True'应用东亚语言文字的换行规则
  59. .WordWrap = True'西文单词中间断字换行
  60. .HangingPunctuation = True'允许标点溢出边界
  61. .HalfWidthPunctuationOnTopOfLine = False'行首标点符号不改为半角字符 .AddSpaceBetweenFarEastAndAlpha = True'中文文字和拉丁文字之间自动添加空格 .AddSpaceBetweenFarEastAndDigit = True'中文文字和数字之间添加空格
  62. .BaseLineAlignment = wdBaselineAlignAuto'自动调整活动文档中的基线字体对齐方式
  63. End With
  64. End Sub '----------------------
复制代码

TA的精华主题

TA的得分主题

发表于 2013-6-29 09:15 | 显示全部楼层
守柔 发表于 2005-7-20 09:44
好家伙,WORD的宏记录把所有对话框中的信息都录上去了,这样子,尽管我们可以方便地使用它,总是感觉不太 ...
  1. Sub Example()
  2. With ActiveDocument.Content
  3. With .Font
  4. .Name = "华文细黑"
  5. .Size = 12
  6. .Bold = True
  7. End With
  8. With .ParagraphFormat
  9. .SpaceBefore = 12
  10. .SpaceAfter = 12
  11. .LineSpacingRule = wdLineSpace1pt5
  12. End With
  13. End With
  14. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2013-7-22 16:50 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-10-26 09:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
学习了,谢谢分享

TA的精华主题

TA的得分主题

发表于 2013-12-4 12:23 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 09:58 , Processed in 0.044561 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表