[算表] 地址翻譯匯入與匯出

看板Office作者 (幸福從來就不屬於惡魔的~)時間13年前 (2012/11/15 09:58), 編輯推噓0(0014)
留言14則, 2人參與, 最新討論串1/1
軟體:Excel 版本:2010 因工作需要,要把地址中翻英輸入翻譯網址http://cdict.net/ 或中華郵政 (因需下拉故 放棄),資料約2000多筆,已爬過文用HYPERLINK("http://cdict.net/?q=" & G2,"address")的公 式省下逐筆剪下貼上的時間, 但資料量太大,所以有高手協助用自建函數來做: Public Function getCdit(strIn As Variant) As Variant Dim objXML Dim strResult As String Dim strResultFin As String Dim lngPosStart As Long Dim lngPosEnd As Long Set objXML = CreateObject("MSXML2.ServerXMLHTTP") objXML.Open "GET", "http://cdict.net/?q=" & strIn, False Call objXML.send strResult = objXML.responseText strResultFin = "" lngPosStart = InStr(1, strResult, "<div id='eng_addr'>", vbTextCompare) If lngPosStart > 0 Then lngPosEnd = InStr(lngPosStart, strResult, "</div>", vbTextCompare) strResultFin = Mid(strResult, lngPosStart + Len("<div id='eng_addr'>"), lngPosEnd - lngPosStart - Len("<div id='eng_addr'>")) End If getCdit = strResultFin Set objXML = Nothing End Function 但我用自訂函數在儲存格(中文地址是在E欄,需查詢後轉回F欄內一直跑出空白), 能否協助是哪一段落有錯誤的地方? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.245.65.190

11/15 11:50, , 1F
http://goo.gl/XQX2o 試試,問題應該是Url編碼
11/15 11:50, 1F

11/15 11:51, , 2F
在win7我用上面的程式ok,在winxp時不行
11/15 11:51, 2F

11/15 11:52, , 3F
strIn進到網頁時它會一個字一個字的翻譯,而不是判斷地址
11/15 11:52, 3F

11/15 11:53, , 4F
所以新增function是將中文地址編碼
11/15 11:53, 4F

11/15 11:53, , 5F
11/15 11:53, 5F

11/15 13:31, , 6F
感謝soyoso提供的方向,試過但還是出現空白
11/15 13:31, 6F

11/15 13:33, , 7F
下載檔案重新再按一次enter即又出現空白
11/15 13:33, 7F

11/15 13:53, , 8F
http://goo.gl/kyeMm 我用同個檔案截取影像
11/15 13:53, 8F

11/15 13:55, , 9F
請問您的系統和office版本是??
11/15 13:55, 9F

11/15 16:28, , 10F
我的系統是XP,office是2010
11/15 16:28, 10F

11/15 17:27, , 11F
http://goo.gl/EWKmB 用vmware虛擬相同下,是可以執行的
11/15 17:27, 11F

11/15 17:27, , 12F
是否有可能是安全性呢??
11/15 17:27, 12F

11/15 17:37, , 13F
so大,我拿掉Option Explicit就可以了耶~雖然我不知其所以然
11/15 17:37, 13F

11/15 17:38, , 14F
但不用一筆一筆查真的很高興,很謝謝你的意見!!
11/15 17:38, 14F
文章代碼(AID): #1Gf4nA-I (Office)
文章代碼(AID): #1Gf4nA-I (Office)