Change straight quotes to curly

nickel

Administrator
Staff member
Όπως είπαμε σ' ένα άλλο νήμα: όταν γράφουμε στο Word, έχουμε ενεργοποιημένη την επιλογή Replace Straight Quotes with Smart Quotes στα δύο AutoFormat του AutoCorrect. Έτσι, όταν γράφουμε στο αγγλικό πληκτρολόγιο, το " γίνεται “ ή ” ανάλογα με τη θέση που μπαίνει το " και, όταν γράφουμε στο ελληνικό πληκτρολόγιο, το " γίνεται « ή ».

Επίσης το ' γίνεται ‘ ή ’ και στα δύο πληκτρολόγια, ανάλογα με τη θέση. Ένα πρόβλημα προκύπτει με την απόστροφο της αφαίρεσης (να ’ρθει), όπου το έξυπνο πρόγραμμα επιμένει να βάζει ‘. Η πιο γρήγορη λύση είναι να πατάμε δύο φορές ', το οποίο γίνεται ‘’, και να σβήνουμε το πρώτο.

Ένα άλλο πρόβλημα προκύπτει όταν το πρόγραμμα (λόγω προβλημάτων μνήμης;) αρνείται να αλλάξει τα ' ή ". Ίσως διορθώνεται αν σώσουμε και κλείσουμε και ξανανοίξουμε το Word (δεν το έχω ψάξει). Τις περισσότερες φορές μού αρκεί να βάλω ελληνικά εισαγωγικά με Control-Alt-{ ή }.

Συχνά αντιγράφω κείμενα από το διαδίκτυο ή άλλες πηγές και τα εισαγωγικά είναι ' ή ". Στα κείμενά μου (ακόμα κι αυτά που ανεβάζω εδώ) μου αρέσει να τα διορθώνω, οπότε Find & Replace.

Εφόσον είναι ενεργοποιημένα τα Replace Straight Quotes with Smart Quotes, αντικαθιστούμε τα ' με ' και τα φτιάχνει μόνο του. Αν το κείμενο είναι ελληνικό, κάνουμε μετά μια αναζήτηση για διάστημα και ‘ για να εντοπίσουμε τα ‘ρθει που πρέπει να γίνουν ’ρθει.

Το ίδιο κάνουμε και με τα ". Find ", replace with ". Στο δικό μου Word τα κάνει όλα « ή », ανάλογα με τη θέση. Τι κάνουμε όταν είναι το κείμενο αγγλικό;

Ακυρώνουμε προσωρινά τα Replace Straight Quotes with Smart Quotes στα AutoFormat. Και κάνουμε τις αντικαταστάσεις:
« with “
» with ”
Επανενεργοποιούμε τα AutoFormats.

Έφτιαξα και μια όμορφη μακροεντολή και ηρέμησα.

HTML:
Sub Straight2Curly()
'
' Straight2Curly Macro
' Macro recorded 3/6/2008 by n
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = """"
        .Replacement.Text = """"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With AutoCorrect
        .CorrectInitialCaps = False
        .CorrectSentenceCaps = False
        .CorrectDays = True
        .CorrectCapsLock = True
        .ReplaceText = True
        .ReplaceTextFromSpellingChecker = True
        .CorrectKeyboardSetting = False
        .DisplayAutoCorrectOptions = True
        .CorrectTableCells = False
    End With
    With Options
        .AutoFormatAsYouTypeApplyHeadings = False
        .AutoFormatAsYouTypeApplyBorders = True
        .AutoFormatAsYouTypeApplyBulletedLists = False
        .AutoFormatAsYouTypeApplyNumberedLists = False
        .AutoFormatAsYouTypeApplyTables = True
        .AutoFormatAsYouTypeReplaceQuotes = False
        .AutoFormatAsYouTypeReplaceSymbols = True
        .AutoFormatAsYouTypeReplaceOrdinals = False
        .AutoFormatAsYouTypeReplaceFractions = True
        .AutoFormatAsYouTypeReplacePlainTextEmphasis = False
        .AutoFormatAsYouTypeReplaceHyperlinks = True
        .AutoFormatAsYouTypeFormatListItemBeginning = True
        .AutoFormatAsYouTypeDefineStyles = False
        .TabIndentKey = True
    End With
    With Options
        .AutoFormatApplyHeadings = True
        .AutoFormatApplyLists = True
        .AutoFormatApplyBulletedLists = True
        .AutoFormatApplyOtherParas = True
        .AutoFormatReplaceQuotes = False
        .AutoFormatReplaceSymbols = True
        .AutoFormatReplaceOrdinals = True
        .AutoFormatReplaceFractions = True
        .AutoFormatReplacePlainTextEmphasis = True
        .AutoFormatReplaceHyperlinks = True
        .AutoFormatPreserveStyles = True
        .AutoFormatPlainTextWordMail = True
    End With
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "«"
        .Replacement.Text = ChrW(8220)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "»"
        .Replacement.Text = ChrW(8221)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With AutoCorrect
        .CorrectInitialCaps = False
        .CorrectSentenceCaps = False
        .CorrectDays = True
        .CorrectCapsLock = True
        .ReplaceText = True
        .ReplaceTextFromSpellingChecker = True
        .CorrectKeyboardSetting = False
        .DisplayAutoCorrectOptions = True
        .CorrectTableCells = False
    End With
    With Options
        .AutoFormatAsYouTypeApplyHeadings = False
        .AutoFormatAsYouTypeApplyBorders = True
        .AutoFormatAsYouTypeApplyBulletedLists = False
        .AutoFormatAsYouTypeApplyNumberedLists = False
        .AutoFormatAsYouTypeApplyTables = True
        .AutoFormatAsYouTypeReplaceQuotes = True
        .AutoFormatAsYouTypeReplaceSymbols = True
        .AutoFormatAsYouTypeReplaceOrdinals = False
        .AutoFormatAsYouTypeReplaceFractions = True
        .AutoFormatAsYouTypeReplacePlainTextEmphasis = False
        .AutoFormatAsYouTypeReplaceHyperlinks = True
        .AutoFormatAsYouTypeFormatListItemBeginning = True
        .AutoFormatAsYouTypeDefineStyles = False
        .TabIndentKey = True
    End With
    With Options
        .AutoFormatApplyHeadings = True
        .AutoFormatApplyLists = True
        .AutoFormatApplyBulletedLists = True
        .AutoFormatApplyOtherParas = True
        .AutoFormatReplaceQuotes = True
        .AutoFormatReplaceSymbols = True
        .AutoFormatReplaceOrdinals = True
        .AutoFormatReplaceFractions = True
        .AutoFormatReplacePlainTextEmphasis = True
        .AutoFormatReplaceHyperlinks = True
        .AutoFormatPreserveStyles = True
        .AutoFormatPlainTextWordMail = True
    End With
End Sub
 
Top