精华内容
下载资源
问答
  • VB类模块使用

    2013-06-18 15:58:02
    VB类模块的使用简介,方便初学者学习使用
  • VB类模块学习

    2012-03-08 16:37:40
    VB类模块,学习VB的朋友可以参考下,很不错的
  • vb类模块教程

    2012-09-14 15:24:43
    介绍了vb类模块的使用,并配有代码,让初学者容易上手
  • 屏幕截图ScreenCapture(vb 类模块)。
  • VB类模块在数据库开发的应用VB类模块在数据库开发的应用
  • VB类模块的使用

    2020-03-15 21:59:26
    1.2 在VB工程中添加类模块 1.3 类模块的定义 代码如下:定义了三个属性,Let赋值,Get取值 Private pmethod As String Private pmatchStr As String Private ptargetStr As String Property Let...

    一、创建类模块及类的定义

    1.1 打开Excel中 开发工具“ Visual Basic” 如下图
    在这里插入图片描述
    1.2 在VB工程中添加类模块
    在这里插入图片描述
    1.3 类模块的定义
    在这里插入图片描述
    代码如下:定义了三个属性,Let赋值,Get取值

    Private pmethod As String
    
    Private pmatchStr As String
    
    Private ptargetStr As String
    
    
    Property Let method(str As String) '属性过程,简称属性
    pmethod = str '把赋过来的值存进字段
    End Property
    Property Get method() As String
    method = pmethod '把字段的值交给属
    End Property
    
    Property Let matchStr(str As String) '属性过程,简称属性
    pmatchStr = str '把赋过来的值存进字段
    End Property
    Property Get matchStr() As String
    matchStr = pmatchStr '把字段的值交给属
    End Property
    
    Property Let targetStr(str As String) '属性过程,简称属性
    ptargetStr = str '把赋过来的值存进字段
    End Property
    Property Get targetStr() As String
    targetStr = ptargetStr '把字段的值交给属
    End Property
    
    Public Function GetCloumnIndex(Worksheet) As Object
        Dim totalColumn, J
        Set GetCloumnIndex = CreateObject("Scripting.Dictionary")
        totalColumn = Worksheet.UsedRange.Columns.Count
         For J = 1 To totalColumn
             If Not GetCloumnIndex.Exists(Worksheet.Cells(1, J).Text) Then
                GetCloumnIndex.Add Worksheet.Cells(1, J).Text, J
            End If
            
            Next J
    End Function
    

    二、类模块在公共模块中的使用

    2.1 类的使用

    在公共模块中定义类,这里的Config是上述类模块中定义过
    类的引用
    Dim oneConfigItem As Config
    Set oneConfigItem = New Config
    或者
    Dim oneConfigItem As New Config
    在这里插入图片描述
    2.2 类属性使用
    先申明类
    Dim oneConfigItem As Config
    Set oneConfigItem = New Config
    然后直接调用属性
    oneConfigItem.method=“XXX” 或者 变量=oneConfigItem.method

    2.3 类方法的使用

    在类中定义Public方法,直接调用
    在这里插入图片描述

    Sub Test()
    
        Dim dataExcel, dataWorkbook, dataSheet
        
        Set dataExcel = CreateObject("Excel.Application")
        Dim targetFilePath As String, configpath
        targetFilePath = ThisWorkbook.Sheets(1).Cells(2, 2)
        configpath = ThisWorkbook.Sheets(1).Cells(3, 2)
        
       
        Dim configDict As Object
        Set configDict = GetConfigDic(configpath)
        
        Set dataWorkbook = dataExcel.Workbooks.Open(targetFilePath)
        Set dataSheet = dataWorkbook.Worksheets("sheet1") '读取sheet页的数据
    
    
        Dim oneConfigItem As Config
        Set oneConfigItem = New Config
        
        Dim clumns As Object
        
        clumns = oneConfigItem.GetCloumnIndex(dataSheet)
        
    End Sub
    
    展开全文
  • 几个VB类模块

    2019-03-14 01:07:02
    NULL 博文链接:https://sanbook.iteye.com/blog/304848
  • 引用 VB类模块

    2012-08-12 09:09:42
    对程序员和编程爱好者来说,VB的技术是学习中的一个难点,在大型软件的开发过程中,模块(Moudle)、控件(Active ocx)、链接库(Active dll)和(Class moudle)构成了系统化、高效化的软件工程,而的技术是...

    对程序员和编程爱好者来说,VB中类的技术是学习中的一个难点,在大型软件的开发过程中,模块(Moudle)、控件(Active ocx)、链接库(Active dll)和类(Class moudle)构成了系统化、高效化的软件工程,而类的技术是控件和链接库技术的基础,因此掌握类的理论和编程方法是非常有意义的。  
       
    (一)类的基本定义和应用概述
     
      类是包含了方法、属性、数据成员的高级代码模块,它既在模块的范畴之内,又是一个没有图形界面的Active ocx,程序员可以象使用控件一样使用它,但却不能看到它,值得注意的是,类是不能继承的。  
      类能够使我们高效的完成对某一个或者某几个特定的对象的复杂操作,对象的动作就是类的方法,对象的属性就是类的属性过程。相对而言,如果编程的对象是一组事物,那么,我们采用标准模块的方式是非常合适的,在下列两种情况下,应该使用类进行代码处理:  
      (1)创建大量性质相近的对象;  
      (2)提高代码的封装性。
      
      类的创建非常简单,在进行代码编写的时候,在“工程”菜单中选择“添加类模块”项目,就可以添加一个空白的类。
      
      类文件一般以.cls作为扩展名保存。
      
    (二)类的方法的实现
     
      类的方法类似于动态链接库的接口函数,它能够接受其他窗体代码的指定类型参数,并且传递到类中。一般来说类的方法是能够指定是否有返回值的。它在类中通常是一个public过程。请看下面的代码示例,它使一个密码框拒绝非字母的输入: 
     
    (1)类cls的代码;
        Option Explicit '变量检查
        Private WithEvents mytxt As TextBox
        '本类中的方法接受和控制一个text密码框
        Dim isNUM As Boolean
        '类的模块级变量
        Public Sub Attach(itTEXT As TextBox)
            '接受外部变量到mytxt中
            Set mytxt = itTEXT
        End Sub
        Private Sub mytxt_KeyUp(KeyCode As Integer, Shift As Integer)
            isNUM = (KeyCode >= 65) And (KeyCode <= 90)
            '测试密码框的键盘输入是否是英文字母
            If isNUM = False Then
                Beep
                mytxt.Text = ""
                '如果输入不是英文字母则响铃并且清空密码框内容
                MsgBox "非法字符输入!"
            End If
            Debug.Print mytxt.Text
            '调试输出密码框内容
        End Sub
        '类的代码结束
     

    (四)窗体代码的引用
    在窗体FORM1中添加文本控件TEXT1、下拉列表控件COMBO1、命令按钮COMMAND1(CAPTION = "开始转化"),调整三个控件到适当位置。
    Dim myT As New Class1    '类的引用
    Private Sub Form_Load()
        Combo1.Clear
        Combo1.AddItem "字符串大写转化"
        Combo1.AddItem "字符串小写转化"
        Combo1.AddItem "字符串逆向排序"
        Combo1.ListIndex = 0
        '在列表框中添加属性选项
    End Sub
    Private Sub Command1_Click()
        '当命令按钮按下时激活类
        myT.Attach Text1
        '方法参数联接
        Select Case Combo1.ListIndex
            Case 0
                myT.Biaozhi = Lbigit
            Case 1
                myT.Biaozhi = Lcaseit
            Case 2
                myT.Biaozhi = Nlogoit
        End Select
        '根据列表框的选择,给类的Biaozhi属性赋值,注意,在编程环境中,上述属性值自动添加
        Text1.Text = myT.dONE        '返回排序结束后的字符串
    End Sub
    Private Sub Form_Unload(Cancel As Integer)
        Set myT = Nothing
        End    '良好的编程习惯
    End Sub
      怎么样,我们的代码看起来如此的简洁,这种感觉就象是在使用一个控件,不仅可以随心所欲的调用,而且方便的使用了vb的自动提示功能。

    VB相关


    VB 读写TXT文本文件函数

    VB 提取TextBox 文本框中指定一行字符串

    VB 获取汉字拼音的首字母

    VB 汉字字符串转换成拼音

    VB判断指定名字的进程是否存在函数

    VB 两种方法实现热键

    VB 使用SendMessage枚举文件与目录

    VB 二进制数组与十六进制字符串相互转换

    VB 二进制数据读写实例

    VB 进制转换大全(十进制、十六进制、八进制、二进制、二进制流)互转

    VB 判断是否文本文件

    VB 读取UTF-8编码文件函数

    VB 按指定编码格式写入文本文件

    VB UTF-8 URL编码函数

    VB 实现UTF-8 GB2312互转

    VB 设置ListView中指定一行的背景颜色

    VB SendMessage向其他程序窗口发送字符串消息实例

    VB Listview导出到CSV文件函数

    vb卸载所有窗体

    VBNull, Empty, Nothing, and vbNullString的区别

    利用API函数计算程序运行时间VB

    获取快捷方式原文件路径vb路径

    利用VB函数Dir()实现递归搜索目录

    VB数组的清除和重新定义

    RtlAdjustPrivilege来调整进程权限(VB6.0代码)

    获取对象的接口信息(方法/属性/事件)(VB6代码)

    VB6中给数组赋值的限制

    [vb]一些窗口消息的详解

    VB直接播放EXE文件中的声音文件

    VB中利用CopyMemory使用指针

    VB读写注册表的三种方法

    [VB]SaveSetting 语句 和 DeleteSetting 语句

    VB APP对象属性一览表 + 灵活使用VBAPP对象

    [vb]SendMessageA函数

    使用VB绘制抛物线动画曲线

    关于vb中的容器

    [vb]利用WScript.Shell对象隐藏cmd命令行运行

    浅析VB For Each.Next语句

    VB中窗体模块、标准模块、类模块的区别

    引用 VB类模块

    VB中什么是类,类模块有什么作用

    VB SendKeys 语句

    VB 全局热键

    VB轻松调用其他程序

    vb读取txt文件到textbox

    如何去优化你的VB程序3

    如何去优化你的VB程序2

    如何去优化你的VB程序1

    [VB]在状态栏中显示帮助信息

    [VB]把屏幕保存为图像

    Mp3Play.ocx控件让音乐之声响起来


    更多精彩>>>
    展开全文
  • VB类模块中使用计时器

    千次阅读 2011-11-04 15:27:30
    Option Explicit '* ******************************************** * ...'* 功能:在VB类模块中使用计时器 '* 作者:lyserver '* ******************************************** * Private Declare Sub Cop
     
    

    Option Explicit
    '* ******************************************** *
    '* 模块名称:clsTimer.cls
    '* 功能:在VB类模块中使用计时器
    '* 作者:lyserver
    '* ******************************************** *

    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, _
        Source As Any, ByVal Length As Long)
    Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, _
        ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
    Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long

    Dim m_idTimer As Long
    Dim m_Enabled As Boolean
    Dim m_Interval As Long
    Dim m_lTimerProc As Long

    Public Event Timer()

    Private Sub Class_Initialize()
        m_Interval = 0
        m_lTimerProc = GetClassProcAddr(8)
    End Sub

    Private Sub Class_Terminate()
        If m_idTimer <> 0 Then KillTimer 0, m_idTimer
    End Sub

    Public Property Get Interval() As Long
        Interval = m_Interval
    End Property
    Public Property Let Interval(ByVal New_Value As Long)
        If New_Value >= 0 Then m_Interval = New_Value
    End Property

    Public Property Get Enabled() As Boolean
        Enabled = m_Enabled
    End Property
    Public Property Let Enabled(ByVal New_Value As Boolean)
        m_Enabled = New_Value
        If m_idTimer <> 0 Then KillTimer 0, m_idTimer
        If New_Value And m_Interval > 0 Then
            m_idTimer = SetTimer(0, 0, m_Interval, m_lTimerProc)
        End If
    End Property

    Private Function GetClassProcAddr(ByVal Index As Long, Optional ParamCount As Long = 4, Optional HasReturnValue As Boolean) As Long
        Static lReturn As Long, pReturn As Long
        Static AsmCode(50) As Byte
        Dim i As Long, pThis As Long, pVtbl As Long, pFunc As Long

        pThis = ObjPtr(Me)
        CopyMemory pVtbl, ByVal pThis, 4
        CopyMemory pFunc, ByVal pVtbl + (6 + Index) * 4, 4
        pReturn = VarPtr(lReturn)

        For i = 0 To UBound(AsmCode)
            AsmCode(i) = &H90
        Next
        AsmCode(0) = &H55
        AsmCode(1) = &H8B: AsmCode(2) = &HEC
        AsmCode(3) = &H53
        AsmCode(4) = &H56
        AsmCode(5) = &H57
        If HasReturnValue Then
            AsmCode(6) = &HB8
            CopyMemory AsmCode(7), pReturn, 4
            AsmCode(11) = &H50
        End If
        For i = 0 To ParamCount - 1
            AsmCode(12 + i * 3) = &HFF
            AsmCode(13 + i * 3) = &H75
            AsmCode(14 + i * 3) = (ParamCount - i) * 4 + 4
        Next
        i = i * 3 + 12
        AsmCode(i) = &HB9
        CopyMemory AsmCode(i + 1), pThis, 4
        AsmCode(i + 5) = &H51
        AsmCode(i + 6) = &HE8
        CopyMemory AsmCode(i + 7), pFunc - VarPtr(AsmCode(i + 6)) - 5, 4
        If HasReturnValue Then
            AsmCode(i + 11) = &HB8
            CopyMemory AsmCode(i + 12), pReturn, 4
            AsmCode(i + 16) = &H8B
            AsmCode(i + 17) = &H0
        End If
        AsmCode(i + 18) = &H5F
        AsmCode(i + 19) = &H5E
        AsmCode(i + 20) = &H5B
        AsmCode(i + 21) = &H8B: AsmCode(i + 22) = &HE5
        AsmCode(i + 23) = &H5D
        AsmCode(i + 24) = &HC3
        GetClassProcAddr = VarPtr(AsmCode(0))
    End Function

    Private Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
        RaiseEvent Timer
        'Debug.Print "类模板中的计时器:", uMsg, idEvent, dwTime
    End Sub

    '使用

    Option Explicit
    Public WithEvents Timer As clsTimer

    Private Sub Form_Load()
        Set Timer = New clsTimer
    End Sub

    Private Sub Form_Unload(Cancel As Integer)
        Set Timer = Nothing
    End Sub

    Private Sub Command1_Click()
        Timer.Interval = 1000
        Timer.Enabled = True
    End Sub

    Private Sub Command2_Click()
        Timer.Enabled = False
    End Sub

    Private Sub Timer_Timer()
    Debug.Print "Timer 事件"
    End Sub

    展开全文
  • 一个关机的VB类模块

    千次阅读 2004-12-02 18:11:00
    一个关机的VB类模块APIs WHICH HANDLES SHUTDOWN / RESTART / LOGOFF ETC..Option ExplicitPrivate Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As LongPrivate

    一个关机的VB类模块

    'APIs WHICH HANDLES SHUTDOWN / RESTART / LOGOFF ETC..

    Option Explicit

    Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
    Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
    Private Declare Function OpenProcessToken Lib "advapi32" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long
    Private Declare Function LookupPrivilegeValue Lib "advapi32" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long
    Private Declare Function AdjustTokenPrivileges Lib "advapi32" _
       (ByVal TokenHandle As Long, _
       ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES _
       , ByVal BufferLength As Long, _
    PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long

    Private Const EWX_FORCE As Long = 4

    Private Type LUID
       UsedPart As Long
       IgnoredForNowHigh32BitPart As Long
    End Type

    Private Type TOKEN_PRIVILEGES
      PrivilegeCount As Long
      TheLuid As LUID
      Attributes As Long
    End Type

    Public Enum EnumExitWindows
      WE_LOGOFF = 0
      WE_SHUTDOWN = 1
      WE_REBOOT = 2
      WE_POWEROFF = 8
    End Enum
    Private Sub AdjustToken()
      Const TOKEN_ADJUST_PRIVILEGES = &H20
      Const TOKEN_QUERY = &H8
      Const SE_PRIVILEGE_ENABLED = &H2
      Dim hdlProcessHandle As Long
      Dim hdlTokenHandle As Long
      Dim tmpLuid As LUID
      Dim tkp As TOKEN_PRIVILEGES
      Dim tkpNewButIgnored As TOKEN_PRIVILEGES
      Dim lBufferNeeded As Long

      hdlProcessHandle = GetCurrentProcess()
      OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or _
         TOKEN_QUERY), hdlTokenHandle

      ' Get the LUID for shutdown privilege.
      LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid

      tkp.PrivilegeCount = 1    ' One privilege to set
      tkp.TheLuid = tmpLuid
      tkp.Attributes = SE_PRIVILEGE_ENABLED

      ' Enable the shutdown privilege in the access token of this process.
      AdjustTokenPrivileges hdlTokenHandle, False, _
         tkp, Len(tkpNewButIgnored), tkpNewButIgnored, lBufferNeeded
    End Sub

    Public Sub ExitWindows(ByVal exitCommand As EnumExitWindows)
      AdjustToken
      ExitWindowsEx (exitCommand Or EWX_FORCE), 0
    End Sub

    '调用的时候只要这样
    Dim exitWin As New clsShutdown
    Private Sub cmdRestart_Click()
        On Error Resume Next
        exitWin.ExitWindows WE_REBOOT
    End Sub

    Private Sub cmdShutdown_Click()
        On Error Resume Next
        exitWin.ExitWindows WE_POWEROFF
    End Sub

     


     

    展开全文
  • VB 类模块Timer(无窗体)

    2010-12-29 16:21:38
    在别的模块调用时,Private WithEvents timer1 As clsTimer就行,Timer事件就是时间到了后被触发的事件.
  • VB中,属性是可以有参数的,而VBA中属性使用参数非常常见。比如最常用的:Worksheet.Range("A1:...定义一个类模块,模块名称Ints。为简化模型,使用了只读属性。 1 Private arr(3) As Integer 2 3 Publ...
  • MD5加密的VB类模块源码

    千次阅读 2005-09-09 02:17:00
    在窗体中调用时如下: set c1=new class class 为你存的类模快名 text1.text=md5_string_calc(sourcestring) 类模块源码如下: Option Explicit Visual Basic MD5 Implementation Robert Hubley and David Midkiff ...
  • VB-创建类模块DLL文件

    2019-09-26 05:02:30
    最近需要调用MSCOMM32.OCX控件,但是ABAP调用过程中发现无法同时发送多条记录,则需调整实现方式...这一部分内容主要是将VB类模块的创建过程记录下: 1.打开VB,创建ActiveX DLL文件   2.修改工程名为MSCommPrj...
  • VB中的类模块

    千次阅读 2019-02-18 14:21:22
    VB中的类模块
  • VB MD5类模块

    2013-03-08 20:40:55
    VB MD5加密类模块,单独模块方便调用
  • VB开发类模块自动生成器,可以选择数据库表自动生成VB6代码需要的类模块代码
  • vb自定义类模块

    千次阅读 2011-09-16 18:57:21
    类模块儿和一般常用的控件一样都是一种对象,具有事件、属性等性质。因此学会创建类模块儿对象,在编程中是非常重要的。 下面的自定义模块儿实现: 增加一个text属性;并自动验证前后两次字符串变量是否一致的功能...
  • vb MediaPlayer 类模块

    2006-03-16 00:00:00
    播放器类模块。通过调用 ActiveMovie control type library (Quartz.dll) 实现对媒体文件的播放,由于视频窗口使用自定容器的hWnd 属性,因此可以用setWindowRgn定制视频窗口形状。相对资源占用较少。可以调节音量,...
  • VB类模块实现子类化消息拦截源码,通用子类化模块,拦截本进程指定句柄的消息,经网友PctGL修正,代码更精简,执行效率更高。
  • VB中提供了三种类型的模块:窗体模块、标准模块和类模块。 简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体。最终可能有几个窗体中有一些共同都要执行...
  • 对程序员和编程爱好者来说,VB的技术是学习中的一个难点,在大型软件的开发过程中,模块(Moudle)、控件(Active ocx)、链接库(Active dll)和(Class moudle)构成了系统化、高效化的软件工程,而的技术是...
  • VB内存操作类模块

    2012-11-09 14:18:00
    VB内存操作类模块 Private Declare Function ReadProcessMemory Lib "kernel32.dll" (ByVal hProcess As Long, ByRef lpBaseAddress As Any, ByRef lpBuffer As Any, ByVal nSize As Long, By...
  • vb中如何使用类模块

    2013-01-01 20:44:45
    vb中使用模块具体调用,该文档仔细阐述了
  • 类模块,说白了就是一个自定义的类。里面主要面向对象的。 你可以自定一个对象,然后设置它的属性和方法。 举个例子,比如说关机,可以写成模块中的一个过程。 而游戏中,比如一个坦克,最好写成一个类模块。 ...
  • VB类模块的区别

    千次阅读 2011-07-17 10:50:08
    可以实例化为对象,而模块则不能。由于模块的数据只有一个副本,因此当程序的一部分更改模块中的公共变量时,如果程序的其他任何部分随后读取该变量,都会获取同样的值。与之相反,每个实例化对象的对象数据则单独...
  • FTP类模块(VB.net)

    热门讨论 2012-12-10 11:14:55
    VB.net FTP类模块 支持各类FTP操作,上传\下载\删除等

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 806
精华内容 322
关键字:

vb类模块