プロが教える店舗&オフィスのセキュリティ対策術

Word のマクロについての質問です。
ボタンを押すと登録したブックマーク先にジャンプする機能(リンク)を付けたのですが、実際にボタンを押してジャンプするとジャンプ先が画面最下部に表示されます。
自分の場合はジャンプ先をページ先頭の見出しにしているため、せっかくジャンプしても画面に表示される大半が前のページの内容になり、他者が利用した際に分かりにくくなっています。
これを修正する方法はありますでしょうか?  

つまり、ボタンを押してブックマークへジャンプすると、登録したブックマー(この場合は見出し)が画面上部に表示されるようにするということです。

説明が分かりにくいかとオ思いますが宜しくお願いします。

A 回答 (3件)

普通にブックマークへのジャンプ機能を使うのはダメなのですか?


Sub GoToBookmark()
 Selection.GoTo What:=wdGoToBookmark, Name:="ブックマーク名"
End Sub

ページ先頭にあるブックマークなら、上記マクロで一番上に来ると
思うので。(ページ先頭以外だと、複数行上にある場合もあり)
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
教えていただいたコードでジャンプすると、画面上部にジャンプ先が表示されました。
 
まことにありがとうございました。

お礼日時:2023/08/18 10:35

Sub JumpToBookmark()



' ブックマーク名を取得します。
Dim bookmarkName As String
bookmarkName = "見出し1"

' ブックマークに移動します。
ActiveDocument.Bookmarks(bookmarkName).Select

' 画面をスクロールして、ブックマークが画面上部に表示されるようにします。
ActiveDocument.MoveRight Unit:=wdCharacter, Count:=400

End Sub
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
「画面をスクロールして…」
のコードが、「実行時エラー438 オブジェクトはこのプロパティまたはメソッドをサポートしていません」
と表示されます。
ちなみにWordのバージョンは2016です。

原因は分かりますでしょうか?

お礼日時:2023/08/18 10:30

Sub JumpToBookmark()


Dim bmName As String
bmName = "YourBookmarkName" ' ブックマーク名をここに入力

On Error Resume Next
ActiveDocument.Bookmarks(bmName).Select
On Error GoTo 0

Selection.Collapse Direction:=wdCollapseStart
ActiveWindow.ScrollIntoView Selection.Range, True
End Sub
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
上記コードで試してみたところ、ブックマーク先へジャンプしてくれるのですが、やはりブックマーク先への見出しが画面下段に表示されます。

私の質問文が分かりにくかったかもしれません。

お礼日時:2023/08/17 09:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!