-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


Как убрать лишние символы в конце строки взятой из ячейки таблицы word

Пятница, 16 Октября 2020 г. 18:37 + в цитатник
Fellinggood:
Цитата Akina @
Окончание ячейки - CHR(7).
Значение ячейки, как я вижу - одна строка. Так что
    shortstring = Split(Replace(Selection.text, CHR(7), ""), CHR(13))(0)

Уберётся и символ завершения ячейки, и, при наличии, хвостовые переводы строк.

Спасибо

Добавлено
Спасибо всем, вот как получилось
    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

https://forum.sources.ru/index.php?showtopic=420047&view=findpost&p=3840463

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку