Retorna uma Variante (Cadeia) que contém um número especificado de caracteres de uma cadeia.
Sintaxe
Mid( string, start [, length ] )
A sintaxe da função Média tem estes argumentos:
Argumento |
Descrição |
cadeia |
Obrigatório. expressão de cadeia de caracteres a partir dos quais são devolvidos carateres. Se a cadeia contiver Nulo, será devolvido Nulo . |
início |
Obrigatório. Longo. Posição do caráter na cadeia na qual a parte a tomar começa. Se o início for maior do que o número de carateres na cadeia, Mid devolve uma cadeia de comprimento zero (""). |
comprimento |
Opcional. Variante (Longo). Número de caracteres que devem ser retornados. Se omitido ou se existirem menos carateres de comprimento no texto (incluindo o caráter no início), todos os carateres da posição inicial para o fim da cadeia são devolvidos. |
Comentários
Para determinar o número de carateres na cadeia, utilize a função Len .
Observação: Utilize a função MidB com dados de bytes contidos numa cadeia, como em idiomas de conjunto de carateres de byte duplo. Em vez de especificar o número de carateres, os argumentos especificam números de bytes. Para obter o código de exemplo que utiliza MidB, veja o segundo exemplo no tópico de exemplo.
Exemplos de consulta
Expressão |
Resultados |
SELECT ProductID, Mid(ProductID,5) AS Expr1 FROM ProductSales; |
Devolve o "IDDoProduto" e a parte de ProductID a partir da posição de caráter 5 e apresenta os resultados na coluna Expr1. |
SELECT ProductID, Mid(ProductID,5,4) AS testMid FROM ProductSales; |
Devolve o "IDDoProduto" e a parte de ProductID a partir da posição de caráter 5, que contém 4 carateres e apresenta os resultados no testMid da coluna. |
Exemplos de VBA
Observação: Os exemplos que se seguem demonstram a utilização desta função num módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Programador na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.
O primeiro exemplo utiliza a função Média para devolver um número especificado de carateres 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 utiliza MidB e uma função definida pelo utilizador (MidMbcs) para também devolver carateres da cadeia. A diferença aqui é que a cadeia de 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"