J'ai écrit un script dans VBA qui est capable de produire des lettres de J'ai essayé avec (producteur alphabets): P> a-z code> et 0-9 code> à tour de rôle. Je ne suis pas sûr, mais je pense que comme em> strong> l'opérateur a quelque chose à voir avec cela. Sub FetchLinks()
Const URL$ = "https://www.sharedividends.com.au/wp-content/custom/livesearch.php?"
Dim params$, I&, N$
For I = 0 To 35
N = IIf(I <= 25, Chr(I + 65), CStr(I - 26))
params = "q=" & N
Debug.Print URL & params
Next I
End Sub
4 Réponses :
quelque chose comme ça?
A B C ⦠X Y Z 0 1 2 3 4 5 6 7 8 9
Vous pouvez faire quelque chose comme le suivant
Sub GetAlphabets()
Dim i As Long
For i = 0 To 35
Debug.Print IIf(i <= 25, Chr(i + 65), CStr(i - 26))
Next i
End Sub
Oui, c'est ce que je souhaite obtenir. Le seul problème est - les chiffres ont des espaces de premier plan. Pouvez-vous dépouiller cet espace? Merci.
@ Robots.txt C'est à quoi ils sont affichés dans l'instruction DEBUG.PRINT code>. Ils ne seront pas comme une variable. Je pense que la seule façon de contourner ce problème est de le convertir en une chaîne code> (voir la mise à jour)
En fait, il n'y a aucun avantage à utiliser une boucle sur 2 boucles. La quantité d'itérations est la même et elle est beaucoup moins lisible que 2 boucles. Je recommanderais d'utiliser 2 boucles à la place pour un meilleur entretien, une meilleure lisibilité et une même performance.
C'est tellement parfait !!!!!!! Je les ai enfin besoin comme des cordes que je les utiliserai dans un site Web paginé. Merci.
@ Pᴇʜ Je suis d'accord avec vous dans ce cas, mais peut être bénéfique s'il fait partie d'un code plus vaste (qui, par les sons, c'est)
Si vous en avez besoin exactement avec cette sortie (lettres et numéros), vous pouvez utiliser:
Sub GetAlphabets()
Dim i As Byte
For i = 65 To 90
Debug.Print Chr(i)
Next i
For i = 48 To 57
Debug.Print Chr(i)
Next i
End Sub
Sortie de la matrice flexible forte> Pour le bien de l'art, j'ai démontré une approche flexibilisée permettant un nombre fort> de caractères et de chiffres: p> P> P> Exemple d'exemple Call STRT> P> Function GetAlphaAndNums(Optional ByVal alphaLength& = 26, Optional ByVal numLength& = 10) As Variant()
Dim chars, i&
' [1] get ASC values of alphabet
If alphaLength > 0 Then
If alphaLength > 26 Then alphaLength = 26 ' allow alphabetic characters from A-Z only
chars = Evaluate("column(1:" & alphaLength & ")+64") ' assign alphabetic asc values to 1-based array chars
Else ' (i.e. no alphabetic characters at all)
If numLength = 0 Then numLength = 1 ' avoid empty array
ReDim chars(1 To Abs(numLength)) ' define any array length if no alphabetic chars at al
End If
ReDim Preserve chars(1 To alphaLength + numLength) ' provide for sufficient items
' [2] Fill array with characters and numbers
For i = 1 To UBound(chars)
chars(i) = IIf(i <= alphaLength, Chr(chars(i)), CStr(i - alphaLength - 1))
Next i
GetAlphaAndNums = chars ' return array
End Function
Pourquoi ne pas créer de tableau avec 36 articles? En outre, pourquoi pensez-vous que l'opérateur similaire est pertinent?
Que voulez-vous dire "en même temps"?
Sans créer plusieurs boucles @sjr.
Si vous n'êtes toujours pas clair, laissez-moi savoir @sjr.
@ robots.txt Voir ma réponse (édité). Mais il n'y a pas d'avantage en utilisant une boucle au lieu de 2. La quantité d'itération des étapes est la même si vous faites
0 ... 35 code> ou0 ... 25 + 0 ... 9 code>Parce que je pensais que
comme code> opérateur fonctionne de plus en plus sur le fonctionnement de Regex, comme dans "[A-Z0-9]" @John Coleman.@ robots.txt - FYI a publié une approche de tableau flexibilisée
S'il vous plaît vérifier la modification. Merci.