Обновлять
Я идиот, причина, по которой это не сработало, заключалась в том, что знак &
стал немного близок к vbNewLine
. Я не понял этого, так как знал, что Chr(xx)
не сработает, и сразу же сделал поспешные выводы.
То, что исходный оператор был многострочным, не помогло. (Не проверял код, который я написал здесь)
Исходное сообщение
Итак, я пытаюсь объявить Const
, который содержит описание моего класса, в описании будет несколько разрывов строк/новых строк (просто новый абзац). Значение которого позже будет возвращено с помощью метода получения свойства.
Я знаю, что вы не можете использовать вызовы функций, такие как Chr(10)
(что на самом деле vba.Chr(10)
), при установке значения константы.
Private Const FOO As String = "Apple" & chr(10) & "Ale"
Но видимо VBA-константы типа vbNewLine
(что на самом деле vba.vbNewLine
) тоже не будут работать.
Private Const FOO As String = "Banana" & vbNewLine & "Beer"
Я знаю, что мог бы просто написать текст прямо внутри метода Property Get
, но я хотел бы, чтобы вся информация была вверху.
Альтернативой, которую я мог бы придумать, была бы реализация небольшого средства форматирования строк, которое заменяет токен на vbNewLine, хотя я думаю, что это было бы излишним.
Private Const FOO As String = "Cucumber {/CrLf} Cerveza"
Итак, прежде чем я приступлю к реализации форматирования, я хотел бы задать вопрос:
Есть ли простой способ объявить vbNewLine
в объявлении/определении Const
?
Chr(10)
, полностью квалифицированный, на самом делеVBA.Conversion.Chr(10)
— вы можете использовать Обозреватель объектов, чтобы найти его ;-) У меня нет проблем с объявлениемConst
, который использует что-либо в модулеVBA.Constants
для присвоения своего значения —VBA.Constants.vbNewLine
является одним из них. из них. - person Mathieu Guindon   schedule 20.08.2019