All,
I know that spell check was an issue and last time I checked, there isn’t a solution inside ClickLearn. That said, when your portal grows beyond 1,000 pages of content and steps, with multiple editors, it is easy to not catch misspelled words. I will share my work around:
While working on a concordance file for my written processes (separate thread later), I am using a word frequency counter in VBA that counts the word frequency in my huge file. From there, it is VERY easy to see the misspelled words in Word, go to your section in the written steps (the PDF of your training portal), find the specific recording, and then go update the recordings as necessary. In this example, I have misspelled ‘separate’ 7 times, as found in VBA.
Before we go too far, don’t be afraid of this VBA, it’s easy and self-explanatory. I also didn’t write it, found it on the Internet and works great. When the script runs, for a 1,200 page doc, it took about 10 minutes to run. Easy peasy. When the script is done, it will create a new word doc and show you each word and the # of times it appears. Misspelled words as you know are underlined in red.
As I mentioned at the top of this post, I am working on a concordance file but found this quick tip and trick extremely useful for the spell check issue.
Steps:
- Make a copy of your Word doc; the “Full download portal” Word doc
- Open file and click on developer tab
- Create a new module in VBA, paste in code, run from top
- You can change the max word count if desired or leave as-is
- You can exclude words or leave as-is for first run
- Results will appear in 5-15 minutes in a new word doc
- Scan for misspelled words in frequency counts
- Go update your ClickLearn content as needed
- Reproduce your content
I hope you found this useful, VBA below. Let me know if I can help. Tom
Sub WordFrequency()
Const maxwords = 9000 'Maximum unique words allowed
Dim SingleWord As String 'Raw word pulled from doc
Dim Words(maxwords) As String 'Array to hold unique words
Dim Freq(maxwords) As Integer 'Frequency counter for unique words
Dim WordNum As Integer 'Number of unique words
Dim ByFreq As Boolean 'Flag for sorting order
Dim ttlwds As Long 'Total words in the document
Dim Excludes As String 'Words to be excluded
Dim Found As Boolean 'Temporary flag
Dim j, k, l, Temp As Integer 'Temporary variables
Dim ans As String 'How user wants to sort results
Dim tword As String '
' Set up excluded words
Excludes = "Fthe]5a]>of]ais]tto]=for]oby]0be]0and]are]"
' Find out how to sort
ByFreq = True
ans = InputBox("Sort by WORD or by FREQ?", "Sort order", "WORD")
If ans = "" Then End
If UCase(ans) = "WORD" Then
ByFreq = False
End If
Selection.HomeKey Unit:=wdStory
System.Cursor = wdCursorWait
WordNum = 0
ttlwds = ActiveDocument.Words.Count
' Control the repeat
For Each aword In ActiveDocument.Words
SingleWord = Trim(LCase(aword))
'Out of range?
If SingleWord < "a" Or SingleWord > "z" Then
SingleWord = ""
End If
'On exclude list?
If InStr(Excludes, ":" & SingleWord & "]") Then
SingleWord = ""
End If
If Len(SingleWord) > 0 Then
Found = False
For j = 1 To WordNum
If Words(j) = SingleWord Then
Freq(j) = Freq(j) + 1
Found = True
Exit For
End If
Next j
If Not Found Then
WordNum = WordNum + 1
Words(WordNum) = SingleWord
Freq(WordNum) = 1
End If
If WordNum > maxwords - 1 Then
j = MsgBox("Too many words.", vbOKOnly)
Exit For
End If
End If
ttlwds = ttlwds - 1
StatusBar = "Remaining: " & ttlwds & ", Unique: " & WordNum
Next aword
' Now sort it into word order
For j = 1 To WordNum - 1
k = j
For l = j + 1 To WordNum
If (Not ByFreq And Words(l) < Words(k)) _
Or (ByFreq And Freq(l) > Freq(k)) Then k = l
Next l
If k <> j Then
tword = Words(j)
Words(j) = Words(k)
Words(k) = tword
Temp = Freq(j)
Freq(j) = Freq(k)
Freq(k) = Temp
End If
StatusBar = "Sorting: " & WordNum - j
Next j
' Now write out the results
tmpName = ActiveDocument.AttachedTemplate.FullName
Documents.Add Template:=tmpName, NewTemplate:=False
Selection.ParagraphFormat.TabStops.ClearAll
With Selection
For j = 1 To WordNum
.TypeText Text:=Trim(Str(Freq(j))) _
& vbTab & Words(j) & vbCrLf
Next j
End With
System.Cursor = wdCursorNormal
j = MsgBox("There were " & Trim(Str(WordNum)) & _
" different words ", vbOKOnly, "Finished")
End Sub