Я предпочитаю делать это следующим образом:
Dim lStr As String
lStr = ""
lStr = lStr & "This is a long block of text that I want to fill "
lStr = lStr & "into a form field. I need to make sure I pay attention "
lStr = lStr & "to spacing and carriage return issues while doing so. "
lStr = lStr & "I also have to use quotes liberally, the concatenation "
lStr = lStr & "operator, and the continuance underscore to make sure "
lStr = lStr & "VBA can parse my code." & vbCr & vbCr
lStr = lStr & "It's kind of a pain in the ass and I wish I could use "
lStr = lStr & "a heredoc instead, letting me copy and paste the block"
lStr = lStr & "of text I need from another source and shove it into "
lStr = lStr & "a string."
Я думаю, что с этим методом легче работать, чем с методом продолжения строки, и нет ограничения по количеству строк, чтобы войти с этим способом.Вы можете закомментировать отдельные строки, что полезно для отладки строк SQL.
При обработке длинных строк мне проще использовать короткие имена переменных, поскольку VBA не имеет эквивалента +=
оператора.largeString = largeString & ""
занимает слишком много места и повторяется, поэтому сокращение имени строки делает формат несколько переносимым.
Для очень больших блоков текста напишите его в текстовом редакторе, затем скопируйте и вставьте в свою процедуру,Затем скопируйте
lStr = lStr & "
и вставьте его в начале каждой строки.Редактор VBA автоматически добавит кавычки в конце строки, упрощая процесс.