Je veux générer des chaînes GUID dans VBScript. Je sais qu'il n'y a pas de fonction intégrée dans VBScript pour en générer une. Je ne veux pas utiliser les GUID générés au hasard. Peut-être existe-t-il un objet ActiveX qui peut être créé en utilisant CreateObject() qui est sûr d'être installé sur les versions (plus récentes) de Windows qui peuvent générer un GUID?Comment générer un GUID dans VBScript?
Répondre
How Can I Create a GUID Using a Script? (in: Hey, Scripting Guy! Blog) dit ceci:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
Wscript.Echo TypeLib.Guid
Cependant, notez que Scriptlet.TypeLib.Guid retourne une chaîne terminée par zéro, ce qui peut provoquer des choses à ignore everything after the GUID. Pour résoudre ce problème, vous devrez peut-être utiliser:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
myGuid = TypeLib.Guid
myGuid = Left(myGuid, Len(myGuid)-2)
Wscript.Echo myGuid
Merci! J'aime le "Hey, Scripting Guy!" lien! – vividos
Pour toute personne utilisant cette méthode, sachez que l'objet 'Scriptlet.TypeLib' renverra _the GUID_ chaque fois que vous appelez la propriété' GUID'. Si vous devez générer plusieurs GUID, détruisez et recréez l'objet 'Scriptlet.TypeLib' ou, mieux encore, enveloppez-le dans une fonction comme d'autres l'ont montré afin que l'objet soit créé et détruit avec chaque appel de fonction. – Bond
@vividos lien brisé est fixé maintenant (grâce à Google) – Wolf
Set tlib = Server.CreateObject("Scriptlet.TypeLib")
strGuid = tlib.Guid
Function CreateGUID
Dim TypeLib
Set TypeLib = CreateObject("Scriptlet.TypeLib")
CreateGUID = Mid(TypeLib.Guid, 2, 36)
End Function
Cette fonction retourne un GUID ordinaire, par exemple, 47BC69BD-06A5-4617-B730-B644DBCD40A9
.
Si vous voulez un GUID dans un format de registre, par exemple, {47BC69BD-06A5-4617-B730-B644DBCD40A9}
, changement de
CreateGUID = Left(TypeLib.Guid, 38)
Meilleure réponse: combine fournissant une fonction pas trop intelligent et en ajoutant des informations supplémentaires sur les détails. Cela devrait être la réponse acceptée. – Wolf
' Returns a unique Guid on every call. Removes any cruft.
Function CreateGuid()
CreateGuid = Left(CreateObject("Scriptlet.TypeLib").Guid,38)
End Function
- 1. Comment générer un GUID sous Windows Mobile?
- 2. Comment générer un nouveau GUID dans Inno Setup?
- 3. Comment créer un guid dans MFC
- 4. Comment faire pour hacher un GUID et un horodatage 64 bits dans un autre GUID
- 5. Comment créer un tableau binaire dans VbScript?
- 6. Comment automatiser un clic droit dans VBScript?
- 7. Comment ajouter un GUID simpleType dans un schéma XML?
- 8. GUID semblable à YouTube
- 9. Insérer un GUID à chaque ligne existante
- 10. Comment utiliser GetObject dans VBScript
- 11. Comment utiliser VBScript dans PowerDesigner?
- 12. Comment puis-je supprimer un nœud spécifique dans un fichier XML en utilisant vbscript
- 13. Représente un Guid comme un ensemble d'entiers
- 14. Test à l'aide d'un guid ... comment définir la variable sur un Guid?
- 15. SQL Server - Guid VS. Long
- 16. XPath count dans VBScript
- 17. CommonAppData dans vbscript
- 18. VBScript pour écrire une macro dans un fichier Excel
- 19. Comment générer un fichier XML
- 20. Génération d'un nouveau GUID aléatoire dans l'IDE Delphi
- 21. Nullable GUID
- 22. Response.redirect dans vbscript
- 23. Comment crypter dans VBScript en utilisant AES?
- 24. Précision maintenant() dans VBScript
- 25. Clojure: Comment générer un 'trie'?
- 26. identifiant unique dans la base de données Sql Server - comment générer dans un environnement Java?
- 27. Est-il sûr de pré-générer un Guid et de l'insérer dans une table en tant que clé primaire?
- 28. Le GUID de l'entité dans un champ personnalisé
- 29. Expressions régulières dans VbScript?
- 30. générer un rapport dans JIRA
Je pense que la dernière ligne de la fonction de la réponse acceptée a la qualité beaucoup plus faible que la [le plus voté un] (http://stackoverflow.com/a/968790/2932052). Peut-être une raison de repenser votre décision? – Wolf