这段小程序就把一个EXCEL文件中每个工作表的A1单元格填上了a
Sub
tt()
For
i
=
1
To
ActiveWorkbookWorksheetsCount
ActiveWorkbookWorksheets(i)Cells(1,
1)Value
=
"a"
Next
End
Sub
需要嗲用API,例子代码:
Option ExplicitPrivate Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long '获取窗口样式API
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long '查找当前窗口句柄API
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const GWL_STYLE = (-16) '设置窗口样式API
Private Const WS_MINIMIZEBOX As Long = &H20000 '(最小化)
'窗体UserForm的初始化
Private Sub UserForm_Initialize()
Dim hWndForm As Long
Dim IStyle As Long
hWndForm = FindWindow("ThunderDFrame", MeCaption) ’获取窗口句柄
IStyle = GetWindowLong(hWndForm, GWL_STYLE) '获取当前标题栏样式
IStyle = IStyle Or WS_MINIMIZEBOX '设置最小化按钮
SetWindowLong hWndForm, GWL_STYLE, IStyle '显示最小化按钮
End Sub
首先 找到 找到外部程序的主窗口的句柄 然后再查找其子窗口父窗口用findwindow就可以 子窗口要指定要查找窗口的classwindows 中每一个窗口都有一个类的比如记事本的文本框 类名叫edit VB的textbox 类名叫ThunderRT6TextBox等等
下面是设置工作簿视图和窗口的一些VBA代码。
工作簿视图
可以选择使用普通视图、页面布局视图、分页预览视图来显示工作表。
普通视图
示例代码:
‘以普通视图显示活动窗口中的活动工作表
ActiveWindowView = xlNormalView
分页预览
示例代码:
‘以分页预览显示活动窗口中的活动工作表
ActiveWindowView = xlPageBreakPreview
页面布局视图
示例代码:
‘以页面布局视图显示活动窗口中的活动工作表
ActiveWindowView = xlPageLayoutView
如果活动工作表不是标准工作表,那么上述语句执行时会导致运行时错误,因为图表工作表、宏工作表或对话框工作表没有这些视图选项。
窗口视图
最大化、最小化、恢复,以全屏模式显示活动窗口
示例代码:
‘最大化,最小化,以及恢复活动窗口
在UserForm1窗体中添加一个按钮,名为cmdexit,将此按钮属性的Cancel值设置为True,将其Click事件编写代码为退出窗体即可。如下:
Private Sub cmdexit_Click()
Unload UserForm1
End Sub
一个窗体只能有一个按钮的cacel值为true,可以把这个cmdexit按钮尽量缩小,放在显示区域之外。
这样在任何时候按一下ESC键,相当于单击了cmdexit按钮,窗体就退出了。
亲测!
利用msgbox方法即可实现d出,简单代码如下:
Private Sub CommandButton1_Click()
MsgBox("d窗演示", vbInformation + vbOkOnly, "这是一个d出")
End Sub
关于此例中用到的Msgbox的相关知识:
1、作用
在消息框中显示信息,并等待用户单击按钮,可返回单击的按钮值(比如“确定”或者“取消”)。通常用作显示变量值的一种方式。
2、语法
MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])
参数说明:
(1)Prompt,必需的参数,为字符串,作为显示在消息框中的消息文本。其最大长度约为1024个字符,由所用字符的宽度决定。如果prompt的内容超过一行,则可以在每一行之间用回车符(Chr(13))、换行符(Chr(10))或是回车与换行符的组合(Chr(13)&Chr(10))将各行分隔开来。
(2)Buttons,可选的参数,为数值表达式的值之和,指定显示的按钮的数目及形式、使用的图标样式、缺省按钮及消息框的强制回应等,可以此定制消息框。若省略该参数,则其缺省值为0。设置值见下表。
(3)Title,可选的参数,表示在消息框的标题栏中所显示的文本。若省略该参数,则将应用程序名放在标题栏中。
(4)Helpfile,可选的参数,为字符串表达式,提供帮助文件。若有Helpfile,则必须有Context。
(5)Context,可选的参数,为数值表达式,提供帮助主题。若有Context,则必须有Helpfile。
3、Button参数
用于MsgBox函数中Button参数的常量
常量 值 说明
vbOKOnly 0 只显示“确定”按钮
VbOKCancel 1 显示“确定”和“取消”按钮
VbAbortRetryIgnore 2 显示“终止”、“重试”和“忽略” 按钮
VbYesNoCancel 3 显示“是”、“否”和“取消”按钮
VbYesNo 4 显示“是”和“否”按钮
VbRetryCancel 5 显示“重试”和“取消”按钮
VbCritical 16 显示“关键信息”图标
VbQuestion 32 显示“警告询问”图标
VbExclamation 48 显示“警告消息”图标
VbInformation 64 显示“通知消息”图标
vbDefaultButton1 0 第一个按钮是缺省值(缺省设置)
vbDefaultButton2 256第二个按钮是缺省值
vbDefaultButton3 512第三个按钮是缺省值
vbDefaultButton4 768第四个按钮是缺省值
vbApplicationModal 0应用程序强制返回;应用程序一直被挂起,直到用户对消息框
作出响应才继续工作
vbSystemModal 4096系统强制返回;全部应用程序都被挂起,直到用户对消息框作
出响应才继续工作
vbMsgBoxHelpButton 16384将Help按钮添加到消息框
VbMsgBoxSetForeground 65536指定消息框窗口作为前景窗口
vbMsgBoxRight 524288文本为右对齐
vbMsgBoxRtlReading 1048576指定文本应为在希伯来和阿拉伯语系统中的从右到左显示
说明:
(1)第一组值(0–5)描述了消息框中显示的按钮的类型与数目;第二组值(16,32,48,64)描述了图标的样式;第三组值(0,256,512,768)说明哪一个按钮是缺省值;而第四组值(0,4096)则决定消息框的强制返回性。将这些数字相加以生成Buttons参数值的时候,只能由每组值取用一个数字。
(2)这些常数都是VBA指定的,可以在程序代码中使用这些常数名称代替实际数值。
4、返回值
用于MsgBox函数返回值的常量
常数 值 说明
vbOK 1 确定
vbCancel 2 取消
vbAbort 3 终止
vbRetry 4 重试
vbIgnore 5 忽略
vbYes 6 是
vbNo 7 否
5、相关说明
(1) 如果同时提供了Helpfile与Context参数,可以按F1键来查看与Context相应的帮助主题,Excel通常会在输入框中自动添加一个帮助(Help)按钮。
(2)若在消息框中显示“取消”按钮,则按下ESC键与单击“取消”按钮效果相同。若消息框中有“帮助”按钮,则提供相关的帮助信息。
(3)如果要输入多个参数并省略中间的某些参数,则必须在相应位置加入逗号分界符。
以上就是关于Excel VBA如何遍历所有活动窗口全部的内容,包括:Excel VBA如何遍历所有活动窗口、Excel 请问高手,如何在VBA代码中最小化当前窗体、在vba中,已知主程序的句柄,如何获取标题.控件等等等...等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)