![]() |
|
#1
|
|||
|
|||
![]()
(Translated by Google.)
I built a form called userform1. In the form, a text box called SPB. When I run the form, I want to receive in the text box the data of the spacing before the current paragraph. Just kidding. The matter gets complicated, when I request that every time the focus moves to a new paragraph, the size in the text box be updated automatically. After 5 days with Ghat GPT, I realized that I would not get any substantive help from it... Who is willing to help? (Office 365.) |
#2
|
|||
|
|||
![]()
That information is already available on the Layout tab. Why re-invent the wheel?
Screenshot 2024-12-09 195856.png |
#3
|
|||
|
|||
![]()
Thanks for your answer, you're right, there's no need to reinvent the wheel...
I'm building a complex form, for unique editing of a document, with some macros, and appropriate code. It's going pretty well. But I'm "stuck" with the "simple" task I described, how to keep the information in the form relevant. |
#4
|
||||
|
||||
![]()
You will at least have to provide the code you're using to determine the current paragraph.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#5
|
|||
|
|||
![]() Quote:
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. |
#6
|
|||
|
|||
![]()
Mordyas,
1.There is no such thing as a Document_SelectionChange (at least not that I'm aware of). 2. Create a new class module. Call it clsApp. In it put this code: Code:
Option Explicit Private WithEvents mWordApp As Word.Application Private Sub Class_Initialize() Set mWordApp = Word.Application End Sub Private Sub mWordApp_WindowSelectionChange(ByVal oSel As Selection) If UserForm3.Visible Then UserForm3.UpdateSpacingBefore End Sub 3. Create a new standard module. Call it modMain. In it, put this code: Code:
Option Explicit Private oCls As clsApp Sub ShowUserForm() If oCls Is Nothing Then Set oCls = New clsApp UserForm3.Show vbModeless End Sub 4. In your Userform3, you can use: Code:
Option Explicit Private Sub UserForm_Initialize() UpdateSpacingBefore End Sub Public Sub UpdateSpacingBefore() Dim spaceBefore As Single On Error Resume Next spaceBefore = Selection.ParagraphFormat.spaceBefore On Error GoTo 0 SPB_box.Value = spaceBefore End Sub Private Sub SPB_updt_Click() UpdateSpacingBefore End Sub 5. Turn off ChatGPT. Just my opinion. |
#7
|
||||
|
||||
![]()
Agreed. Probably nonsense code generated by Chat GPT.
For Event-driven procedures in Word, see: https://wordmvp.com/FAQs/MacrosVBA/AppClassEvents.htm
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#8
|
|||
|
|||
![]()
It didn't work for me.
Thanks anyway. I'll try to move on from here, and look at nearby options. |
![]() |
Tags |
auto update, paragraphs, space before |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Automatic Update for Excel Spreadsheet | Frenchy305 | Excel | 3 | 07-14-2017 12:17 PM |
![]() |
janetb | Word | 10 | 11-10-2016 12:05 AM |
![]() |
Ivica | Word | 3 | 12-28-2015 01:31 PM |
Automatic Form update | rlmoss44 | Word VBA | 6 | 12-03-2015 09:27 AM |
help needed for automatic update of footer | sanju71821 | Word | 7 | 07-01-2015 08:18 AM |