Devolve uma Variante (Cadeia) que contém um número especificado de variantes de uma cadeia.
Sintaxe
Mid(string, start [, length ] )
A sintaxe da função Meio tem estes argumentos:
| Argumento | Descrição |
|---|---|
| cadeia | Obrigatório. Expressão de cadeia da qual são devolvidos carateres. Se cadeia contiver Nulo, Nulo é devolvido. |
| Início | Obrigatório. Longo. Posição do caráter na cadeia na qual começa a parte a retirar. Se início for maior que o número de carateres na cadeia, Mid devolve uma cadeia de comprimento zero (""). |
| comprimento | Opcional. Variante (Longo). Número de carateres a devolver. Se for omitido ou se existirem carateres com menos comprimento no texto (incluindo o caráter no início), todos os carateres da posição inicial até ao fim da cadeia serão devolvidos. |
Observações
Para determinar o número de carateres na cadeia, utilize a função Compr .
Nota
Utilize a função MidB com dados de byte contidos numa cadeia, como em idiomas de conjuntos de carateres de byte duplo. Em vez de especificar o número de caracteres, os argumentos especificam o número de bytes. Para código de exemplo que usa MidB, consulte 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 IDDoProduto a partir do caráter 5 e apresenta os resultados na coluna Expr1. |
| SELECT IDDoProduto, Mid(IDDoProduto,5,4) COMO testMid FROM ProductSales; | Devolve o "IDDoProduto" e a parte de IDDoProduto a partir da posição 5 do caráter que contém 4 carateres, e apresenta os resultados na coluna TestMid. |
Exemplos de VBA
Nota
Os exemplos de VBA seguintes demonstram a utilização desta função num módulo Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.
O primeiro exemplo utiliza a função Mid 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 usa MidB e uma função definida pelo usuário (MidMbcs) para também retornar caracteres da string. A diferença aqui é que a cadeia de entrada é ANSI e o comprimento é 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"