Skip to content

VBMAN.ToolsStr - String Tool Object ​

Overview ​

VBMAN.ToolsStr provides rich string processing functions, including GUID generation, regex extraction, encoding conversion, text splitting, etc.

Methods ​

GetGUID ​

Generate GUID string

vb
Public Function GetGUID(Optional isFull As Boolean) As String

Parameters:

  • isFull - Whether to return full format (with braces), default False

Returns: GUID string

Example:

vb
' Standard format
Debug.Print VBMAN.ToolsStr.GetGUID()
' Output: 550e8400-e29b-41d4-a716-446655440000

' Full format
Debug.Print VBMAN.ToolsStr.GetGUID(True)
' Output: {550e8400-e29b-41d4-a716-446655440000}

ParseNumbers ​

Extract numbers from string

vb
Public Function ParseNumbers(inputString As String, Optional DecimalPlaces As Long = -1, Optional Count As Long) As Collection

Parameters:

  • inputString - Input string
  • DecimalPlaces - Decimal places (-1 means no processing)
  • Count - Maximum extraction count (0 means no limit)

Returns: Collection containing numbers

Example:

vb
Dim nums As Collection
Set nums = VBMAN.ToolsStr.ParseNumbers("Price: 123.45 yuan, Quantity: 10 pieces")

Dim i As Long
For i = 1 To nums.Count
    Debug.Print nums(i)
Next i
' Output: 123.45, 10

SplitLinesToCollection ​

Split text into line collection

vb
Public Function SplitLinesToCollection(ByVal Text As String) As cCollection

Parameters:

  • Text - Text to split

Returns: cCollection, one element per line

Example:

vb
Dim lines As cCollection
Set lines = VBMAN.ToolsStr.SplitLinesToCollection("Line 1" & vbCrLf & "Line 2" & vbCrLf & "Line 3")

Dim i As Long
For i = 1 To lines.Count
    Debug.Print lines(i)
Next i

JoinLinesFromCollection ​

Join line collection into string

vb
Public Function JoinLinesFromCollection(Coll As cCollection) As String

Parameters:

  • Coll - cCollection

Returns: Joined string

Example:

vb
Dim coll As New cCollection
coll.Add "Line 1"
coll.Add "Line 2"
coll.Add "Line 3"

Dim text As String
text = VBMAN.ToolsStr.JoinLinesFromCollection(coll)
' Result: Line 1 & vbCrLf & Line 2 & vbCrLf & Line 3

ToArray ​

Convert string to character array

vb
Public Function ToArray(Text As String) As String()

Parameters:

  • Text - Input string

Returns: Character array

Example:

vb
Dim chars() As String
chars = VBMAN.ToolsStr.ToArray("Hello")

Dim i As Long
For i = LBound(chars) To UBound(chars)
    Debug.Print chars(i)
Next i
' Output: H, e, l, l, o

SplitLines ​

Split text into line array

vb
Public Function SplitLines(ByVal Text As String) As String()

Parameters:

  • Text - Input text

Returns: String array

Example:

vb
Dim lines() As String
lines = VBMAN.ToolsStr.SplitLines("Line 1" & vbCrLf & "Line 2")

Comprehensive Examples ​

Example 1: Generate Unique ID ​

vb
Private Sub GenerateUniqueId()
    ' Generate order number
    Dim orderId As String
    orderId = "ORD" & Replace(VBMAN.ToolsStr.GetGUID(), "-", "")
    Debug.Print orderId
    ' Output: ORD550e8400e29b41d4a716446655440000
End Sub

Example 2: Extract Data from Text ​

vb
Private Sub ExtractData()
    Dim text As String
    text = "Product A: Price 199.99 yuan, Stock 50 pieces, Sales 1000 pieces"
    
    Dim numbers As Collection
    Set numbers = VBMAN.ToolsStr.ParseNumbers(text, 2)  ' Keep 2 decimal places
    
    If numbers.Count >= 3 Then
        Debug.Print "Price: " & numbers(1)   ' 199.99
        Debug.Print "Stock: " & numbers(2)   ' 50
        Debug.Print "Sales: " & numbers(3)   ' 1000
    End If
End Sub

Example 3: Process Multi-line Text ​

vb
Private Sub ProcessMultiLineText()
    Dim inputText As String
    inputText = "Zhang San,25,Beijing" & vbCrLf & _
                "Li Si,30,Shanghai" & vbCrLf & _
                "Wang Wu,28,Guangzhou"
    
    ' Split into lines
    Dim lines As cCollection
    Set lines = VBMAN.ToolsStr.SplitLinesToCollection(inputText)
    
    ' Process each line
    Dim i As Long
    For i = 1 To lines.Count
        Dim parts() As String
        parts = Split(lines(i), ",")
        
        Debug.Print "Name: " & parts(0) & ", Age: " & parts(1) & ", City: " & parts(2)
    Next i
End Sub

Other Common Methods ​

According to source code, ToolsStr also contains the following methods (partial):

MethodDescription
IsEmptyExCheck if string is empty (extended)
TrimExEnhanced Trim function
PercentEncodePercent encoding
PercentDecodePercent decoding
UnicodeEncodeUnicode encoding
UnicodeDecodeUnicode decoding
HasStrCheck if contains substring
SubStrSubstring extraction
GetRandStrGenerate random string

Best Practices ​

  1. GUID Usage: Suitable for generating unique identifiers, but not suitable as ordered ID
  2. Number Extraction: Regex extraction, pay attention to handling decimals and scientific notation
  3. Text Splitting: Handle different newline formats (\r\n, \n)
  4. Character Encoding: Note that VB6 internally uses Unicode, but IO often uses ANSI

VB6 and LOGO copyright of Microsoft Corporation