View Single Post
 
Old 12-10-2024, 02:45 PM
mordyas mordyas is offline Windows 10 Office 2016
Novice
 
Join Date: May 2023
Posts: 5
mordyas is on a distinguished road
Default

Quote:
Originally Posted by macropod View Post
You will at least have to provide the code you're using to determine the current paragraph.
Fair enough...
Here's the code.
Form named: UserForm3
Text box named: SPB_box
Update button named: SPB_updt

=*=*=*=*=*=*=*=*=*=*=
This is the code associated with the document itself (or all documents)
=*=*=*=*=*=*=*=*=*=*=
Private Sub Document_SelectionChange(ByVal Sel As Selection)
' If the form is open, update the text box
If UserForm3.Visible Then
MsgBox "Selection changed - updating spacing"
UserForm3.UpdateSpacingBefore
End If
End Sub

Sub ShowUserForm()
' Open the form modelessly (you will be able to work with the document)
UserForm3.Show vbModeless
' Run the update even if you haven't changed any paragraphs
UserForm3.UpdateSpacingBefore
End Sub

=*=*=*=*=*=*=*=*=*=
This is the code associated with the form
=*=*=*=*=*=*=*=*=*=*=
Private Sub UserForm_Initialize()
' Update the text box when the form is opened
UpdateSpacingBefore
End Sub

Public Sub UpdateSpacingBefore()
Dim spaceBefore As Single
On Error Resume Next ' If the paragraph cannot be accessed
spaceBefore = Selection.ParagraphFormat.spaceBefore ' Get the "space before" value
On Error GoTo 0 ' Return to normal error mode

' Update the text box with the value of "space before"
SPB_box.value = spaceBefore
End Sub

Private Sub SPB_updt_Click()
' Manually update the space before
UpdateSpacingBefore
End Sub

(Disclosure: I used AI to create this code, and it works for me)
I'm looking to improve this code, so that when I move focus From paragraph to paragraph - the information in the text box will be updated automatically.
Reply With Quote