Função Mid
Retorna um Variant (cadeia) que contém um número especificado de caracteres de uma cadeia.
Sintaxe
Mid(cadeia, início, [ comprimento ])
A sintaxe da função Mid tem estes argumentos nomeados:
Parte | Descrição |
---|---|
cadeia de caracteres | Obrigatório. Expressão de cadeia de caracteres da qual os caracteres são retornados. Se a cadeia de caracteres contiver Null, Null será retornado. |
início | Obrigatório; Long. Posição do caractere na cadeia de caracteres na parte em que inicia a obtenção. Se o início for maior do que o número de caracteres na cadeia de caracteres, Mid retornará uma cadeia de comprimento zero (""). |
comprimento | Opcional; Variant (Long). Número de caracteres a retornar. Se forem omitidos ou se houver menos caracteres do que o comprimento no texto (incluindo o caractere no início), todos os caracteres da posição de início até o final da cadeia de caracteres são retornados. |
Comentários
Para determinar o número de caracteres na cadeia de caracteres, use a função Len.
Observação
Use a função MidB com dados de byte contidos em uma cadeia de caracteres, como linguagem de conjunto de caracteres de bytes duplos. Em vez de especificar o número de caracteres, os argumentos especificam o número de bytes. Para o código de exemplo que usa MidB, consulte o segundo exemplo no tópico exemplo.
Exemplo
O primeiro exemplo usa a função Mid para retornar um número especificado de caracteres de uma cadeia.
Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo" ' Create text string.
FirstWord = Mid(MyString, 1, 3) ' Returns "Mid".
LastWord = Mid(MyString, 14, 4) ' Returns "Demo".
MidWords = Mid(MyString, 5) ' Returns "Function Demo".
O segundo exemplo usa MidB e uma função definida pelo usuário (MidMbcs) para também retornar caracteres de uma cadeia. Aqui, a diferença é que a cadeia de caracteres da entrada é ANSI e o comprimento está em bytes.
Function MidMbcs(ByVal str as String, start, length)
MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), start, length), vbUnicode)
End Function
Dim MyString
MyString = "AbCdEfG"
' Where "A", "C", "E", and "G" are DBCS and "b", "d",
' and "f" are SBCS.
MyNewString = Mid(MyString, 3, 4)
' Returns "CdEf"
MyNewString = MidB(MyString, 3, 4)
' Returns "bC"
MyNewString = MidMbcs(MyString, 3, 4)
' Returns "bCd"
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.