Sub Макрос3()
'
' Макрос3 Макрос
' Макрос записан 15.10.2020 User
Dim longstring, shortstring, longs, shorts As String
Dim iCell As Range
Dim i As Integer
Dim j As Integer
Dim N As Integer
Dim Num As Integer
Dim ascii As Long
Const CHAR_TO_DELETE As Long = 7 '7 означает ascii код символа "конца строки - квадратик" найденный через функцию ascii = Asc(Right(shortstring, 1))
Dim proverka As Integer
N = 58
For i = 12 To N
proverka = 1 'Условие проверки, что в конце строки нет символа "конец строки"
ActiveDocument.Tables(1).Cell(i, 1).Select
shortstring = Selection.text
ascii = Asc(Right(shortstring, 1)) 'Функция Asc Определяет ascii код символа
' В нашем случае это код символа "конец строки - квадратик" = 7 если смотреть через отладчик на строку таблицы
'функция Right(shortstring, 1) определяет последний символ справа строки shortstring и возвращает его в строковой переменной
Do While proverka = 1
If Len(shortstring) > 0 Then 'Если длина строки больше 0
proverka = 0
ascii = Asc(Right(shortstring, 1))
If Asc(Right(shortstring, 1)) = CHAR_TO_DELETE Or Asc(Right(shortstring, 1)) = 13 Then 'Right(shortstring, 1) берет последний символ строки
shortstring = Left(shortstring, Len(shortstring) - 1) 'Возвращает строку начиная с левого символа длиной
'символов Len(shortstring) - 1
proverka = 1
End If
End If
Loop
proverka = 1
ActiveDocument.Tables(1).Cell(i, 2).Select
longstring = Selection.text
Do While proverka = 1
If Len(longstring) > 0 Then 'Если длина строки больше 0
proverka = 0
If Asc(Right(longstring, 1)) = CHAR_TO_DELETE Or Asc(Right(longstring, 1)) = 13 Then 'Right(shortstring, 1) берет последний символ строки
longstring = Left(longstring, Len(longstring) - 1) 'Возвращает строку начиная с левого символа длиной
'символов Len(shortstring) - 1
proverka = 1
End If
End If
Loop
AutoCorrect.Entries.Add Name:=shortstring, Value:=longstring
With AutoCorrect
.CorrectInitialCaps = False
.CorrectSentenceCaps = False
.CorrectDays = False
.CorrectCapsLock = False
.ReplaceText = True
.ReplaceTextFromSpellingChecker = False
.CorrectKeyboardSetting = False
.DisplayAutoCorrectOptions = True
.CorrectTableCells = False
End With
Next i
'shortstring = Split(Replace(Selection.text, Chr(7), ""), Chr(13))(0) - замена символа конца строки на пустой символ (стирание
'то есть стираем лишние символы конца строки
End Sub