web-dev-qa-db-fra.com

Guillemets dans VBA

Dans mon code VBA actuel, j'ai une requête dans laquelle j'utilise Chr(34) pour mettre des guillemets entre certaines de mes variables.

Je me demandais quelles alternatives existent pour cela. C'est une question simple, je sais, mais je n'ai pas réussi à répéter des guillemets comme celui-ci.

" & chaîne de variable ici & "

Mon code est compliqué pour l'un et incompréhensible pour ceux qui ne sont pas familiers avec VBA:

comboService = Chr(34) & Me.Combo8.Value & Chr(34)

En outre, cela n'a pas fonctionné:

comboService = """" & Me.Combo8.Value & """"

Pouvez-vous peut-être me dire pourquoi?

Merci d'avance.

5
Paolo Bernasconi

Ce:

comboService = """ & Me.Combo8.Value & """

est ce que vous avez posté, mais vous devez ajouter un guillemet supplémentaire pour pouvoir ajouter un guillemet littéral:

comboService = """" & Me.Combo8.Value & """"

Les guillemets dans une chaîne sont ce que vous recherchez.

aVar = "This: "" is a literal quotation mark"
10
transistor1

Il y a quelque temps, j'ai repris une page de MS (l'ancienne vbCRLF) et je viens de définir les caractères "difficiles" dont j'ai besoin comme chaîne en haut de mon code ...

Dim vbDblQuote As String
vbDblQuote = Chr(34)

Maintenant, vous pouvez simplement utiliser cette pseudo-constante lorsque vous construisez des chaînes ...

strMyString = "Just another string " & vbDblQuote & "with quotes" & vbDblQuote & "!"

Cela rend le code plus lisible et permet également d'éviter les "erreurs de devis mal comptées"

5
Grady Patterson

J'ai trouvé le même comportement si je produisais dans un fichier en utilisant la commande Write. Les doubles guillemets sont répétés.

Toutefois, si vous construisez la chaîne puis exportez dans un fichier à l'aide de la commande Imprimer, cela ne se produit pas et tout fonctionne comme prévu.

0
John