[原创]Word2003命令要览
时间:2006-06-06
来源:互联网

[此贴子已经被konggs于2006-6-6 13:16:50编辑过]
附件

2006-6-6 13:16, 下载次数: 1720
[原创]Word2003命令要览
作者: 雨雪霏霏 发布时间: 2006-06-06
收下,谢了
作者: 鑫11 发布时间: 2006-06-06
作者: ngcg 发布时间: 2006-06-06
作者: dragonfly0 发布时间: 2006-06-06
作者: roundwave 发布时间: 2006-06-06
我决定为此贴加上精华,楼主付出了很大的心血,并且在对VBA还不太了解的情况下,手动做成的,其精神可嘉,其义深远。
在楼主发送于守柔的短消息中,我深深被这份追求所感动。我把我能实现的想法说一下,供楼主参考,注意,这只是个半成品,不能算是自动的,很遣憾,我目前也无法成功自动取得对所有命令的中文说明,尤其是WORD2003及其以后版本。其中,我尽管对英文版进行了测试调用对话框中各参数的操作,也未能如愿以偿。以下代码运行之间请注意:
运行LISTCOMMANDS命令,将所有命令打印文档表格中,表格转换为文字,将命令中的所有空格替换掉。
以下一段小程序,是遍历段落中,提取段落中的WORD命令所在位置,然后调用自定义键盘对话框,注意,请核对自定义对话框中的命令是否与所在段落命令一致,如果不一定,需手动选择(这种情况很多),如果首次出现对话框时不是“所有命令”类,请手动选择该类,以后会自动记忆为该类。
出现并确认命令一致后,按下ALT+PRINTSCREENSYSRQ组合键,截屏。单击关闭命令,关闭对话框,全手动。
关闭后,WORD将自动粘贴该对话框,手动录入中文说明。
第二次运行该代码(请自定义该命令到快捷键或工具栏),自动删除第一次的图片。重复上述操作。
如果不能正确运行,请修改"ME"关键字为“Activedocument”或“Thisdocument”。
Sub Example()
Dim myDialog As Dialog, i As Paragraph, p As Long
Dim myRange As Range
'取得自定义对话框图像(临时解决命令的中文说明)
On Error Resume Next '忽略错误
Me.InlineShapes(1).Delete '删除嵌入式图片
Set myDialog = Word.Dialogs(wdDialogToolsCustomizeKeyboard) '定义一个自定义键盘对话框对象
For Each i In Me.Paragraphs '在当前文档段落中循环
Set myRange = i.Range '定义一个RANGE对象
p = VBA.InStr(myRange, vbTab) '取得制表位位置
myRange.SetRange myRange.Start + p, myRange.End - 1 '重新定义一个RANGE对象
If VBA.InStr(myRange, "△") = 0 Then '如果该RANGE对象中没有"△"标记,说明没有"中文说明"
If myRange Like "[a-zA-Z]*" Then '前面是命令,已去除空格
VBA.SendKeys "{TAB}", False '发送TAB键
VBA.SendKeys myRange.Text, False '向对话框发送命令名称,不一定正确,很多情况会不正确,可能是因为发送字符太多太快
If myDialog.Show = 0 Then '此时需要手动按下"ALT+PRINTSCREENSYSRQ"组合键,即手动截屏,然后手动关闭该自定义对话框
myRange.InsertAfter "△" '插入标志
myRange.SetRange myRange.End, myRange.End
myRange.Paste '粘贴截屏对话框
myRange.SetRange myRange.End, myRange.End
myRange.Select '设置为光标位置,此时手动键入中文说明(来自图中),下一次运行此代码时,自动此删除图片
Exit Sub
End If
End If
End If
Next
End Sub
作者: 守柔 发布时间: 2006-06-09
关于楼主的ID的疑问,我按照自己的理解:
ID是Word内置命令的索引号,是唯一标识。一个WORD命令(ID)可以在很多工具栏中出现,你可以使用Word.CommandBars.FindControls或者Word.CommandBars.FindControl方法进行。
一个ID(或者WORD命令),可以作用于多种场合,根据所选内容的不同,返回不同的结果。正如楼主所提的粘贴命令,它会根据所处环境的不同(粘贴命令所在的工具栏),复制对象的不同,得到不同的结果,而这些所有可能得到的结果,实际上都是这个命令中的代码起的作用。就象SELECT CASE语句一样。
等我有时间,我们再好好探讨一下吧。
作者: 守柔 发布时间: 2006-06-09
作者: 雨雪霏霏 发布时间: 2006-06-09
在6楼基础上进一步修改的程序,其使自动化程度更高,但部分命令在当前状态下不可运行时,仍需手动获取中文说明。
以下代码供参考:
Sub Example()
Dim myDialog As Dialog, i As Paragraph, p As Long
Dim myRange As Range
'运行代码前请选手动设置“宏”对话框中的“宏的位置”为“Word命令”
On Error Resume Next'忽略错误
'不能禁用屏幕更新
Me.InlineShapes(1).Delete'删除嵌入式图片
For Each i In Me.Paragraphs'在当前文档段落中循环
Set myRange = i.Range'定义一个RANGE对象
p = VBA.InStr(myRange, vbTab)'取得制表位位置
myRange.SetRange myRange.Start + p, myRange.End - 1'重新定义一个RANGE对象
If myRange Like "[a-zA-Z]*" Then'前面是命令,已去除空格
Set myDialog = Word.Dialogs(wdDialogToolsMacro)
With myDialog
Application.StatusBar = myRange.Text '状态栏提示
.Name = myRange.Text'命令名
SendKeys "{Enter}", False'预置运行命令
.Display
myRange.InsertAfter vbTab & .Description
End With
End If
Next
End Sub

[此贴子已经被作者于2006-6-13 7:20:17编辑过]
作者: 守柔 发布时间: 2006-06-13
作者: Amola 发布时间: 2006-06-13
作者: 雨雪霏霏 发布时间: 2006-06-13
作者: 雨雪霏霏 发布时间: 2006-06-13
几位大家之间的研讨,另我辈受益匪浅。
谢谢。
作者: casio24 发布时间: 2006-06-15

作者: gink 发布时间: 2006-07-18
作者: Office3527 发布时间: 2006-07-19
作者: 掏宝者 发布时间: 2006-07-21
为何我下载后无法解压?
作者: 小辨子 发布时间: 2006-07-22
不能解压~~
麻烦从新上传一下
[em02]作者: liustar123 发布时间: 2006-08-08
小弟再测试了一下,下载、解压完全正常。如果无法解压,请参考小弟如下步骤:
①下载两个压缩文件到电脑的任意一个文件夹(也可直接把两个文件下载到桌面操作)——注意,两个压缩文件一定要下载到同一个文件夹内;
②将第一个压缩文件重命名为“1.rar”,第二个文件重命名为“2.rar”;
③双击“1.rar”,点“解压→确定”,即可生成一个名字为“1”的文件夹,《Word2003命令要览》即在里头。
作者: 雨雪霏霏 发布时间: 2006-08-08
作者: xcyabc 发布时间: 2006-08-10
高,实在是高
作者: ai4ni 发布时间: 2006-08-11
多谢了,等俺水平高了,也为大家做点贡献
作者: gum 发布时间: 2006-08-11
作者: 爱学之客 发布时间: 2006-09-06
作者: sbhly819 发布时间: 2006-09-20
好东西,谢谢共享。
作者: odqpbo 发布时间: 2006-09-23
非常难得,谢谢楼主。
只是文档有一点缺陷:转换后的pdf文件不能搜索,大大降低了检索效率。
作者: weg 发布时间: 2006-09-23
作者: sgfgj 发布时间: 2006-10-05
好东西,谢谢共享。
作者: lyb200 发布时间: 2006-10-08
收藏起来学习一下,谢谢
作者: xiaohouye 发布时间: 2006-10-08
感谢感谢
作者: HEPCC1 发布时间: 2007-01-27
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28