×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

bApostropheChrs - Macro to deploy correct CATIA search query syntax

bApostropheChrs - Macro to deploy correct CATIA search query syntax

bApostropheChrs - Macro to deploy correct CATIA search query syntax

(OP)
Hello all!

I use V5R20, and the search function, while powerful, uses different query formatting depending on which characters are in the search string. The bApostropheChrs was made through trial and error through all ASCII characters, seeing which ones CATIA surrounded with double quotations (""), and which ones it didn't.

I didn't build a function to use bApostropheChrs (it'd be very simple if you're inclined), but my reusable code snippet is included below!

Hope this helps anyone looking to use the search function more easily in VBA!

CODE --> VBA

'---------------------------------------------------------------------------------------
' Mod       : Reusable Search snippet
' Author    : Sameh Khan
' Date      : 03.06.2016
' Purpose   : Calls bApostropheChrs to ascertain which query syntax to use, then deploys 
'           : based on result.
'---------------------------------------------------------------------------------------

If bApostropheChrs(ItemName) = True Then
   Call oSel.Search("InitialSearchQuery" & Chr(39) & ItemName & Chr(39) & "Scope")
Else
   Call oSel.Search("InitialSearchQuery" & ItemName & "Scope")
End If 

CODE --> VBA

Function bApostropheChrs(str As String) As Boolean

'---------------------------------------------------------------------------------------
' Function  : bApostropheChrs
' Author    : Sameh Khan
' Date      : 03.06.2016
' Purpose   : Ascertains whether the search string includes a character that causes
'           : CATIA to change it's query syntax to include double quotations.
'           : Returns TRUE if quotation marks are needed in Search query.
'---------------------------------------------------------------------------------------

    Dim strApostropheCharSet(12) As String 'Charset that requires a different Search query structure
    Dim i As Integer

    strApostropheCharSet(1) = " "
    strApostropheCharSet(2) = "&"
    strApostropheCharSet(3) = "("
    strApostropheCharSet(4) = ")"
    strApostropheCharSet(5) = "+"
    strApostropheCharSet(6) = ","
    strApostropheCharSet(7) = "-"
    strApostropheCharSet(8) = "."
    strApostropheCharSet(9) = ";"
    strApostropheCharSet(10) = "<"
    strApostropheCharSet(11) = "="
    strApostropheCharSet(0) = ">"

    For i = LBound(strApostropheCharSet) To UBound(strApostropheCharSet)
        If InStr(str, strApostropheCharSet(i)) > 0 Then
            bApostropheChrs = True
            Exit For
        End If
    Next
End Function 

Have an excellent Christmas! santa


"Simplicity is the ultimate sophistication." ~ Leonardo Da Vinci

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources