View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Sam Sam is offline
external usenet poster
 
Posts: 2
Default Excel-Web Queries to Babelfish

Hi

I have tried an example that has been floating around this newsgroup

It seems to work except for the fact that it seems that the text sent back
to me is truncated??

Anyone seen this problem???

Thanks

Code
------

Enum TranslateLanguages
Eng_Fren = 1
Eng_Ger = 2
Eng_Ita = 3
Eng_Port = 4
Eng_Span = 5
Fren_Eng = 6
Fren_Ger = 7
Ger_Eng = 8
Ger_Fren = 9
Ita_Eng = 10
Port_Eng = 11
Span_Eng = 12
End Enum

Public Function gsTranslateText(rsTextToTranslate, rMode As
TranslateLanguages) As String
Dim xml As XMLHTTP30
Dim abytPostData() As Byte
Dim sMode As String
Dim sResponse As String
Dim nStartPos As Integer
Dim nEndPos As Integer


Select Case rMode
Case Eng_Fren
sMode = "en_fr"
Case Eng_Ger
sMode = "en_de"
Case Eng_Ita
sMode = "en_it"
Case Eng_Port
sMode = "en_pt"
Case Eng_Span
sMode = "en_es"
Case Fren_Eng
sMode = "fr_en"
Case Fren_Ger
sMode = "fr_de"
Case Ger_Eng
sMode = "de_en"
Case Ger_Fren
sMode = "de_fr"
Case Ita_Eng
sMode = "it_en"
Case Port_Eng
sMode = "pt_en"
Case Span_Eng
sMode = "es_en"
End Select

abytPostData = StrConv("doit=done&intl=1" _
& "&tt=urltext&lp=" & sMode & "&urltext=" _
& rsTextToTranslate, vbFromUnicode)

Set xml = New XMLHTTP30
With xml
.open "POST", "http://babelfish.altavista.com/babelfish/tr"
.setRequestHeader "Content-Type",
"application/x-www-form-urlencoded"
.send abytPostData
Do While .readyState < 4
DoEvents
Loop
sResponse = .responseText

End With

'/ find translation
nStartPos = InStr(1, sResponse, "lang=" & _
Right$(sMode, 2), vbTextCompare)
If nStartPos Then
nStartPos = nStartPos + 8
nEndPos = InStr(nStartPos, sResponse, _
"</div", vbTextCompare) - 1
If nEndPos = nStartPos Then gsTranslateText = _
Mid$(sResponse, nStartPos, nEndPos - _
nStartPos + 1)
End If

Set xml = Nothing
End Function

Text Back
---------



<html<head<titleAltaVista - Babel Fish Translation - Translated
Text</title
<meta name="description" content="AltaVista Babel Fish provides the online
text and web page language translation!"
<meta name="keywords" content="translation transl