ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 11359|回复: 9

如何使用vba隐藏word的标题栏?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-10-29 17:56 | 显示全部楼层 |阅读模式
如何使用vba隐藏word的标题栏,也就是word最上面的那个蓝色的栏?谢谢!1

TA的精华主题

TA的得分主题

发表于 2006-10-29 20:09 | 显示全部楼层

请搜索以前的,可能有好几个帖子。

在google中也可以找找。

TA的精华主题

TA的得分主题

发表于 2006-10-30 08:28 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-8-17 15:16 | 显示全部楼层
在本论坛搜索过,还真没有隐藏WORD标题栏的例子,楼上的链接是隐藏EXCEL标题栏,宏代码中是通过EXCEL的Application.Hwnd用API函数实现的,但WORD的Apllication没有Hwnd属性,如何实现隐藏WORD标题栏呢?盼版主能解答!谢谢!!

TA的精华主题

TA的得分主题

发表于 2009-8-17 16:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

隐藏WORD标题栏,请版主赐教

以前看到过将EXCEL扒个精光的帖子,使EXCEL只剩下编辑窗口,其他标题栏、菜单栏、工具栏、状态栏等全部隐藏了,但WORD能否做到呢?如何隐藏WORD标题栏还真有难度,请版主和各位达人也将WORD扒光看看,正需要解决这个问题。

TA的精华主题

TA的得分主题

发表于 2009-8-18 19:59 | 显示全部楼层
原帖由 headbegger 于 2009-8-17 15:16 发表
在本论坛搜索过,还真没有隐藏WORD标题栏的例子,楼上的链接是隐藏EXCEL标题栏,宏代码中是通过EXCEL的Application.Hwnd用API函数实现的,但WORD的Apllication没有Hwnd属性,如何实现隐藏WORD标题栏呢?盼版主能解答 ...


一样的,只要拿到句柄就可以了。以下代码,改自上面链接的Excel

Word可以这样(此方法也可用于Excel)
'//查找需要的窗口
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'//取得窗口样式位
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
'//设置窗口样式位
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
'//重绘窗体标题栏
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long

'//以下定义常数及变量
Private Const GWL_STYLE = (-16)                 '窗口样式
Private Const WS_CAPTION = &HC00000                  '  WS_BORDER Or WS_DLGFRAME

'//****************************************************************************************************************************************

Sub BtResume_Click()
    Dim Istype As Long
    Dim hWnd As Long
    '//取得窗口样式位
    hWnd = FindWindow("OpusApp", vbNullString)
    Istype = GetWindowLong(hWnd, GWL_STYLE)
    '//窗体样式位: 原样式和标题栏
    Istype = Istype Or WS_CAPTION
    '//重设窗体样式位
    SetWindowLong hWnd, GWL_STYLE, Istype
    '//重绘窗体标题栏
    DrawMenuBar hWnd

End Sub

'//****************************************************************************************************************************************

Sub click1()

    Dim Istype As Long
    Dim hWnd As Long
    hWnd = FindWindow("OpusApp", vbNullString)
    'Excel改成  hWnd = FindWindow("XLMAIN", vbNullString)
    '//取得窗口样式位
    Istype = GetWindowLong(hWnd, GWL_STYLE)
    '//窗体样式位: 原样式无标题栏
    Istype = Istype And Not WS_CAPTION
    '//重设窗体样式位
    SetWindowLong hWnd, GWL_STYLE, Istype
    '//重绘窗体标题栏
    DrawMenuBar hWnd

End Sub

TA的精华主题

TA的得分主题

发表于 2009-8-19 00:13 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-8-21 16:50 | 显示全部楼层
奇怪,为什么在打开时不能隐藏标题栏,
Private Sub Document_Open()
click1
MsgBox "ok"
End Sub

TA的精华主题

TA的得分主题

发表于 2009-8-22 11:35 | 显示全部楼层
更加奇怪的是,在WORD中,添加一个按钮“隐藏”,添加第二个按钮“显示”,打开文件后,第一次点击隐藏按钮竟然不能隐藏,点击第二次又可以了,而且两次获得的窗口句柄竟然不同,第一次获得的窗口文本为空,第二次可以获得正确的窗口标题文本。这是为什么呢?请版主不吝赐教,谢谢!!
Doc1.rar (11.55 KB, 下载次数: 44)
'模块中代码
'//查找需要的窗口
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'//取得窗口样式位
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
'//设置窗口样式位
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
'//重绘窗体标题栏
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
'//以下定义常数及变量
Private Const GWL_STYLE = (-16)                 '窗口样式
Private Const WS_CAPTION = &HC00000                  '  WS_BORDER Or WS_DLGFRAME

'//****************************************************************************************************************************************

Sub BtResume_Click()
    Dim Istype As Long
    Dim hWnd As Long
    Dim MyStr As String
    'Create a buffer
    MyStr = String(100, Chr$(0))
    'Get the windowtext
   
   
    '//取得窗口样式位
    hWnd = FindWindow("OpusApp", vbNullString)
    Istype = GetWindowLong(hWnd, GWL_STYLE)
    '//窗体样式位: 原样式和标题栏
    Istype = Istype Or WS_CAPTION
    '//重设窗体样式位
    SetWindowLong hWnd, GWL_STYLE, Istype
    GetWindowText hWnd, MyStr, 100
    '//重绘窗体标题栏
    DrawMenuBar hWnd
    MsgBox hWnd & ",," & MyStr
End Sub

'//****************************************************************************************************************************************

Sub click1()

    Dim Istype As Long
    Dim hWnd As Long
    Dim MyStr As String
    'Create a buffer
    MyStr = String(100, Chr$(0))
    'Get the windowtext
   
    hWnd = FindWindow("OpusApp", vbNullString)
    'Excel改成  hWnd = FindWindow("XLMAIN", vbNullString)
    '//取得窗口样式位
    Istype = GetWindowLong(hWnd, GWL_STYLE)
    '//窗体样式位: 原样式无标题栏
    Istype = Istype And Not WS_CAPTION
    '//重设窗体样式位
    SetWindowLong hWnd, GWL_STYLE, Istype
    GetWindowText hWnd, MyStr, 100
    '//重绘窗体标题栏
    DrawMenuBar hWnd
    MsgBox hWnd & ",," & MyStr
End Sub

'ThisDocument中代码
Private Sub CommandButton1_Click()
    Call click1
End Sub

Private Sub CommandButton2_Click()
    Call BtResume_Click
End Sub

[ 本帖最后由 headbegger 于 2009-8-23 10:16 编辑 ]

TA的精华主题

TA的得分主题

发表于 2016-6-16 09:37 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-3-28 18:18 , Processed in 0.067452 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表