Я читаю значение из ячейки, содержимое содержит & как часть строки. Например, значение ячейки: «BAU Dev & Production Support-Partner»
xCellValue = xRg.Cells(i, 2).Value
xMsg = " This is a test of the concatenation "
xMsg = xMsg & xCellValue & vbCrLf & vbCrLf
Когда я печатаю xCellValue, отображается «Это тест объединения BAU Dev».
Следовательно, & в ячейке стало частью конкатенации. Как мне сказать VBA не интерпретировать & внутри ячейки?
Спасибо всем, кто откликнулся. Я Debug.Print и далее определил проблему:
xURL = "mailto:" & xEmail & "?subject=" & xSubj & "&body=" & xMsg
Debug.Print xURL
ShellExecute 0, vbNullString, xURL, vbNullString, vbNullString, vbNormalFocus
До xURL Debug.Print символ & все еще отображается в строке. Однако строка заканчивается после символа & в ShellExecute xMsg. Проблема не в чтении значения ячейки, как я думал ранее. Если я установлю
xMsg = " This is a test & of the concatenation "
в теле сообщения в ShellExecute будет отображаться только «Это тест»