+ -
当前位置:首页 → 问答吧 → [原创]Word2003命令要览

[原创]Word2003命令要览

时间:2006-06-06

来源:互联网

经过“海量”整理校对,小弟终于赶在Word2007“山雨欲来”前夕整理出《Word2003命令要览》,今天恰逢2006.06.06,真是“顺利”,呵呵!  小弟目前正在试用Word2007,里头的种种新功能,让人不能不感叹Word真的“更新换代”了,强大的智能菜单、即时预览编辑效果等等功能,让人激动难已。然而,“自定义工具栏”的难觅踪影,却也让习惯于DIY Word2003的人们无所适从。Word2007的“ListCommands”命令所列出来的“命令名”,都已经较Word2003大为简略,要想从命令名中直接窥得Word2007奥妙,已经相当困难。大家要想真正DIY Word2007,怕是先要好好熟悉Word2003的各种命令才可。那么,小弟今天整理完成的《要览》,或许可以为大家提供一点帮助!不胜荣幸!  自来EH的Word论坛,不足一月,收获却已抵过去“游击”数年!这个“家”里,守柔、Konggs两位版主坦荡立身、热心传艺,堪称佳话!小弟歆羨不已!还请“二老”(呵呵)多多指点无知小弟!  也请大家在看了《要览》之后,提出批评意见,小弟定当全部收下!谢谢!  小弟还打算进行快捷键的整理,整理结果将另帖发布,敬请留意! acJkBX0I.rar (870.34 KB)
acJkBX0I.rar (870.34 KB)
[原创]Word2003命令要览
下载次数: 1414
2006-6-6 13:16

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

附件

GpkIia4P.rar(976.56 KB)

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

小弟何能,竟先后得孔兄赏“金币”、老大加“精华”!  前头已经得到“二老”极多的关怀照顾与支持,现在又“恩宠有加”,小弟愧极!同时,亦窃窃暗喜:能得“二老”及众兄弟首肯,小弟的汗水,或许还真能给大家带来一点小小的助益!小弟当在此后的学习路上好好用心,享受兄弟们带来的神山仙果的同时,亦不敢把自己的“丑陋的小土豆”藏为“私房”!  老大“半自动宏”果然奇妙!细细加了注释,更是体贴小弟!算是又让小弟“开眼”了!老大总能有别样的思路!小弟佩极!  老大的命令对于单台电脑的操作,自然是绝对的“OK”的。  只是小弟忘了告诉老大,小弟在整理《要览》时是两台电脑协同工作的,一台处于自定义键盘状态,一台则是在ListCommands所有命令列表中编辑,这样倒也不影响手工的文字录入速度,甚至有些地方还较老大“半自动宏”的效率要高一些,虽然电量耗费大了些。  归结一点,这样的整理,瓶颈仍然是“自动取得中文说明”问题。这样的难题,关联到“域”的中文说明、Excel“函数”的中文说明等等Office套件里各种各样的“中文说明库”。小弟的猜想,大概这些“中文说明库”已经被微软“绝对编译”,无法再通过任何方式“自动取得”了。那么,是否可以直接向微软总部求得这些“中文说明”原始数据库?  毕竟,想要学习Office套件,有这些含中文说明的《命令全集》《域全集》《函数全集》,自然要顺手许多。不然,若是手上只有一台电脑,要把这些东西全部整理出来,就是用上老大神妙的“半自动宏”,也仍然所耗甚大,有这雄心而难有时间与体力。当然,这样的问题,小弟觉得是在难为各位MVP了!究竟是一行软件有一行软件的规矩,小弟毛头小伙,信口雌黄,还请老大见谅!  老大所言ID问题,解去小弟心中不少谜团,小弟现在的理解是:老大Word命令ID总结题中的结果,不管在出现在几个区域中,凡是ID相同的,都属于同一个命令——这个命令的“代码”十分丰富,有些像“变色龙”,走到哪山便唱哪山戏,如“剪切”命令,在绘图里就“剪切图形”,在文字里则“剪切文字”。  这样的情况,在小弟整理的《要览》中,大概也有一些类似体现吧(开头的编码为A列编码)。①类别、图标、中文命令名、Alt字母快捷键、中文说明一样,英文命令名不一样:348.格式50 编号(&N) Format Multilevel Default   根据当前默认值创建编号列表349.格式51 编号(&N) Format Number Default    根据当前默认值创建编号列表356.格式56 编号(&N) Format Simple Number Default 根据当前默认值创建编号列表②类别、图标、Alt字母快捷键、英文命令名、说明不一样,中文命令名一样:176.绘图9 衬于文字下方(&H) Draw Toggle Layer    Switches whether the drawing object  appears in the front of or behind the text327.绘图14 衬于文字下方(&D) Format Drawing Object Wrap Behind   将所选图形对象更改为在文字下方无环绕    在老大的总结题整理结果中,以下内容大概可以说明一点问题(行首为区域编码及名称):23. WordArt      23.6 文字环绕(&T)  ID:=140426. Picture       26.11 文字环绕(&T) ID:=140427. Drawing Canvas   27.4 文字环绕(&T)  ID:=140428. Organization Chart  28.5 文字环绕(&T)  ID:=140429. Diagram      29.8 文字环绕(&T)  ID:=1404  在老大的整理结果中,以下ID、图标等信息相同的命令,小弟以为它们各自的中文说明或英文说明(如果有)是不一样的:1. Standard         1.6打印(&P)   ID:=252116. Print Preview       16.1打印(&P)  ID:=252117. Word for Macintosh 5.0  17.19打印(&P)   ID:=252118. Read Mail        18.4打印(&P)   ID:=252119. Send Mail        19.6打印(&P)   ID:=252135. Outlook Read Mail    35.4打印(&P)   ID:=252136. Outlook Send Mail    36.3打印(&P)   ID:=2521  对小弟而言,《Word命令全集》问题是一个很复杂的问题,当然还包括提取图标时保证其鲜艳度的问题。甚至,还包括,“选择性粘贴”对话框里的选项是“选择性粘贴”命令的一个个代码呢,还是分别对应一个命令?  要完成《Word命令全集》,把各种信息完美无差错整合在一个表格里,小弟现在的估计相当悲观——怕是没有这样的可能了。尤其是面对“命令大门紧闭”的Word2007,小弟要把“自定义→键盘→所有命令”(内场)与“自定义→所有命令”(外场)对上号,已几无可能,其他信息的整合,更是不可想象。  拉拉杂杂许多,还是未把问题梳理表述清楚,请老大原谅!  烦动老大处,小弟深感不安,尤其现在老大正忙得不可开交,还抽出了这许多功夫来指导小弟、鞭策小弟,实让小弟恨难相报!  此问题,仍请老大在办完要紧事后再作处理,现在切莫为小弟的“空想”过于耗费精神!

作者: 雨雪霏霏   发布时间: 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

命令和代码见附件: mCbSYeCe.rar (19.97 KB)
mCbSYeCe.rar (19.97 KB)
下载次数: 104
2006-6-13 07:20

[此贴子已经被作者于2006-6-13 7:20:17编辑过]

作者: 守柔   发布时间: 2006-06-13

学习。谢谢!

作者: Amola   发布时间: 2006-06-13

老大大忙之中,竟把小弟的“空想”放在心上一直放在心上,此恩难忘!  这回,可以称为“全自动宏”了!老大的水平及头脑,让小弟目瞪口呆!——这究竟是人还是神?呵呵。  初步测试结果:  在老大的附件中,有1073个命令,小弟分别在“Word命令”“所有的活动模板和文档”两个位置运行“全自动宏”,前者用时20分钟,后者用时25分钟。其中,有96个命令无法取得中文说明(这些应该就是老大说的“在当前状态下不可运行”的命令)。  在Word2007中文版测试版中,ListCommands所有命令列表中,有1743个命令,宏位置选“Word命令”,运行老大的“全自动宏”,与Word2003中不同,运行过程中需要不断点击宏对话框中的“取消”或右上角的“关闭”,这样,才能继续进行“提取工作”,小弟猜想,应该是在Word2007中无法顺利跳过那些没有任何说明的命令。用时是30分钟。其中,有611个命令没有任何说明。    对于这611个命令的说明的取得,小弟以为,若是单台电脑操作,完全可以再结合老大的“半自动宏”来手工输入,但编码似乎要修改一下,怎么改,小弟没有头绪。  有点事情,暂时写这么些,向老大120度鞠躬!

作者: 雨雪霏霏   发布时间: 2006-06-13

小弟也有意对Word2007所有命令进行整理,有了老大的“全自动宏”,省了许多气力,谢意难表!  整理过程中,遇到的问题仍然很“粗”:  Word2007中文版的“外场”(图标加中文按钮名,以中文按钮名排序)与“内场”(英文命令名)难以对应上。  命令所在的“类别”,也比Word2003混乱得多,某一命令,在甲类别中有了,却还出现在乙类别中或“其他命令”中,如:“Distribute Para 分散对齐”,既属于“开始”,又属于“Blog Post”;“Doc Split 水平拆分并调整活动窗口”,既属于“视图”,也属于“其他命令”。  联系到ID的问题,Word2007“外场”里的命令分布,更接近于“ID”的143个区域的分布,但仍然难以对上号。比较典型的有“文件”类别里有20个“版权管理权限策略”命令,鼠标悬停其上时都显示“文件|版权管理权限策略(AdminTemplateslist)”。这20个“同样的命令”是重复了呢,还是不相同的命令?如果真要配上ID,到底哪一个ID才是呢?  加配ID的问题能解决,以及“小类别”(诸如“自选图形→连接符”中的种种不同形状的连接符)里的图标、英文命令名、中文说明能解决,则《全集》可出成矣。  现在小弟的想法,能完成《全集》,大概也可以算是Word的半个“解剖师”了。  老大提取命令“说明”的方法,给人带来了许多的遐想:是否也可以用到“域”说明的提取呢?是否可以提取“当前状态下不可运行”命令的说明呢?是否可以用到所有命令的图标的“鲜艳提取”呢?  呵呵,种种问题,搅成一团,小弟想想一下都累,老大却还有极大的耐性条分缕析,硬是弄出了个“全自动宏”,小弟也是想想一下都“怕”——老大的阵势,看来非得把Word整个给吞下去了!  不明不白说了以上这许多,老大看得头也晕了吧,呵呵!建议老大还是省一点气力,以后莫想小弟这个问题了。

作者: 雨雪霏霏   发布时间: 2006-06-13

几位大家之间的研讨,另我辈受益匪浅。

谢谢。

作者: casio24   发布时间: 2006-06-15

高手 啊  高手!

作者: gink   发布时间: 2006-07-18

[em06][em06][em06]

作者: 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