#1
|
|||
|
|||
Adjust Acronym Script to include Dashes?
Hi,
I have data that contains dashes that I would like to abbreviate by just having the first letter of each word. I found several VBA Acronym scripts that work, but they look at the spaces so the words after the dashes get lost. example: Projects-North America-Canada-Alberta-Moose Jaw would yield: PAJ I found a script that works much better: Code:
Function Acronym(str As String) As String Dim re As Object Set re = CreateObject("vbscript.regexp") re.Global = True re.Pattern = "(\w).*?(\W+|\s+|$)" Acronym = UCase(re.Replace(str, "$1")) End Function Is there a way to modify this script to retain the dashes? Desired: P-NA-C-A-MJ Thanks. |
#2
|
|||
|
|||
Welcome to the forum!
I don't understand that first part. You can make these two functions into one if you like. Code:
Sub Test() MsgBox abbrev("Projects-North America-Canada-Alberta-Moose Jaw") End Sub Function abbrev(aString$) As String Dim a, b, i As Integer a = Split(aString, "-") b = a For i = 0 To UBound(a) b(i) = Acronym(CStr(a(i))) Next i abbrev = Join(b, "-") End Function Function Acronym(str As String) As String Dim re As Object Set re = CreateObject("vbscript.regexp") re.Global = True re.Pattern = "(\w).*?(\W+|\s+|$)" Acronym = UCase(re.Replace(str, "$1")) End Function |
#3
|
|||
|
|||
The first part was just to say that most 'acronym-making' scripts I found don't work with hyphenated words. The script I showed does. I'd just like to include the hyphens in the end result.
Actually, this code of yours works well: Code:
Function abbrev(aString$) As String Dim a, b, i As Integer a = Split(aString, "-") b = a For i = 0 To UBound(a) b(i) = Acronym(CStr(a(i))) Next i abbrev = Join(b, "-") End Function |
#4
|
|||
|
|||
Code:
b(i) = Acronym(Trim(CStr(a(i)))) |
#5
|
|||
|
|||
Brilliant. Thank you!
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Acronym Finder Macro for Microsoft Word | mars1886 | Word VBA | 15 | 03-30-2022 06:56 AM |
Adding List Number to Acronym Table | SerenityNetworks | Word VBA | 6 | 12-13-2016 01:36 PM |
Acronym Macro to include surrounding text | SerenityNetworks | Word VBA | 3 | 03-11-2016 05:43 PM |
Acronym Finder | Cray_Z | Word VBA | 14 | 09-22-2014 11:42 PM |
Auto correct for Acronym | mam9 | Word | 3 | 11-19-2012 01:35 AM |