Private Sub OKButton_Click()
MsgBox VBInstance.FullName
End Sub
改为:
Private Sub OKButton_Click()
Call mReplace()
End Sub
Private Sub mReplace()
Dim oPro As VBProject
Dim oCom As VBComponent
Dim bFind As Boolean
Dim nFindLine as integer
Dim nfindCol as integer
Screen.MousePointer = vbHourglass
On Error GoTo errmReplace
Set oPro = VBInstance.ActiveVBProject
'检查程序是否已保存
If oPro.FileName = "" Then MsgBox "请先保存!" ; Exit Sub
For Each oCom In oPro.VBComponents
bFind = True
Do While bFind
'查找要替换的代码段
bFind=oCom.CodeModule.Find("dim nIndex as integer", nFindLine, nfindCol, oCom.CodeModule.CountOfLines, 500, True
If bFind Then
If oCom.CodeModule.Lines(nFindLine+1, 1)= "nIndex=cStr(vsFlex.Text)"
' 找到后替换
oCom.CodeModule.ReplaceLine
nFindLine, "dim sIndex as string"
oCom.CodeModule.ReplaceLine
nFindLine+1, "sIndex=Spread.text"
Else
bFind=false
End If
End If
Loop
Next oCom
Screen.MousePointer = vbDefault
Exit Sub
errmReplace:
Beep
Screen.MousePointer = vbDefault
MsgBox "ERROR!"
End Sub
---- 9、 我 们 再 使Test 进 入 运 行 状 态。
---- 10、 我 们 再 重 复 第 五 步, 会 在Project1 的Addin 菜 单 中 多 一 项"My Addin"。 我 们 在Project1 中 加 入 一 些 要 替 换 的 代 码, 然 后 执 行My Addin, 替 换 工 作 就 会 完 成。
---- 11、 有 朋 友 不 希 望 在Addin 菜 单 出 现"My Addin" 字 样, 而 是 具 有 更 明 确 含 义 的 标 识, 如" 替 换"。 改 动Test 的Connect Class----IDTExtensibility_OnConnection(), 将
Set mcbMenuCommandBar = AddToAddInCommandBar("My AddIn")
改为 Set mcbMenuCommandBar = AddToAddInCommandBar("替换")
如果你想将Addin Manager中的My Addin改为
"Replace",可用notepad打开Connect.cls,将:Attribute VB_Description = "My Add-In"
改为:Attribute VB_Description = "Replace"
---- 以 上 介 绍 地 只 是AddIn 技 术 的 一 个 简 单 应 用, 了 解 其 机 理 后, 大 家 可 根 据 需 要 做 出 自 己 的 工 具。 对 于 一 些 专 业 的 应 用 软 件 开 发 商 来 说, 积 累 越 多 的AddIn 工 具, 便 可 以 大 大 提 高 编 码 效 率。[@more@]
MsgBox VBInstance.FullName
End Sub
改为:
Private Sub OKButton_Click()
Call mReplace()
End Sub
Private Sub mReplace()
Dim oPro As VBProject
Dim oCom As VBComponent
Dim bFind As Boolean
Dim nFindLine as integer
Dim nfindCol as integer
Screen.MousePointer = vbHourglass
On Error GoTo errmReplace
Set oPro = VBInstance.ActiveVBProject
'检查程序是否已保存
If oPro.FileName = "" Then MsgBox "请先保存!" ; Exit Sub
For Each oCom In oPro.VBComponents
bFind = True
Do While bFind
'查找要替换的代码段
bFind=oCom.CodeModule.Find("dim nIndex as integer", nFindLine, nfindCol, oCom.CodeModule.CountOfLines, 500, True
If bFind Then
If oCom.CodeModule.Lines(nFindLine+1, 1)= "nIndex=cStr(vsFlex.Text)"
' 找到后替换
oCom.CodeModule.ReplaceLine
nFindLine, "dim sIndex as string"
oCom.CodeModule.ReplaceLine
nFindLine+1, "sIndex=Spread.text"
Else
bFind=false
End If
End If
Loop
Next oCom
Screen.MousePointer = vbDefault
Exit Sub
errmReplace:
Beep
Screen.MousePointer = vbDefault
MsgBox "ERROR!"
End Sub
---- 9、 我 们 再 使Test 进 入 运 行 状 态。
---- 10、 我 们 再 重 复 第 五 步, 会 在Project1 的Addin 菜 单 中 多 一 项"My Addin"。 我 们 在Project1 中 加 入 一 些 要 替 换 的 代 码, 然 后 执 行My Addin, 替 换 工 作 就 会 完 成。
---- 11、 有 朋 友 不 希 望 在Addin 菜 单 出 现"My Addin" 字 样, 而 是 具 有 更 明 确 含 义 的 标 识, 如" 替 换"。 改 动Test 的Connect Class----IDTExtensibility_OnConnection(), 将
Set mcbMenuCommandBar = AddToAddInCommandBar("My AddIn")
改为 Set mcbMenuCommandBar = AddToAddInCommandBar("替换")
如果你想将Addin Manager中的My Addin改为
"Replace",可用notepad打开Connect.cls,将:Attribute VB_Description = "My Add-In"
改为:Attribute VB_Description = "Replace"
---- 以 上 介 绍 地 只 是AddIn 技 术 的 一 个 简 单 应 用, 了 解 其 机 理 后, 大 家 可 根 据 需 要 做 出 自 己 的 工 具。 对 于 一 些 专 业 的 应 用 软 件 开 发 商 来 说, 积 累 越 多 的AddIn 工 具, 便 可 以 大 大 提 高 编 码 效 率。[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8781179/viewspace-925209/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8781179/viewspace-925209/