VBA技巧46 禁用工作簿的关闭按钮

合集下载

excel vba关闭窗体的代码

excel vba关闭窗体的代码

excel vba关闭窗体的代码
"Excel VBA关闭窗体的代码"是指使用Visual Basic for Applications (VBA)编程语言来关闭Excel工作簿或用户定义的窗体的代码。

VBA是一种用于自动化Excel任务的强大编程语言。

在Excel VBA中,有多种方法可以关闭工作簿或窗体,以下是其中一些示例:
1.关闭当前工作簿:
Workbooks().Close
2.关闭特定的工作簿:
Workbooks("WorkbookName.xlsx").Close
3.关闭所有的工作簿:
Application.Workbooks.Close
4.关闭所有的工作簿,但不保存更改:
Application.Workbooks.Close SaveChanges:=False
5.关闭当前窗体:
Me.Close
6.关闭所有的窗体:
For Each obj In Application.Windows
obj.Close
Next obj
总结来说,Excel VBA关闭窗体的代码是指使用VBA编程语言来关闭用户在Excel中创建或打开的窗体。

这可以用于关闭当前活动的窗体、特定的工作簿或所有的工作簿和窗体。

在执行关闭操作时,可以根据需要选择保存更改或取消保存更改。

VBA技巧45 关闭工作簿不显示保存对话框

VBA技巧45   关闭工作簿不显示保存对话框

技巧1 关闭工作簿不显示保存对话框当用户更改工作簿后,没有进行保存操作而直接关闭工作簿时,将显示如图1-1所示的消息框,提示用户是否保存对工作簿的更改,如果希望不显示该消息框而直接关闭关闭工作簿,可以在关闭时进行相应的设置。

图1-1 提示保存对话框1-1 使用Close方法关闭工作簿使用Close方法关闭工作簿的,可以在Close方法中指定相应的参数,如下面的代码所示。

#001 Sub wbClose_1()#002 ThisWorkbook.Close SaveChanges:=False#003 End Sub代码解析:wbClose_1过程使用Close方法关闭工作簿,并放弃所有对工作簿的更改。

应用于Workbook对象的Close方法关闭对象,语法如下:expression.Close(SaveChanges, Filename, RouteWorkbook)其中SaveChanges参数是可选的,如果工作簿没有改变则忽略此参数;如果工作簿发生了改变并且在另外的窗口中也打开了该工作簿,则仍然忽略此参数;如果工作簿发生了改变并且没有在另外的窗口中打开,则此参数将指定是否在工作簿中保存所发生的更改。

取值与操作如表格1-1所示:表格1-1 SaveChanges参数值的作用如果希望在关闭工作簿时自动保存更改,将SaveChanges参数值设置为True即可。

还可以在使用Close方法关闭工作簿时设置Workbook对象的Saved属性,如下面的代码所示。

#001 Sub wbClose_2()#002 ThisWorkbook.Saved = True#003 ThisWorkbook.Close#004 End Sub代码解析:wbClose_2过程使用Close方法关闭工作簿,并放弃所有对工作簿的更改。

Workbook对象的Saved属性指示工作簿从上次保存至今是否发生过更改,如果工作簿进行了更改,则该属性值为False,否则为True。

vba如何去屏蔽一些功能?看完这些代码你应该会得到启发!

vba如何去屏蔽一些功能?看完这些代码你应该会得到启发!

vba如何去屏蔽⼀些功能?看完这些代码你应该会得到启发!献给今⽇头条的朋友们:常⽤的屏蔽代码:mandBars(''Worksheet Menu Bar'').Enabled = False ''屏蔽菜单栏Application.DisplayFormulaBar = False ''屏蔽编辑栏Application.DisplayStatusBar = False ''屏蔽状态栏下⾯任选⼀组即可,不可同时出现。

mandBars(''Standard'').Visible = False ''屏蔽常⽤⼯具栏,右键可选mandBars(''Formatting'').Visible = False ''屏蔽格式⼯具栏,右键可选mandBars(''Standard'').Enabled = False ''去除常⽤⼯具栏,右键也删掉mandBars(''Formatting'').Enabled = False ''去除格式⼯具栏,右键也删掉mandBars(''Toolbar list'').Enabled = False ''屏蔽右键⼯具栏mandBars(''cell'').Enabled = False ''屏蔽单元格右键单击mandBars(''Column'').Enabled = False ''屏蔽列右键单击mandBars(''Row'').Enabled = False ''屏蔽⾏右键单击Application.Assistant.Visible = False ''应⽤程序的辅助的可见mandBars.DisableCustomize = True ''去除右键⼯具栏中的“⾃定义”ActiveWindow.DisplayHeadings = False ''屏蔽⾏号列标ActiveWindow.DisplayWorkbookTabs = False ''屏蔽⼯作表标签ActiveWindow.DisplayVerticalScrollBar = False ''屏蔽垂直滚动条ActiveWindow.DisplayHorizontalScrollBar = False ''屏蔽⽔平滚动条mandBars(''ply'').Enabled = False ''屏蔽⼯作表标签右键单击mandBars(''Visual basic'').Enabled = False ''屏蔽应⽤程序的<命令块>(''Visualbasic'' )的激活Application.OnKey ''%{f11}'', '' '' ''屏蔽组合键ALT+F11,%代表ALTApplication.OnKey ''%{F11}'' ''解除屏蔽ALT+F11Application.OnKey ''%{f8}'', '' '' ''屏蔽组合键ALT+F8Application.OnKey ''%{f8}'' ''解除屏蔽ALT+F8Application.OnKey ''^{f11}'', ''VBEdit'' ''屏蔽组合键Ctrl+F11,插⼊宏表,^代表CtrlApplication.OnKey ''^{f11}'' ''恢复组合键Ctrl+F11,插⼊宏表Application.OnKey ''^f'', '' '' ''屏蔽组合键Ctrl+F,查找Application.OnKey ''^h'', '' '' ''屏蔽组合键Ctrl+H,替换Application.OnKey ''^{Break}'', '' '' ''屏蔽CTRL+Break中断Application.OnKey ''^{Break}'' ''解除CTRL+Break中断崋说简单传播。

vba屏蔽Excel中的菜单功能

vba屏蔽Excel中的菜单功能

vba屏蔽Excel中的菜单功能1、屏蔽“菜单”中的项:mandBars(1).Controls('文件(&F)').Enabled = False '屏蔽文件菜单mandBars(1).Controls('编辑(&E)').Enabled = False '屏蔽编辑菜单mandBars(1).Controls('视图(&V)').Enabled = False '屏蔽视图菜单mandBars(1).Controls('插入(&I)').Enabled = False '屏蔽插入菜单mandBars(1).Controls('格式(&O)').Enabled = False '屏蔽格式菜单mandBars(1).Controls('工具(&T)').Enabled = False '屏蔽工具菜单mandBars(1).Controls('数据(&D)').Enabled = False '屏蔽数据菜单mandBars(1).Controls('窗口(&W)').Enabled = False '屏蔽窗口菜单mandBars(1).Controls('帮助(&H)').Enabled = False '屏蔽帮助菜单2、屏蔽“菜单”中的子项:mandBars(1).Controls('编辑(&E)').Controls('填充(&I)').Enabled = False '屏蔽“编辑”菜单中的“填充”项mandBars(1).Controls('工具(&T)').Controls('选项(&O)...').Visible = False '去除工具-选项mandBars(1).Controls('工具(&T)').Controls('选项(&O)...').Enabled = False '工具-选项变灰色3、禁用粘贴:mandBars('Cell').Controls('粘贴(&P)').Enabled = False '禁用右键粘贴mandBars('Cell').Controls('选择性粘贴(&S)...').Enabled = FalsemandBars(1).Controls('编辑(&E)').Controls('粘贴(&P)').Enabled = FalsemandBars(1).Controls('编辑(&E)').Controls('选择性粘贴(&S)...').Enabled = FalsemandBars(1).Controls('编辑(&E)').Controls('office 剪贴板(&B)...').Enabled = FalsemandBars(3).Controls('粘贴(&P)').Enabled = FalsemandBars.DisableCustomize = True4、其他mandBars(1).Controls('工具(&T)').Controls('自定义(&C)...').Enabled = FalseApplication.OnKey '^v', '' '禁用键盘'Ctrl+V'Application.OnKey '^v' '恢复键盘'Ctrl+V'mandBars.DisableAskAQuestionDropdown = True '去除工作表右上角的帮助栏mandBars('Reviewing').Visible = False '屏蔽审阅mandBars('Formula Auditing').Visible = False '屏蔽公式审核mandBars('Control T oolbox').Visible = False '屏蔽控件工具箱mandBars('Stop Recording').Visible = False '屏蔽录制宏mandBars('Forms').Visible = False '屏蔽窗体mandBars('Drawing').Visible = False '屏蔽绘图5、屏蔽/解除整段代码:视图-》工具栏-》编辑,选中代码,然后在编辑的工具栏里“设置注释块和“解除注释块”按钮Application.EnableCancelKey = xlDisabled '应用程序的EnableCancelKey=完全禁用“取消”键捕获功能Application.EnableCancelKey = xlInterrupt '应用程序的EnableCancelKey=中断当前运行程序,用户可进行调试或结束程序的运行。

vba close方法

vba close方法

vba close方法VBA中提供了多种关闭工作簿、工作表和应用程序的方法。

关闭操作是VBA编程中常见的一项任务,通过关闭不再需要的对象,可以释放系统资源,提高程序的运行效率。

下面将介绍VBA中关闭操作的几种常用方法。

1. Close方法Close方法是VBA中最常用的关闭工作簿的方法。

它用于关闭当前工作簿并将其从内存中卸载。

具体代码如下:```Workbooks("工作簿名字.xlsx").Close```使用Close方法时,需要指定要关闭的工作簿的名称。

如果工作簿已有未保存的更改,关闭时会提示用户保存更改。

2. Save方法Save方法用于保存工作簿的修改,并关闭工作簿。

具体代码如下:```Workbooks("工作簿名字.xlsx").SaveWorkbooks("工作簿名字.xlsx").Close```使用Save方法时,系统会自动保存工作簿的修改,不会提示用户保存更改。

3. SaveAs方法如果想要将工作簿保存为新的文件名或文件类型,可以使用SaveAs方法。

具体代码如下:```Workbooks("工作簿名字.xlsx").SaveAs "新的文件名.xlsx"Workbooks("工作簿名字.xlsx").Close```这段代码将工作簿保存为新的文件名,并将其关闭。

4. Quit方法Quit方法可以关闭Excel应用程序。

它会关闭所有打开的工作簿,并终止Excel进程。

具体代码如下:```Application.Quit```使用Quit方法时需要注意,如果有未保存的工作簿,系统会提示用户保存更改。

5. Visible属性Visible属性用于设置工作簿或工作表的可见性。

将Visible属性设置为False可以隐藏工作簿或工作表,并关闭相应窗口。

具体代码如下:```Workbooks("工作簿名字.xlsx").Visible = False```这段代码将隐藏名为"工作簿名字.xlsx"的工作簿,并关闭相应窗口。

VBA技巧44禁用宏则关闭工作簿

VBA技巧44禁用宏则关闭工作簿

技巧1 禁用宏则关闭工作簿通常情况下,当应用程序的宏安全性的安全级别设置为“中”时,打开包含Microsoft Excel 4.0版的宏的工作簿,将显示如图 441所示的“安全警告”对话框。

图 441 安全警告对话框如果用户选择“禁用宏”按钮,则会显示如图 442所示的警告消息框,当用户选择“否”时,不能打开该工作簿;用户选择“是”时,打开该工作簿,但VBA 宏被禁止,而Microsoft Excel 4.0版的宏未被禁止。

图 442 Microsoft Excel 4.0宏警告对话框我们可以利用禁用VBA宏不能禁止Microsoft Excel 4.0版的宏这个特点,使用Microsoft Excel 4.0版的宏来实现禁用宏则关闭工作簿的功能。

步骤1 新建或打开需要添加此项功能的工作簿文件。

步骤2 按<Ctrl+F11>组合键为工作簿添加一个宏表,添加的宏表名称默认为“Macro1”。

步骤3 在宏表“Macro1”的A1至A7单元格中输入下面的内容。

#001 禁用宏则关闭工作簿#002 =ERROR(FALSE)#003 =IF(ERROR.TYPE(RUN("TestMacro"))=4)#004 = ALERT("因禁用了宏功能,文件将被关闭!",3)#005 = FILE.CLOSE(FALSE)#006 =END.IF()#007 =RETURN()完成后的宏表如图 443所示。

图 443 完成输入后的宏表代码解析:Microsoft Excel 4.0宏函数以等号(=)开始,其他不是由等号开始的内容将被视作注释。

通常用作定义的宏名称或者作为宏函数实现功能的注释内容设置为斜体字样以示区别,如图 443中单元格A1所示。

第2行代码关闭错误检查功能。

如果关闭错误检查,那么当宏执行遇到错误时,Microsoft Excel 将不予理会而继续执行。

Excel VBA实战技巧精粹

Excel VBA实战技巧精粹
李练,网名清风_ll,Excel Home“程序开发版”版主,服务于电信行业。对Excel VBA有较深入的研究和丰富的实战经验。
赵启永,网名qee用,Excel Home“程序开发版”版主,在机械制造行业从事人力资源管理工作多年,熟悉Excel VBA程序设计。
技巧123 获取数组的维数
技巧124 改变动态二维数组的“行”边界
技巧125 跳过四舍五入的“陷阱”
技巧126 自动填写匹配的内容
技巧127 汉字和区位码的转换
技巧128 定制自定义函数的信息
第7章 加载宏的应用
技巧129 隐藏工作簿中的所有工作表
技巧58 在宏代码中引用单元格区域的5种方法
技巧59 获得指定行(或列)中最后一个非空单元格
技巧60 快速选择任意工作表中的区域
技巧61 随心所欲复制单元格区域
技巧62 仅复制数值到另一区域
技巧63 获取两个单元格区域的交叉区域
技巧64 联合多个单元格区域
技巧96 复制自动筛选后的数据区域
技巧97 获得自动筛选条件
技巧98 使用高级筛选获得不重复记录
技巧99 删除空行
技巧100 判断是否选中整行
技巧101 工作表中一次插入多行
技巧102 控制插入单元格区域的格式
技巧103 批量删除奇数行
--------------------------------------------------------------------------------
? 目录
绪论
01 VBA技术概览
02 透视Excel VBA
03 Excel VBA学习方法和思路

VBA中新建、打开、保存、关闭工作簿!

VBA中新建、打开、保存、关闭工作簿!

VBA中新建、打开、保存、关闭工作簿!
前面的章节基本上把单元格里的一些最基本的操作,如选择、移动、复制、合并、以及动态选择单元格区域等内容讲解完了。

本节我们学习下如何在指定目录下新建、打开、保存、关闭工作簿。

Sub 在指定路径下新建工作簿()
Workbooks.Add.SaveAs 'C:\Users\wuxupeng\Desktop\工作簿的操作\管理'
ActiveWorkbook.Close
Workbooks.Open 'C:\Users\wuxupeng\Desktop\工作簿的操作\管理'
End Sub
新建:Workbooks.Add
在指定路径下新建:Workbooks.Add.SaveAs '指定路径'
打开:Workbooks.Open '指定路径'
保存:ActiveWorkbook.Save
保存到指定路径:ActiveWorkbook.SaveAS '指定路径'
关闭:ActiveWorkbook.Close
保存并关闭:ActiveWorkbook.Close 1
不保存关闭:ActiveWorkbook.Close 0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

技巧1 禁用工作簿的关闭按钮
一般情况下,用户可以通过菜单“文件”→“关闭”、工作簿窗口右上角的“关闭窗口”按钮或者任务栏中图标右键菜单中的“关闭”菜单项关闭工作簿。

如果希望禁用上述关闭工作簿的功能,而只能通过代码关闭工作簿,则可以在相应的工作簿事件中实现,如下面的代码所示。

#001 Dim BClose As Boolean
#002 Private Sub Workbook_BeforeClose(Cancel As Boolean)
#003 If BClose = False Then
#004 Cancel = True
#005 MsgBox "此功能已经被禁止,请使用""关闭""按钮关闭工作簿!", vbExclamation, "提示"
#006 End If
#007 End Sub
#008 Public Sub CloseWorkbook()
#009 BClose = True
#010 Me.Close
#011 End Sub
代码解析:
第1行代码在模块顶部声明变量BClose为Boolean类型,默认初始值为False。

第2行到第7行代码工作簿的BeforeClose事件过程,通过变量BClose的当前值决定是否能够关闭工作簿,只有当BClose的值为True时,才允许关闭工作簿。

如果变量BClose 的值为False时将参数Cancel的值设置为True,以禁止关闭操作。

第8行到第11行代码CloseWorkbook过程,将变量BClose的当前值设置为True后使用Close方法关闭工作簿。

关于Close方法请参阅技巧错误!未找到引用源。

在添加以上代码后,用户只能通过调用CloseWorkbook过程关闭工作簿。

如果通过菜单“文件”→“关闭”或者单击工作簿窗口右上角的“关闭窗口”按钮关闭工作簿,将显示如图1-1所示的消息框。

图1-1 禁用关闭按钮。

相关文档
最新文档