前言 1
第一部分 对插件的介绍 1
第1章 创建一个简单的VB插件 1
1.1 设计插件的公用接口 2
1.1.1 ActiveX组件的种类 2
1.1.2 为插件启动选项 3
1.1.3 与其他ActiveX组件的接口 4
1.2 集成一个插件的模块和成员 5
1.2.1 连接类模块 6
1.2.3 GenlPrcs标准模块 9
1.2.2 VBEvents类模块 9
1.2.4 Form模块 11
1.3 为插件的类模块过程编写代码 12
1.3.1 Connect类过程 13
1.3.2 VBEvents类过程 15
1.4 Gene的通用插件代码编写的十条重要提示 16
1.4.1 提示1—在GenlPrcs中将VBE声明为Public型的 16
1.4.2 提示2.—在可能情况下使用Accessor属性 17
1.4.3 提示3—在可能情况下将变量设为局部的 17
1.4.4 提示4—将局部对象变量命名为与它们的类型相同的名字 17
1.4.7 提示7—尽可能使用With语句 18
1.4.6 提示6—缩短长的对象表达式 18
1.4.5 提示5—使用For Each…Next而不是For…Next 18
1.4.8 提示8—尽可能地使用字符索引访问集合中的工程 19
1.4.9 提示9—使用固有的枚举常量 19
1.4.10 提示10—使用Collection和Parent属性 19
1.4.11 测试并调试一个插件 20
1.5 编译、注册并运行一个插件 23
1.5.1 General标签项 23
1.5.2 Make标签项 24
1.5.3 Compilc标签项 25
1.5.4 Component标签项 26
1.5.5 Windows注册项 27
1.5.6 运行一个插件 28
1.6 解决插件中的问题 29
第2章 定制一个插件的界面 30
2.1 Add-In Manager对话框 30
2.2 VBAI类库 34
2.3 VB Add-In Toolbar插件 36
2.3.1 插件工具条的注册项 38
2.3.2 通过编程来显示或隐藏插件工具条 41
2.3.3 控制插件工具条按钮的图标 43
2.3.4 编写插件工具条的行为代码 46
2.4.1 On Connection方法的三个方面 48
2.4 定制IDT扩展对象接口 48
2.4.2 定制OnStartupCompletc方法 53
2.4.3 Tweaking OnDisconnection方法 55
2.5 插件的窗体只显示一次 58
2.6 从插件中显示常用消息框 60
第二部分 如何使用插件对象和成员 65
第3章 VBIDE级插件对象 65
3.1 VBE对象 65
3.1.1 活动对象的访问属性 67
3.1.2 集合的访问属性 68
3.1.3 其他IDE级成员 68
3.2.1 AddIn对象的成员 69
3.2 Addins集合对象 69
3.2.2 Addins集合的Update方法 70
3.3 CodePanes集合对象 71
3.4 CommandBars集合对象 72
3.4.1 使用Office成员的缺点 72
3.4.2 使用Cmd对象的方法 73
3.5 VBProject集合对象 76
3.5.1 向VBIDE中增加一个工程 76
3.5.2 保存一个工程组及Rernove一个工程 78
3.5.3 其他的VBProjects集合成员 79
3.6.1 Windows对象访问属性 80
3.6 Windows集合对象 80
3.6.3 创建一个VB工具窗口 81
3.6.2 其他Windows对象成员 81
第4章 工程级插件对象和成员 83
4.1 工程的References集合 83
4.1.1 Reference对象的属性 83
4.1.2 增加、删除一个Reference对象 84
4.2 其他工程级成员 85
4.2.1 保存一个工程 86
4.2.2 编译一个工程 87
4.3 增加、RemoveVB组件 87
4.3.3 指定启动模块 88
4.3.1 增加由VB创建的模块 88
4.3.2 增加一个ActiveX设计器模块 88
4.4 操纵VB组件 89
4.4.1 非设计器访问属性 89
4.4.2 与设计器有关的成员 90
4.4.3 文件操纵成员 90
4.4.4 VBComponent对象的其他成员 92
4.5 用VBForm对象操作设计器 92
4.6 控制VBControls 94
4.6.1 包容器控件和ZOrder方法 94
4.6.2 其他VBControl对象成员 95
第5章 与属性和代码相关的插件对象 98
5.1 处理属性 99
5.1.1 property对象的属性 100
5.1.2 设置返回对象的属性 101
5.1.3 设置包含数组的属性 102
5.2 处理代码 103
5.2.1 增加和格式化代码 103
5.2.2 Code Module对象的方法 104
5.2.3 Code Module对象的属性 106
5.3.1 Member对象的种类 108
5.3 处理成员 108
5.3.2 Member对象的使用 109
5.4 Add-In Interface Builder插件 110
5.4.1 Add-In Interface Builder插件的窗体 110
5.4.2 Add-In Interface Builder的代码 111
第6章 与事件相关的插件对象 116
6.1 Add-In Events Log插件 117
6.1.1 声明插件Event对象 118
6.1.2 创建对象的事件过程 119
6.1.3 使事件过程做出响应 120
6.1.4 刷新事件句柄 121
6.1.5 编写插件事件过程程序 122
6.2 与事件相关的插件的使用 123
6.2.1 有关Rcfemce对象自动化的想法 123
6.2.2 有关VBProject对象自动化的想法 124
6.2.3 有关VBComponent对象自动化的想法 124
6.3 Controls Monitor插件 125
6.3.1 设置控件的Name属性 126
6.3.2 对Name属性更改的反应 129
6.3.3 剪切、拷贝并粘贴控件/代码 131
6.3.4 更改TabIndex和Index设置 134
7.1 Dialog Builder插件程序 135
第7章 插件程序和对话框 135
第三部分 插件程序专题研究 135
7.1.1 Dialog Builder如何工作 136
7.1.2 由Dialog Builder创建的MsgBox代码 137
7.1.3 Dialog Builder中MsgBox的代码 141
7.1.4 Dialog Builder的其他功能 145
7.2 programmer s Log插件程序 147
7.2.1 建立一个ActiveX文档 148
7.2.2 显示一个ActiveX文档 148
7.2.3 关闭/打开一个ActiveX文档 150
第8章 ActiveX控件的Tutor插件程序 152
8.1.1 Tutor插件的FRM模块 153
8.1 设计Tutor插件 153
8.1.2 Tutor程序的RES模块 156
8.1.3 其他设计考虑点 157
8.2 Tutor插件程序如何工作 159
8.2.1 从文件Tutor.TXT中加载代码 160
8.2.2 改变一个VB的IDE窗口的标题 162
8.2.3 增强Tutor插件程序 165
9.1 可重用过程的情况 167
9.2 可重用过程的障碍 170
9.2.1 未封装的过程 170
9.3 Code Librarian如何工作 171
9.2.2 非通用过程 171
9.2.3 不适当的开发工具 171
9.3.1Code Librarian的文件构造 172
9.3.2 从库中恢复代码 173
9.3.3 向库中存储一个过程 177
9.4 增强Code Librarian程序 177
第四部分 插件词典 182
Activate方法 182
ActiveCodePane属性 182
ActiveVBProject属性 183
ActiveWindow属性 184
Add方法 185
AddButton方法(VBAI) 186
AddCustom方法 187
Add File方法 187
AddFromFile方法 188
AddFromGuid方法 188
AddFromString方法 189
AddFrmnTemplate方法 189
AddIn对象 190
Addins集合/属性 191
AddMenu方法[VBAI] 192
AddMenuItem方法[VBAI] 193
Add PopupMenu方法[VBAI] 194
AddToAddInToolbar方法 195
AddToolBar方法[VBAI] 196
Add ToolBarButton方法[VBAI] 197
Add ToolboxProgID方法 198
AfterAddFile事件 199
AfterChangeFileName事件 199
AfterCloseFile事件 200
AfterRemoveFile事件 201
AfterWriteFile事件 201
AITBar对象[VBAI] 202
Rindable属性 203
BeforeLoad File事件 203
Browsalble属性 204
Build FileName属性 205
BuiltIn属性 205
CanPaste属性 206
Caption属性 206
Categcry属性 207
ClassName属性 207
Clear方法 208
Close方法 208
CloseSubKey方法[VBAI] 209
CodeLocation属性 210
Cmd对象[VBAI] 210
CodeModule对象/属性 211
CodePane对象/属性 212
CodePanes集合/属性 213
CodcPaneView属性 214
Collection属性 214
CommandBarEvents对象/属性 215
CommandBars集合/属性 216
CompatibleOleSever属性 217
Connect方法[VBAZ] 217
Connect属性 218
ContainedVBControls集合/属性 219
Conainer属性 220
ControlObject属性 220
ControlType属性 221
Copy方法 221
CopyButtonIoon方法(VBAI) 222
Count属性 222
CoutOfDeclarationLines属性 223
CountOfLinesProperty{属性} 223
CountOfVisibleLines属性 224
CreatEventProc方法 224
CreateToolWindow方法 225
Cut Method(方法) 226
DefaultBind属性 226
DelButton方法 227
Deletelines方法 227
DelValue方法[VBAI] 229
Description属性 229
Designer属性 231
DesignerID属性 231
Designer Window方法 232
DisplayBind属性 232
DoGetNewFileName事件 233
DisplayModel属性 233
Events Object/Property(对象/属性) 235
FileControlEvents Object|Property 235
FileCount属性 238
FileName方法 238
FileName属性 238
FileName属性 239
Find方法 239
FullName属性 241
FullPath属性 241
GetControlType方法[VBAI] 241
GetDesc[VBAI] 242
GetSelcction方法 243
GetSubKeyName方法[VBAI] 243
GetSubKeysCount方法[VBAI] 244
GetValue方法[VBAI] 245
GetValucName方法[VBAI] 245
GetValuesCount方法[VBAI] 246
Guid属性 247
HasOpenDesigner属性 248
Height属性 248
HelpContextID属性 248
Hidden属性 249
HelpFile属性 249
Hide方法[VBAI] 250
IIWnd属性(隐含) 251
IconState属性 252
IDTExtesibility对象 252
IndexedValuc属性 254
InSelection属性 254
InsertLines方法 255
IsBeingDebuggod方法[VBAI] 255
IsBroken属性 256
Is Dirty属性 257
IsButton方法[VBAI] 257
IsDisplayed方法[VBAI] 258
IsFormDisplayed方法[VBAI] 258
IsMeauItem方法[VBAI] 259
IsSublicy方法[VBAI] 260
IsWinNT方法[VBAI] 261
Item方法 261
ItemActivated事件 263
ItemAdded事件 263
ItemReloadod事件 264
ItemRenamed事件 265
ItemRemoved事件 265
ItemSeleied事件 266
LastUsed Path属性 266
Left属性 267
Lines属性 267
LinkedWindowFrame属性 268
LinkedWindows集合/属性 269
MainWindow属性 270
Major属性 270
MakeCompiledFile方法 270
Manager对象 271
Member对象 272
Members集合/属性 273
Minor属性 274
Name属性 274
NumIndices属性 275
Object属性 275
OnAddInsUpdate方法 276
OnConnection方法 277
OnDisconnection方法 278
OnStartupComplete方法 279
OpenSubKey方法[VBAI] 280
ProcBodyLine,ProcCountLines属性 281
Parent属性 281
Paste方法 281
ProcOfLine属性 282
ProcStartLine属性 283
ProgID属性 284
Properties集合/属性 284
Propcrty对象 285
PropertyPage属性 287
Quit方法 287
ReadProperty方法 288
RcakOnlyMode属性 288
Reference对象 289
References集合/属性 290
ReferencesEvents对象/属性 291
Reg对象[VBAI] 292
Rcload方法 293
Remove方法 293
RemoveAddInFromToolbar方法 293
ReplaceLine方法 294
RequestChangeFileName事件 295
Requestfxlit属性 295
RequestWriteFile事件 296
Saved属性 297
SaveAs方法 297
Scope属性 298
SelectAll方法 298
SelectedVBComponent属性 299
SelectedVBControls集合/属性 299
SelectedVBControlsEvents对象/属性 301
SerFocus方法 302
SetSelection方法 302
Show方法 303
SetValuc方法[VBAI] 303
Show方法[VBAI] 304
ShowMsg方法[VBAI] 304
StandardMctbod属性 306
StartMode属性 307
StartProject属性 308
StartupObject属性 308
Static属性 309
TemplatcPath属性 309
Top属性 309
Type属性 310
TopLine属性 310
UIDefault属性 312
UpDate方法 313
Util对象[VBAI] 313
Valuc属性 314
VBComponent对象 315
VBConiponents集合/属性 316
VBComponentEvents对象/属性 317
VBControl对象 318
VBControls集合/属性 320
VBControlsEvents对象/属性 321
VBE Object属性 322
VHForm对象 323
VBProject对象 324
VBProjects集合/属性 325
VBProjectsEvents对象/属性 326
Version属性 327
Width属性 329
Window对象/属性 329
Windows集合/属性 330
WindowStatc属性 331
WriteProperty方法 332
Zorder方法 332