使用ADD-IN 技术加强Visual Basic 开发环境之一(转)

---- Visual Basic 5.0 是 一 个 功 能 强 大 的 集 成 开 发 环 境, 它 可 以 自 动 检 查 语 法 错 误, 提 示 编 码 员 语 法 格 式。 这 些 功 能 都 大 大 提 高 了 编 码 效 率。 可 是 它 作 为 快 捷 开 发 工 具, 它 的 特 点 还 突 出 体 现 在 那 就 是Add-In 技 术 上。 利 用 它, 我 们 可 以 强 化 和 定 制VB 开 发 环 境: 可 以 自 动 在 所 有Project 中 自 动 加 入 一 个 模 块; 可 以 将 每 个 模 块 中 的 某 个 模 块 替 换 成 另 一 个 模 块; 可 以 在 程 序 中 查 找 某 段 代 码, 并 将 它 替 换 掉; 理 论 上 讲, 我 们 甚 至 可 以 利 用 该 技 术 做 一 个 代 码 自 动 生 成 器。

---- Add-In 技 术 的 实 质 就 是VB 编 程 环 境 本 身 做 为 一 个 对 象 模 型 向 用 户 公 开 出 来, 我 们 可 以 将 一 个 模 块、 一 段 代 码 做 为 一 个 操 作 对 象 来 修 改、 优 化。 下 面, 我 们 通 过 一 个 实 例 来 介 绍Add-In 技 术 的 使 用。

---- 例 如, 你 想 将 程 序 中 的 这 样 一 段 代 码:

dim nIndex as integer
nIndex=cStr(vsFlex.Text)
替换为:
dim sIndex as string
sIndex=Spread.text

---- 包 括Word 在 内 的 大 多 数 编 辑 软 件 都 不 包 括 多 行 查 找 替 换 功 能,VB5.0 的 编 辑 器 也 不 例 外, 怎 么 办 呢 ?

---- 1、 打 开VB, 在 选 择Project 类 型 时 选 择"Add In"。 这 样, 我 们 就 打 开 了 一 个 名 叫My Addin 的Project。 将Project 名 称 改 为 你 希 望 的 名 字, 如"Test"。

---- 2、 打 开Addin.bas , 你 发 现 有 一 个AddToIni 的 子 程 序:

Sub AddToINI()
Dim ErrCode As Long
ErrCode = WritePrivateProfileString("Add-Ins32", "Myaddin.Connect", "0", "vbaddin.ini")
End Sub

---- 在 Windows 的 目 录 下, 有 一 文 件 叫vbaddin.ini , 每 次VB 启 动 时 将 根 据 该 文 件 的 设 置 确 定 有 那 些 可 用 的AddIn 程 序。AddToIni 的 功 能 实 际 就 是 将 当 前 的 程 序 注 册 到vbaddin.ini。 修 改"Myaddin.Connect" 为"Test.Connect", 使 之 与 当 前 的Project 名 称 对 应。

---- 3、 在Immediate 窗 口 执 行AddToIni , 完 成 对 当 前Addin 的 注 册。

---- 4、 打 开Connect.cls, 在 变 量 声 明 区 有: Implements IDTExtensibility

---- IDTExtensibility 是VB 和AddIn 程 序 交 互 的Interface。 当VB 在Addin 菜 单 选AddId Manager, 并 参 照 当 前 的Addin 程 序"Test" 时,OnConnect 事 件 就 会 触 发,IDTExtensibility_OnConnection() 程 序 将 被 执 行。 在 如 下 行 设 置 断 点:

---- Debug.Print VBInst.FullName

---- 运 行 当 前 程 序。

---- 5、 启 动 另 外 一 个VB 例 程, 生 成Standard EXE, 名 叫Project1。 从Addin 菜 单 选Addin Manager, 我 们 得 到 一 个 列 表, 我 们 选 择My Addin 并 返 回。 这 时,Test 被 启 动 并 停 在

---- Debug.Print VBInst.FullName

---- 注 意,VBInstance(VBInst) 就 是 指 使 用 该Addin 的VB 的 集 成 开 发 环 境(VBEObject)。 我 们 可 以 它 做 为 一 个 对 象 来 操 作。VBEObject 包 含VBProjects, 每 个VBProject 包 含Vbcomponents, 每 个VBComponet 对 应 一 个 模 块, 每 个Form, Class, 或Module。

---- 6、 我 们 在Test 的 立 即 窗 口 执 行:

---- ?VBInstance.ActiveProject.Name

---- 可 以 得 到Project1 的 名 称。

---- ?VBInstance.ActiveProject.VBComponent(0).Name

---- 可 以 得 到Project1 的 第 一 个 模 块Form1 的 名 称。

---- 到 此 为 止, 我 们 已 经 基 本 说 明 了AddIn 的 技 术 内 涵。 剩 下 的 工 作 就 很 容 易 理 解 了。

---- 7、 在Project1 的Addin Manager 中, 将MyAddin 去 掉。

---- 8、 再 修 改Test, 打 开frmAddin, 将[@more@]使用ADD-IN 技术加强Visual Basic 开发环境

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8781179/viewspace-925208/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8781179/viewspace-925208/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值