The changes in red to Module4 appear to resolve the issue:
Private Declare PtrSafe Function WideCharToMultiByte Lib "Kernel32" (ByVal CodePage As Long, ByVal dwflags As Long, ByVal lpWideCharStr As LongPtr, ByVal cchWideChar As Long, ByVal lpMultiByteStr As LongPtr, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long
However, now I get:
Function GetBattleNetJSON(charName As String, charServer As String, charRealm As String)
Dim URL
URL = "http://" & charRealm & "/api/wow/character/" & charServer & "/" & charName & "?fields=items,talents,professions"
Set sc = CreateObject("ScriptControl")
sc.Language = "JScript"
Set xhr = CreateObject("Microsoft.XMLHTTP")
xhr.Open "GET", URL, False
xhr.send
Set GetBattleNetJSON = sc.Eval("(" + xhr.responseText + ")")
End Function