首页 > 解决方案 > VBA 中是否有任何 C 样式的字符串格式?

问题描述

我想在 VBA 中使用 C 风格的字符串格式,以便像在 Python 中那样更轻松地发送 SQL 指令。

有没有类似的?

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)

谢谢,

标签: vbastringformatc-strings

解决方案


您可以像这样使用 System.Text.StringBuilder:

Function FormatString(Text As String, ParamArray Args() As Variant) As String
    Dim values()
    Dim n As Long
    ReDim values(UBound(Args))

    For n = 0 To UBound(Args)
        values(n) = Args(n)
    Next

    With CreateObject("System.Text.StringBuilder")
        .AppendFormat_4 Text, values
        FormatString = .toString
    End With
End Function

测试

即时窗口截图 您可以在此处找到我编写的用于包装 System.Text.StringBuilder 的类:Bringing The System.Text.StringBuilder Up To Lightning Speed In The VBA


推荐阅读