Использовать текст в качестве имени закладки - PullRequest
0 голосов
/ 03 августа 2020

Используйте текст ячейки из таблицы и используйте его как строковую переменную, затем используйте эту переменную как имя закладки со словом vba?

Я пробовал следующее, и он говорит о плохой закладке название. Я знаю ограничения имени закладки, поэтому я удаляю лишнюю новую строку, которую получает ActiveDocument.Tables(1).Cell(1,1).Range.Text. Но все же, почему я получаю неправильное имя закладки ошибка времени выполнения-5828

Function RemoveLastCharacter(myString As String) As String

    
    'Remove Last Character From String
        myString = Left(myString, Len(myString) - 1)
        RemoveLastCharacter = myString
    

End Function
Sub makebookmark()
    Dim kib As String
    kib = ActiveDocument.Tables(1).Cell(1, 1).Range.Text
    Dim kib2 As String
    
    kib2 = RemoveLastCharacter(kib)
     
    ActiveDocument.Tables(1).Cell(1, 3).Range.InsertAfter kib2
    
    ActiveDocument.Bookmarks.Add Name:=kib2, _
    Range:=ActiveDocument.Tables(1).Cell(1, 2).Range
    
End Sub

1 Ответ

2 голосов
/ 03 августа 2020

Маркер конца ячейки фактически состоит из 2 символов. Вы можете проверить это, проверив длину пустой ячейки.

Таким образом, вы можете сделать:

kib2 = RemoveLastCharacter(RemoveLastCharacter(kib))

или создать новую функцию

Function RemoveEndOfCellMarker(cellText As String) As String
  'Remove Last 2 Characters From String
  RemoveEndOfCellMarker = Left(cellText, Len(cellText) - 2)
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...