广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    word文档添加返回目录悬浮按钮的方法

    来源:网络收集  点击:  时间:2024-02-22
    【导读】:
    利用VBA给word文档添加一个悬浮按钮,只需鼠标单击该按钮就能跳转回文档的目录。工具/原料moreword2003vba方法/步骤1/6分步阅读

    ALT+F11打开VBE编辑器,在工程窗口右键-插入-用户窗体,插入一个新窗体UserForm1。

    2/6

    在窗体属性对话框将:ShowModel属性设为False即将窗体设为无模态窗体,BorderStyle属性设为0-fmBorderStyleNone即将窗体设为无边框,StartUpPosition属性设为0-手动即将窗体的初始显示位置设置成手动更改,其余属性请按需更改。

    3/6

    利用标签控件在窗体上拖拉出一个标签Label1。

    4/6

    将标签Label1的Caption属性设为返回目录,BorderStyle属性设为0-fmBorderStyleNone,其余属性按需设置即可。

    5/6

    在窗体UserForm1代码窗口粘贴入下代码:

    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 FindWindow Lib user32 Alias FindWindowA (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

    Private Declare Function DrawMenuBar Lib user32 (ByVal hWnd As Long) As Long

    Private Declare Sub ReleaseCapture Lib user32 ()

    Private Declare Function SendMessage Lib user32 Alias SendMessageA (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

    Private Const GWL_STYLE As Long = (-16)

    Private Const WS_CAPTION As Long = HC00000

    Private Const WM_NCLBUTTONDOWN = HA1

    Private Const HTCAPTION = 2

    Private Sub Label1_Click()

    Selection.HomeKey unit:=wdStory 返回文档开头

    Selection.MoveDown unit:=wdLine, Count:=9 笔者此处演示文档,目录位置是位于文档开头往下数9行,具体可以根据需要自行更改

    End Sub

    Private Sub UserForm_Initialize()

    Dim lngStyle As Long

    Dim hWnd As Long

    hWnd = FindWindow(vbNullString, Me.Caption)

    lngStyle = GetWindowLong(hWnd, GWL_STYLE)

    SetWindowLong hWnd, GWL_STYLE, lngStyle And Not WS_CAPTION

    DrawMenuBar hWnd

    Me.Height = 31.5

    Me.Left = Selection.Information(wdHorizontalPositionRelativeToPage) + 545

    Me.Top = Selection.Information(wdVerticalPositionRelativeToPage) + 50

    End Sub

    Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

    Dim hWnd As Long

    hWnd = FindWindow(vbNullString, Me.Caption)

    ReleaseCapture

    SendMessage hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0

    End Sub

    6/6

    在ThisDocument代码窗口粘贴如下代码:

    Private Sub Document_Open()

    UserForm1.Show

    End Sub

    注意事项

    将代码Selection.MoveDown unit:=wdLine, Count:=9中的数字9更改为你需要跳转到的行即可。

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_105951.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 09:01:01  耗时:0.024
    0.0237s