Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #2  
Old 10-28-2020, 12:29 PM
gmaxey gmaxey is offline Macro clean-up help,please Windows 10 Macro clean-up help,please Office 2016
Expert
 
Join Date: May 2010
Location: Brasstown, NC
Posts: 1,636
gmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nice
Default

I use this:

Code:
Sub ConvertQuoteFormat()
Dim rngstory As Word.Range
Dim pAction As String
Dim bSQSetting As Boolean
  'Stores users AutoCorrect "smart quote" options.  True if enabled
  bSQSetting = Options.AutoFormatAsYouTypeReplaceQuotes
  pAction = InputBox("Enter ""1"" to convert ""straight quotes"" to ""smart quotes.""" _
          & vbCr + vbCr & "Enter ""2"" to convert ""smart quotes"" to ""straight quotes.""", _
          "Action", "1")
  If pAction = "1" Then
    'Convert to curly
    Options.AutoFormatAsYouTypeReplaceQuotes = True
    For Each rngstory In ActiveDocument.StoryRanges
      Do
        If rngstory.StoryLength >= 2 Then
          CurlyQuoteToggle rngstory
        End If
        Set rngstory = rngstory.NextStoryRange
      Loop Until rngstory Is Nothing
    Next
    If bSQSetting = False Then
      If MsgBox("Do you want to format new text entered in this document using ""smart qoutes?""", vbQuestion + vbYesNo, "AutoFormat") = vbYes Then
        Options.AutoFormatAsYouTypeReplaceQuotes = True
        bSQSetting = Options.AutoFormatAsYouTypeReplaceQuotes
      End If
    End If
  Else
    'Convert to straight
    Options.AutoFormatAsYouTypeReplaceQuotes = False
    For Each rngstory In ActiveDocument.StoryRanges
      Do
        If rngstory.StoryLength >= 2 Then
         CurlyQuoteToggle rngstory
        End If
        Set rngstory = rngstory.NextStoryRange
      Loop Until rngstory Is Nothing
    Next
    If bSQSetting = True Then
      If MsgBox("Do you want to format new text entered in this document using ""straight qoutes?""", vbQuestion + vbYesNo, "AutoFormat") = vbYes Then
        Options.AutoFormatAsYouTypeReplaceQuotes = False
        bSQSetting = Options.AutoFormatAsYouTypeReplaceQuotes
      End If
    End If
  End If
  Options.AutoFormatAsYouTypeReplaceQuotes = bSQSetting
lbl_Exit:
  Exit Sub
End Sub

Sub CurlyQuoteToggle(ByVal rngstory As Word.Range)
With rngstory.Find
  'quote marks
  .Text = Chr$(34)
  .Replacement.Text = Chr$(34)
  .Execute Replace:=wdReplaceAll
  'apostrophe
  .Text = Chr$(39)
  .Replacement.Text = Chr$(39)
  .Execute Replace:=wdReplaceAll
End With
End Sub
__________________
Greg Maxey
Please visit my web site at http://www.gregmaxey.com/
Reply With Quote
 



Similar Threads
Thread Thread Starter Forum Replies Last Post
Macro clean-up help,please How to clean instal office 2019? hatnel Office 6 04-15-2020 02:22 AM
Macro clean-up help,please Office support saying my network is not clean Cassera Office 1 09-29-2013 10:43 PM
Any easy way to clean up bulleted list? New Daddy Word 2 08-29-2013 06:00 AM
Macro clean-up help,please Need help on how to clean up my macro Peter Carter Word VBA 4 08-28-2013 11:32 AM
Macro clean-up help,please Clean an Email backup file TTN Office 22 07-14-2012 01:48 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 12:47 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