问题
Example code:
Dim a As String
a = 1234,5678,9123
I want to add literal double quotes to the variable a
Expected Output:
a = "1234,5678,9123"
How do I format the string so when I print it, it has double quotes around it?
回答1:
If you want to include "
in a string, supply ""
where you want the quote to appear. So your example should read...
a = """1234,5678,9123"""
回答2:
The current answers are correct and valid but sometimes the following can improve readability:
a = Chr$(34) & "1234,5678,9123" & Chr$(34)
回答3:
To make Chr$(34) more readable:
Dim quote as string
quote = Chr$(34)
a = quote & "1234,5678,9123" & quote
This makes it easier to get the correct number of " symbols everywhere and is readable.
回答4:
a = """1234,5678,9123"""
or
a= """" & a & """"
回答5:
No need to add any kind of complicated functions just use following example to insert double in text box or rich text box.
Dim dquot=""""
TextBox1.AppendText("Hello " &dquot &"How are you ?" ")
or
Dim dquot=""""
RichTextBox1.AppendText("Hello " &dquot &"How are you ?" ")
回答6:
You just use Chr$(34)
to insert a double quotes.
Eg:
Dim i as String
i = Chr$(34) & "Hello World" & Chr$(34) 'Shows "Hello World"
回答7:
I used the Chr$(34) method, like this:
Sub RunPython()
Dim scriptName As String
Dim stAppName As String
scriptName = ActiveWorkbook.Path & "\aprPlotter.py"
stAppName = "python.exe " & Chr$(34) & scriptName & Chr$(34)
Debug.Print stAppName
Call Shell(stAppName, vbHide)
End Sub
I was using the same path for the python script as the Excel Workbook, to keep it easier for the users. I monkeyed with the quotes for 45 minutes before I found this thread. When the paths are sourced from active working locations (especially ones with spaces in Windows), I think this is a preferred method. Hopefully, this will help someone else.
来源:https://stackoverflow.com/questions/8574682/how-to-add-double-quotes-in-a-string-literal