Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 04-21-2024, 11:59 PM
syl3786 syl3786 is offline Word Macro issues (Circle Shape) Windows 10 Word Macro issues (Circle Shape) Office 2019
Advanced Beginner
Word Macro issues (Circle Shape)
 
Join Date: Jan 2023
Posts: 97
syl3786 is on a distinguished road
Unhappy Word Macro issues (Circle Shape)

Hello all,



Presently, I am utilizing a particular Word macro to add a distinct circle shape over specific text:

Code:
Sub AddCircleShape()

    Dim rng As Range
    Dim stri As String
    Dim shp As Shape
    Dim padding As Long
    Dim rightCount As Integer
    Dim X, Y, myWidth, myHeight
    
    Set rng = ActiveDocument.Range
    stri = "AGREE/" 

    With rng.Find
        .Text = stri
        .Font.Underline = True
        .Execute
        While .found
            rng.Select
            
            ' Calculate the position and size of the circle
            myHeight = IIf(Selection.ParagraphFormat.LineSpacing > rng.Font.Size, Selection.ParagraphFormat.LineSpacing, rng.Font.Size + rng.Font.Size / 5)
            Y = rng.Information(wdVerticalPositionRelativeToPage) - myHeight / 10 + myHeight - rng.Font.Size - rng.Font.Size / 5
            myHeight = rng.Font.Size + rng.Font.Size / 5 ' 120%
            X = rng.Information(wdHorizontalPositionRelativeToPage)
            rng.Collapse wdCollapseEnd
            myWidth = rng.Information(wdHorizontalPositionRelativeToPage) - X
            myWidth = myWidth - 40
            padding = 2
            X = X - padding
            Y = Y - padding
            myWidth = myWidth + padding * 2
            myHeight = myHeight + padding * 2
            
            ' Add the circle shape
            Set shp = ActiveDocument.Shapes.AddShape(msoShapeOval, X, Y, myWidth, myHeight)
            With shp
                .Fill.Transparency = 1 ' Full transparency
                .Line.ForeColor.RGB = RGB(255, 0, 0)
                .Line.Weight = 1
                .Line.Visible = msoTrue
            End With
            
            rng.Collapse wdCollapseEnd
            .Execute
        Wend
    End With

    rightCount = 30
    
    For Each shp In ActiveDocument.Shapes
        If shp.AutoShapeType = msoShapeOval Then
            If shp.Line.ForeColor.RGB = RGB(255, 0, 0) Then
                shp.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
                shp.RelativeVerticalPosition = wdRelativeVerticalPositionPage
                shp.Left = shp.Left + rightCount
            End If
        End If
    Next shp
    
        For Each shp In ActiveDocument.Shapes
        If shp.AutoShapeType = msoShapeOval Then
            shp.Line.ForeColor.RGB = RGB(0, 112, 192)
            shp.Line.Visible = msoTrue
        End If
    Next shp
    
    Selection.Collapse

End Sub
Nonetheless, I've been encountering an occasional glitch with the macro. The issue lies in the first circle it creates, which never seems to be the right size to encompass the designated text.

Here's the sample document for your testing:

Sample Document.docx

Expected Result.docx

Would any of you be able to assist with rectifying this problem? I would greatly appreciate any help. Thank you in advance.
Reply With Quote
 



Similar Threads
Thread Thread Starter Forum Replies Last Post
Word Macro issues (Circle Shape) Seeking Assistance with Word Macro to Add Transparent, Blue Line Circle Shape syl3786 Word VBA 5 01-21-2024 03:41 AM
Word Macro issues (Circle Shape) put "page numbers" in a shape (e.g. circle) without missing the numbers in the document Abbas Word 1 07-26-2022 07:04 AM
Word 2016 Multi-file Macro issues IneedHelpWithWord Word VBA 1 08-08-2017 09:29 PM
Issues with text in circle shapes that I am having damefrombrum Word 0 12-01-2015 08:05 PM
Assign Macro to Shape in Word 2013 tunes10590 Word VBA 8 01-29-2015 06:26 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 01:51 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft