Я использую VBA в среде доступа Ms, чтобы обрабатывать длинную строку (поле memo, в котором первоначально хранится HTML). После позиционирования с помощью Instr() я положил позицию в Mid (vStr, vStartPos, vEndPos-vStartPos + 1), чтобы извлечь строку, но результат не соответствует. Я уже тщательно проверил это в непосредственных окнах, а также в NotePad ++. Я могу сказать, что Instr() и NotePad ++ дали тот же результат подсчета, в то время как Mid() отличается. В некоторых случаях результат Mid() ранее, чем Instr(), является последним в других случаях. Я не знаю причины, и могу просто поверить, что Mid() использует другой механизм или имеет поразительный (удивленный!) При обработке длинной строки, смешанной с однобайтовыми и двубайтовыми символами (но это распространено в мире и встречается без проблем) и, возможно, некоторые специальные символы.Середина() не извлекает строку в точной позиции
Я считаю, что мне нужно настроить Mid(). Любая идея, как сделать это эффективно и эффективно?
Можете ли вы поделиться примером? –
Я читаю его несколько раз, я все еще не могу понять * «Результат Mid() в некоторых случаях бывают раньше, чем Instr(), а последний в других случаях.» * - уход за [edit] и немного перефразировать? –
Возможно использование 'MidB' –