vb 6.0开发工具的使用

低丶调 2018-11-18 09:21:24
vb6.0开发工具里貌似没有把code你某些code转成大写或者小写的功能,如vs里有ctrl + u可以,
这个有招 吗?
...全文
1193 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
milaoshu1020 2019-01-22
  • 打赏
  • 举报
回复
楼主,自己写的话用快捷键很麻烦的,还是推荐用宏插件.
你可以试试.
milaoshu1020 2019-01-19
  • 打赏
  • 举报
回复
1.去这里下载一个VB6宏插件: https://download.csdn.net/download/sonic_andy/2704364 2.将下边的代码覆盖到宏工程的类模块中:
Option Explicit
' 若希望在不启动IDE的情况下直接运行宏,则需要编译此工程
' 若需要扩展功能可另外添加模块/类模块,窗体等部件
' 但是请不要修改此类的类名及当前工程的名称

Implements IVB6MacroModule ' 请勿修改

' 接口函数,在运行宏的时候会调用此函数
' 参数objVBInstance为VB的IDE对象,若要了解其函数及属性可以按F2键查看VBIDE类型库,浏览时可按F1键定位帮助
' 参数strFunc为宏名称字符串,此参数可以用来分配任务,最简单的方式是用Select Case语句来判断
' 返回值为布尔类型,此值说明了本函数是否成功处理了strFunc指定的宏
Private Function IVB6MacroModule_Execute(objVBInstance As VBIDE.VBE, ByVal strFunc As String) As Boolean
    Select Case strFunc
    Case "打开宏插件对话框"
        ' 使用菜单控件的Execute执行打开操作,这里忽略错误
        Call objVBInstance.CommandBars("Add-Ins").Controls("VB宏插件(&M)").Execute
    Case "设置注释块"
        Call objVBInstance.CommandBars.FindControl(Id:=192).Execute
    Case "解除注释块"
        Call objVBInstance.CommandBars.FindControl(Id:=2552).Execute
    Case "切换为大写"
        Call ChangeSelectionCase(objVBInstance, True)
    Case "转换为小写"
        Call ChangeSelectionCase(objVBInstance, False)
    Case Else
        ' 运行到这里,说明是无法识别的宏,此时需要返回False
        IVB6MacroModule_Execute = False
        Exit Function
    End Select
    ' 运行到这里,说明宏已经正确处理过了
    IVB6MacroModule_Execute = True
End Function

Private Sub ChangeSelectionCase(ByVal objVBInstance As VBIDE.VBE, ByVal blnUpperCase As Boolean)
    Dim strTemp As String
    strTemp = Clipboard.GetText(vbCFText)
    
    Dim a As Long
    Dim b As Long
    Dim c As Long
    Dim d As Long
    Call objVBInstance.ActiveCodePane.GetSelection(a, b, c, d)
    Dim i As Integer
    For i = 1 To 100
        DoEvents
    Next
    
    Call objVBInstance.CommandBars.FindControl(Id:=19).Execute ' 复制
    For i = 1 To 100
        DoEvents
    Next

    Dim strData As String
    strData = Clipboard.GetText()
    If blnUpperCase Then
        strData = UCase(strData)
    Else
        strData = LCase(strData)
    End If
    Call Clipboard.Clear
    Call Clipboard.SetText(strData)
    Debug.Print strData
    
    Call objVBInstance.CommandBars.FindControl(Id:=22).Execute ' 粘贴
    For i = 1 To 100
        DoEvents
    Next
        
    Call objVBInstance.ActiveCodePane.SetSelection(a, b, c, d)
    For i = 1 To 100
        DoEvents
    Next
    
    Call Clipboard.SetText(strTemp, vbCFText)
End Sub

' 接口函数,在插件需要更新功能列表时会调用此函数
' 参数colFuncInfos为函数信息的集合对象,通过它的AddNew可以向其添加新的功能信息
Private Sub IVB6MacroModule_LoadFuncInfos(colFuncInfos As VBMacroAddin.FuncInfos)
    ' 这里可以添加宏,同时指定宏的名称,快捷键,以及是否重置
    Call colFuncInfos.AddNew("打开宏插件对话框", vbKeyM, vbCtrlMask, False) ' 默认热键为 Ctrl + M
    Call colFuncInfos.AddNew("设置注释块")
    Call colFuncInfos.AddNew("解除注释块")
    Call colFuncInfos.AddNew("切换为大写", vbKeyU, vbShiftMask Or vbCtrlMask, False)
    Call colFuncInfos.AddNew("转换为小写", vbKeyU, vbCtrlMask, False)
End Sub
3.编译宏工程,覆盖原来的dll. 4.在VB(非宏工程)的外接程序菜单中,选择VB宏插件,在对话框中修改相应快捷键. 5.完成上面的步骤之后,就可以使用宏来完成操作了.
脆皮大雪糕 2019-01-18
  • 打赏
  • 举报
回复
推荐你去下载一个VB6 IDE支持鼠标滚轮的插件,带源代码的。百度搜搜应该能有。 里面实际涉及挂钩获取IDE的鼠标消息,你稍微改改,变成获取键盘消息,从而判定你设定的快捷键,再获取IDE里选择的文本(可以发ctrl +C 消息,然后再从剪切板里获得) ucase处理以后再替换掉选择文本(set clipbord 以后再发ctrl+V消息)
脆皮大雪糕 2019-01-18
  • 打赏
  • 举报
回复
处女座么,sql语句又无所谓大小写。除非是字符串字段的条件判定,这个难道不是应该在写SQL的时候就已经确定好大小写的么。 你的SQL语句是敲进去的还是粘贴进去的?如果敲进去的,不能自己决定一下大小写么?如果是粘贴进去的貌似只是这个改大小写的操作在粘贴前做还是粘贴后做的问题咯。 真要做,去看看VB6 IDE plugin开发的相关资料
低丶调 2019-01-18
  • 打赏
  • 举报
回复
比方说有一个地方写了sql,我想直接把他里面的sql都改成小写的,如果有快捷方式弄这个的话,我就不用把code又粘贴到别的地方改好再弄回来,就这么简单的需求
低丶调 2019-01-18
  • 打赏
  • 举报
回复
引用 9 楼 脆皮大雪糕 的回复:
处女座么,sql语句又无所谓大小写。除非是字符串字段的条件判定,这个难道不是应该在写SQL的时候就已经确定好大小写的么。
你的SQL语句是敲进去的还是粘贴进去的?如果敲进去的,不能自己决定一下大小写么?如果是粘贴进去的貌似只是这个改大小写的操作在粘贴前做还是粘贴后做的问题咯。
真要做,去看看VB6 IDE plugin开发的相关资料


别人的code规范是sql都用小写。。。然而在没有看规范文档就写了一些sql,或者直接改别人以前写的不按规范的sql,这就是我为什么问有没有这种快捷键操作的目的。。。
l30191f 2019-01-17
  • 打赏
  • 举报
回复
大小写有很大关系吗?
crycoming 2019-01-15
  • 打赏
  • 举报
回复
只要修改定义行,其它行的大小写会自动替换
VB业余爱好者 2018-12-05
  • 打赏
  • 举报
回复
复制-粘到WORD里面-全部大写(小写)-复制-粘回来
tansx 2018-11-25
  • 打赏
  • 举报
回复
VB没有自带这功能的
threenewbee 2018-11-20
  • 打赏
  • 举报
回复
应该是没有,自己写一个addin插件(vb有外接程序模板,参考下) 用ucase/lcase
脆皮大雪糕 2018-11-20
  • 打赏
  • 举报
回复


vs6里面ctrl+u是将代码全部 转换为大写,在vb里面,关键字啥的都是根据定义自动调整字母的大小写的,变量、对象的方法属性等也是根据定义自动更新的。

如果你看着代码中的东西不爽,自定义的变量、函数、方法啥的,你只要改变定义行的写法,各处代码会自动做相应的改变。
如果你是想把字符串里面的内容统一调整大小写,可以用ucase之类的函数转换一下,也可以用UE之类的编辑器批量修改完再拷贝粘贴回来,我个人喜欢把串拷贝到立即执行窗口用ucase转换一下,得到的结果再贴回去。
总之,VB6大小写不敏感,并且IDE很智能(个人认为现在被称为宇宙第一IDE的VS,易用性在vb6出现10年之后才逐渐追平VB6),个人觉得除了对字符串常量修改有这样的使用场景以外,貌似没有把代码改变大小写的需要。
舉杯邀明月 2018-11-19
  • 打赏
  • 举报
回复
不清楚你说的意思。



我知道VB6的“替换”功能可以处理一些……
另外:如果是“标识符”,只要在“定义”的地方更改其大小写,
  工程中的相应标识符会全部“更新”成新定义的格式。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧