精华内容
下载资源
问答
  • VBA 屏蔽窗口的“关闭按钮

    千次阅读 2018-12-07 10:50:59
    插入窗体,输入代码如下: Option Explicit ...'---此模块演示了禁用窗体关闭按钮--- '**************************************** '以下声明API函数 #If Win64 Then '64位 '查找窗口 Private Declare PtrS...

    插入窗体,输入代码如下:

    Option Explicit
    '****************************************
    '---此模块演示了禁用窗体关闭按钮---
    '****************************************
    '以下声明API函数
    #If Win64 Then '64位
        '查找窗口
        Private Declare PtrSafe Function FindWindow _
            Lib "user32" _
            Alias "FindWindowA" ( _
                ByVal lpClassName As String, _
                ByVal lpWindowName As String) _
        As LongPtr
        '取得窗体系统菜单
        Private Declare PtrSafe Function GetSystemMenu _
            Lib "user32" ( _
                ByVal hwnd As LongPtr, _
                ByVal bRevert As Long) _
        As LongPtr
        '删除菜单项
        Private Declare PtrSafe Function DeleteMenu _
            Lib "user32" ( _
                ByVal hMenu As LongPtr, _
                ByVal nPosition As Long, _
                ByVal wFlags As Long) _
        As Long
        '重绘窗体标题栏
        Private Declare PtrSafe Function DrawMenuBar _
            Lib "user32" ( _
                ByVal hwnd As LongPtr) _
        As Long
    #Else '32位
        '查找窗口
        Private Declare Function FindWindow _
            Lib "User32" _
            Alias "FindWindowA" ( _
                ByVal lpClassName As String, _
                ByVal lpWindowName As String) _
        As Long
        '取得窗体系统菜单
        Private Declare Function GetSystemMenu _
            Lib "User32" ( _
                ByVal Hwnd As Long, _
                ByVal bRevert As Long) _
        As Long
        '删除菜单项
        Private Declare Function DeleteMenu _
            Lib "User32" ( _
                ByVal hMenu As Long, _
                ByVal nPosition As Long, _
                ByVal wFlags As Long) _
        As Long
        '重绘窗体标题栏
        Private Declare Function DrawMenuBar _
            Lib "User32" ( _
                ByVal Hwnd As Long) _
        As Long
    #End If
    
    '以下定义常数
    Private Const MF_BYCOMMAND = &H0&
    Private Const SC_CLOSE = &HF060
    '以下下定义变量
    #If Win64 Then '64位
        Private FHwnd As LongPtr
        Private hMenu As LongPtr
    #Else
        Private FHwnd As Long
        Private hMenu As Long
    #End If
    
    ''关闭按钮点击
    'Private Sub BtCancel_Click()
    '    Unload Me
    'End Sub
    ''恢复按钮点击
    'Private Sub BtResume_Click()
    '    '恢复原菜单
    '    hMenu = GetSystemMenu(FHwnd, 1)
    '    '重绘窗体标题栏
    '    DrawMenuBar FHwnd
    'End Sub
    '**************************************
    '---------------主程序-----------------
    '**************************************
    Private Sub UserForm_Initialize()
        '查找窗口句柄
        FHwnd = FindWindow("ThunderDFrame", Me.Caption)
        '取得窗体系统菜单
        hMenu = GetSystemMenu(FHwnd, 0)
        '删除系统菜单中关闭菜单
        DeleteMenu hMenu, SC_CLOSE, MF_BYCOMMAND
        '重绘窗体标题栏
        DrawMenuBar FHwnd
    End Sub
    
    
    
    展开全文
  • EXCEL VBA未公开的内部函数,实现自动延时关闭对话框,可自定义延时时间。
  • 在excel应用程序中,我们在执行代码的时候,会弹出是否要确认执行该处理提示框。当然这个提示框不是我们用msgbox函数做出来的,而是系统自带用来防止误操作带来的影响。但是有时候我们并不希望有这个提示框,因为会...

    在excel应用程序中,我们在执行代码的时候,会弹出是否要确认执行该处理提示框。

    当然这个提示框不是我们用msgbox函数做出来的,而是系统自带用来防止误操作带来的影响。

    但是有时候我们并不希望有这个提示框,因为会影响我们的操作效率。那么如何去掉这个提示框呢?

    此代码的作用是删除工作簿中所有非正在活动的表格。运行程序,你会发现每次删除都会弹出下面的对话框Sub delSheet()

    Dim sht As Worksheet

    For Each sht In Worksheets

    If sht.Name <> ActiveSheet.Name Then

    sht.Delete

    End If

    Next

    End Sub

    cda033f7cf2a84dc87e03572cd3578fc.png

    解决办法:

    添加DisplayAlerts属性为FALSE,可以关闭程序运行中是否显示警告信息。

    注意:设置为false,要谨记在程序运行完重新设置为true!Sub delSheet()

    Dim sht As Worksheet

    Application.DisplayAlerts = False

    For Each sht In Worksheets

    If sht.Name <> ActiveSheet.Name Then

    sht.Delete

    End If

    Next

    Application.DisplayAlerts = True

    End Sub

    展开全文
  • VBA打开与关闭窗体的函数

    万次阅读 2018-05-23 17:13:40
    打开与关闭窗体的函数将一些常用命令写成函数,以简化您的程序如关闭窗体指令可将之写成以下形式放在模块中Function strCloseForm(strFormName As String) As String On Error GoTo strCloseForm_Err DoCmd.Close ...
    打开与关闭窗体的函数
    
    将一些常用命令写成函数,以简化您的程序

    如关闭窗体指令可将之写成以下形式放在模块中

    Function strCloseForm(strFormName As String) As String 
    On Error GoTo strCloseForm_Err    

      DoCmd.Close acForm, strFormName 

    strCloseForm_Exit: 
     Exit Function 


    strCloseForm_Err: 
     MsgBox Error$ 
     Resume strCloseForm_Exit 

    End Function

    调用方法:关闭本窗体 strCloseForm(Me.Name)
         关闭其它窗体 strCloseForm("FormName") 
    展开全文
  • 正 文:在利用ACCESS进行程序开发时,有时为了避免用户随意将程序关闭,需要临时禁用主程序窗口关闭按钮,我们可以利用下面的代码实现。在VBA编程器中新建下标准模块,把下面的VBA代码粘贴进去并保存,这时只要在...

    时 间:2017-12-03 13:22:58

    作 者:摘 要:    利用VBA禁用或启用Access主程序的关闭按钮。

    正 文:

    在利用ACCESS进行程序开发时,有时为了避免用户随意将程序关闭,需要临时禁用主程序窗口的关闭按钮,我们可以利用下面的代码实现。

    在VBA编程器中新建下标准模块,把下面的VBA代码粘贴进去并保存,这时只要在需要的时候调用AccessCloseButtonEnabled(  )函数即可。如:禁用关闭按钮就这样调用函数Call AccessCloseButtonEnabled(False);在需要启用关闭按钮时就这样调用Call AccessCloseButtonEnabled(True)。

    Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal wRevert As Long) As Long

    Private Declare Function EnableMenuItem Lib "user32" (ByVal hMenu As Long, ByVal wIDEnableItem As Long, ByVal wEnable As Long) As Long

    Public Sub AccessCloseButtonEnabled(pfEnabled As Boolean)

    On Error Resume Next

    Const clngCommand As Long = &H0&

    Const clngGrayed As Long = &H1&

    Const clngClose As Long = &HF060&

    Dim lngWindow As Long

    Dim lngMenu As Long

    Dim lngFlags As Long

    lngWindow = Application.hWndAccessApp

    lngMenu = GetSystemMenu(lngWindow, 0)

    If pfEnabled Then

    lngFlags = clngCommand And Not clngGrayed

    Else

    lngFlags = clngCommand or clngGrayed

    End If

    Call EnableMenuItem(lngMenu, clngClose, lngFlags)

    End Sub

    '禁用关闭按钮

    'Call AccessCloseButtonEnabled(False)

    '

    '启用关闭按钮

    'Call AccessCloseButtonEnabled(True)

    附   件:

    Access软件网官方交流QQ群(群号:39785885)

    Access源码网店

    展开全文
  • 在利用api引用excel到窗体的事件中,有时需要将小窗体按钮“最小化,最大化,关闭”隐藏起来
  • VBA实现窗口登录

    2021-10-29 10:17:41
    核心代码: ' 窗口事件 Private Sub CommandButton1_Click() ' 登录 If ComboBox2.Text = "" Or TextBox1.Text = "" Then MsgBox "请输入账户或密码", 1 + 64, "系统登录" Else If 特定用户密码登录(ComboBox2) = ...
  • VBA窗体默认只有一个关闭按钮,没有最大化和最小化按钮,下面的代码可以方便的为窗体增加最大、最小化按钮,让窗口使用更方便。 调用方法 窗体最大最小化 Me 窗体最大化 Me 函数代码 '窗体的最大最小化 Public ...
  • 如果消息框只是提醒用户,并不需要获取用户的输入,那么使用可以自动关闭的消息提示框,可以避免程序暂停挂起,无法继续执行的问题,但是VBA中提供的MsgBox无法实现自动关闭的功能。下面介绍一个未公开的Windows API...
  • VBA调用InternetExplorer操作IE浏览器,自动弹出文件选择对话框时,VBA会处于阻塞状态,你必须手工关闭文件选择对话框,VBA才能继续向后运行。 例如下面网址,就有一个文件浏览按钮: ... 我做了一个exe文件,可以在...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼跪求各位大神,最近因为VBA调用IE的问题弄得焦头烂额,深夜3点还是睡不着,小弟VBA小白一枚,在大量百度各种求救无奈之下发此贴,肯请各位老师帮忙看看下面代码的问题,...
  • 如何点击确定按钮tru VBA?任何帮助请...当我选择触发警报的项目时,我认为这是网页中的代码。这就是我在HTML脚本中看到的:function onUpdatedShowAlertTS(varControl) {if (varControl == "ddlProjectStatus")...
  • VBA自学应用(2)——制作简单的数据录入窗口

    万次阅读 多人点赞 2019-12-29 19:24:50
    1 Next ActiveCell.Offset(1).Select m = 0 Next End If End If '取消选中 Cells(Rows.Count, "B").End(3).Offset(1).Select End Sub 这里可以使用小技巧取消窗口自带的关闭按钮事件,找到对应事件键入以下代码就...
  • excel vba代码大全 更改Excel VBA代码以提高速度 (Change Excel VBA Code to Improve Speed)In some of my files, macros run automatically when you select a cell on the worksheet. For example, if you've ...
  • vb中运行vba代码 When changes need to be made to code, the easiest thing to do is obviously to just add, change or delete lines and be done with it. The problem with that is that after m...
  • EXCEL VBA常用代码

    万次阅读 多人点赞 2017-01-12 10:49:39
    1.显示活动工作簿名称 MsgBox "当前活动工作簿是 " & ActiveWorkbook.Name ...3.保存所有打开的工作簿关闭 EXCEL For Each W in Application.Workbooks W.Save Next W Application.Quit 4.将网格线
  • 功能需求:点击运行,可实现打开指定文件夹下的任一文件,并将此文件的sheet1表格的数据复制到当前VBA代码所处的ThisWorkbook的sheet1的表格中
  • 如何调试Excel VBA代码

    千次阅读 2019-06-03 03:08:50
    Excel VBA出错时给出的错误信息极少,需要充分利用各种工具来进行调试。 1.编译错误 常见的编译错误有: 错误的源代码格式,比如if后面缺少then:在编辑器中该行会变成红色。 错误的语法结构,比如if和end if没有...
  • 虽然在设计阶段我们可以轻易去除最大化、最小化按钮,但是关闭按钮却没有建议的去除方法。 那么我们如何让我们的VB程序屏蔽掉关闭、最大化、最小化按钮呢?本资源包含的源程序代码将为您解答。 本资源压缩包...
  • 摘 要:微软Office中的VBA编程功能可以将办公操作自动化。由于现代翻译中绝大多数原文和译文都用办公软件呈现,而且现代翻译中译前和译后的编辑工作基本上都可以在office软件中完成,因此VBA编程可以将翻译实践中的...
  • vb.net窗体关闭按钮触发事件

    千次阅读 2017-09-13 21:08:59
    Private Sub Form1_FormClosed( ByVal sender As ..."按钮切换总次数:" & num_button_all) logDemo.LogWriter(logDemo.LogTime & Space( 4 ) & "循环切换总次数:" & num_all) End Sub
  • 窗体是Excel VBA中提供的一种窗口对象。它属于工作簿对象(Workbook)中VB工程对象(VBProject)下的VB组件集合(VBComponents)中的一个组件。使用窗体制作专业化的软件界面时,Excel VBA允许在窗体中添加ActiveX...
  • VBA研究】如何防止用户关闭窗体

    万次阅读 2016-01-18 16:45:19
    VBA开发中经常用到窗体,这样界面可以做的漂亮一点,我们甚至可以关闭Excel应用窗口,只保留我们自己的窗口,只需要启动时增加关闭应用显示语句。虽然Excel应用窗口不显示,但不影响工作表的使用,依然可以在工作表...
  • vb之窗体关闭事件

    万次阅读 2014-11-29 19:12:10
    当一个 MDIForm 对象关闭时,QueryUnload 事件先在MDI 窗体发生,然后在所有 MDI 子窗体中发生。如果没有窗体取消 QueryUnload 事件,该 Unload 事件首先发生在所有其它窗体中,然后再发生在 MDI 窗体中。当一...
  • 如何运行VBA代码?其实很简单

    千次阅读 2021-05-11 15:17:39
    话说我们有一个完整的VBA代码系列,包含了多表汇总,总表拆分,图片导入等常见问题处理。后台回复关键字常用代码即可获取。但总会有朋友询问VBA代码如何使用,这里就先聊一下。举个例子。比如下面这段代码,作用是...
  • VBA代码片段

    2021-04-01 03:00:50
    1.累计求和的代码片段,首先输入要加到的数值,比方说输入100,那么结果就会求出1+2+3+…..+100的结果 Sub addnum() Dim num As Integer '定义要输入的整数num Dim num_sum As Integer '定义累加和变量num_sum num_sum...
  • Me.Controls("Textbox" & ctlIndex).Text Next ctlIndex End With End Sub 步骤4 返回工作表界面,添加一个ActiveX按钮控件“显示窗体”,并为其添加单击事件代码如下,然后退出“设计模式”。 Option Explicit ...
  • 以下是学习啦小编为您带来的关于Excel在代码窗口中编写程序的技巧,希望对您有所帮助。Excel在代码窗口中编写程序的技巧1、打开Visual Basic编辑器,选择“视图”|“工具栏”|“编辑”命令打开“编辑”工...
  • 你可以在VBA中进行win32编程!说明您可以使用win32 api函数SetWinEventHook让Windows向您报告某些事件.包括当前景窗口改变时触发的EVENT_SYSTEM_FOREGROUND.在下面的示例中,我根据Excel的进程ID检查新前景窗口的进程...
  • 由于业务需要,VBA又不适合于不熟悉代码的同事使用因此将原来的VBA代码改成Python代码并封装,后续有机会在进行改善完整代码 import xlrdimport xlwtfrom xlutils.copy import copyfrom tkinter import *def run1():...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,800
精华内容 720
关键字:

vba窗口关闭按钮代码