Board logo

標題: 用excel上網查音標 又掛了 [打印本頁]

作者: 自我感覺良好    時間: 2012-11-30 07:30     標題: 用excel上網查音標 又掛了

用excel上網查音標 又掛了
可能網頁改變…
查不出原因
煩請各位大大幫幫忙
作者: softsadwind    時間: 2012-11-30 14:16

[attach]13343[/attach]
  1. Private Sub CommandButton1_Click()
  2.   Dim XH As Object
  3.   Dim shpRm As Shape
  4. ' With Rng.EntireRow
  5.   '          .Resize(1, .Columns.Count - 1).Offset(0, 1).Clear
  6.   'End With
  7.   Dim i
  8.     With Range(Range("A1"), Range("A1").End(xlDown))
  9.         For i = .Columns(1).Rows.Count To 2 Step -1
  10.             If .Cells(i, 1).Value <> "" Then
  11.                 Set Rng = Cells(i, 1)
  12.                 Set XH = CreateObject("Microsoft.XMLHTTP")
  13.                 With XH
  14.                      .Open "get", "http://tw.dictionary.yahoo.com/dictionary?p=" & Rng.Text, False
  15.                      .send
  16.                      On Error Resume Next
  17.                      Rng.Offset(0, 2) = Split(Split(.responseText, "class=""description""><p>1.<span class=""proun_value"">")(1), "<")(0)
  18.                      Rng.Offset(0, 1) = Left(VBA.Split(.responseText, "KK</span><span class=""proun_value"">")(1), InStr(VBA.Split(.responseText, "KK</span><span class=""proun_value"">")(1), "]"))
  19.                 End With
  20.             Else
  21.             End If
  22.             Next
  23.    End With
  24. End Sub
複製代碼

作者: 自我感覺良好    時間: 2012-11-30 15:59

奇怪呢!還是不能用.....
作者: softsadwind    時間: 2012-11-30 23:47

我自己回家用ie9 上面的程式也不行...
把網址改一下就好了.....
  1.                      .Open "get", "http://tw.dictionary.search.yahoo.com/search?p=" & Rng, False
複製代碼
[attach]13346[/attach]
作者: 自我感覺良好    時間: 2012-12-1 06:21

[attach]13348[/attach]
我還是小朋友無法下載檔案
附上檔案幫我看看那裡出錯了
我查單字都會出現
<span class="proun_value">:Q

often        <span class="proun_value">[ˋɔfən]
public        <span class="proun_value">[ˋpʌblɪk]
airport        <span class="proun_value">[ˋɛr͵port]
       
       
airplane        <span class="proun_value">[ˋɛr͵plen]
system        <span class="proun_value">[ˋsɪstəm]
protect        <span class="proun_value">[prəˋtɛkt]
作者: softsadwind    時間: 2012-12-1 08:56

回復 5# 自我感覺良好

    去下載囉
    https://www.dropbox.com/s/lxz2rycl53ax2cc/%E6%9F%A5%E5%AD%97001.xlsm

    [attach]13350[/attach]
作者: 自我感覺良好    時間: 2012-12-1 09:38

[attach]13351[/attach]感恩!太感謝了。
只是不知那一天
yahoo又要開偶的玩笑……
作者: softsadwind    時間: 2012-12-1 10:25

感恩!太感謝了。
只是不知那一天
yahoo又要開偶的玩笑……
自我感覺良好 發表於 2012-12-1 09:38



哈哈 老實跟你說 我也不懂程式語法 無中生有是不行....
不過遇到有興趣的   就土法煉鋼給他練...多嘗試就出來..別怕遇到困難....享受解決問題的樂趣囉.
作者: softsadwind    時間: 2012-12-1 11:14

  1. Sub searchIT(Rng As Range)
  2.     Dim XH As Object
  3.     Dim shpRm As Shape
  4.     Dim iurl, iurl2 As String
  5.     '清除已有的解釋及音標
  6.     iurl = "http://tw.dictionary.search.yahoo.com/search?p="
  7.     iurl2 = "http://dict.tw/index.pl?query="
  8.     With Rng.EntireRow
  9.         .Resize(1, .Columns.Count - 1).Offset(0, 1).Clear
  10.     End With
  11.     '開啟網頁
  12.     Set XH = CreateObject("Microsoft.XMLHTTP")
  13.     With XH


  14.         .Open "get", iurl & Rng, False
  15.       
  16.         
  17.         .send
  18.         On Error Resume Next
  19.         '從Yahoo字典摘取第一組中文翻譯
  20.         'Rng.Offset(0, 2) = Split(Split(.responseText, "<ol class=""explanation_ol""><li ><p class=""explanation"">")(1), "<")(0)
  21.         Rng.Offset(0, 2) = Split(Split(.responseText, "<p class=""explanation"">")(1), "<")(0)
  22.         '摘取KK音標
  23.         'Rng.Offset(0, 1) = Left(VBA.Split(.responseText, "KK</span><span class=""proun_value"">")(1), InStr(VBA.Split(.responseText, "KK</span><span class=""proun_value"">")(1), "]"))
  24.          Rng.Offset(0, 1) = Left(VBA.Split(.responseText, """proun_value"">")(1), InStr(VBA.Split(.responseText, """proun_value"">")(1), "]"))
  25.         .Open "get", iurl2 & Rng, False
  26.         .send
  27.         '從DICT.TW 英漢字典擷取字義
  28.         Rng.Offset(0, 3) = Split(Split(.responseText, "</span><br /> &nbsp;")(1), "<")(0)
  29.         
  30.     End With
  31.    
  32. End Sub
複製代碼
[attach]13353[/attach]
download it
[attach]13354[/attach]
作者: softsadwind    時間: 2012-12-1 16:58

哈哈 我又來了
反正作自己有興趣的事情囉
[attach]13362[/attach]

查字典02
作者: cautionkimo    時間: 2013-2-2 00:29

Sub searchITxx(rng As Range)
    Dim XH As Object
    Dim iurl, iurl2 As String
    iurl = "http://tw.dictionary.search.yahoo.com/search?p="
    iurl2 = "http://dict.tw/index.pl?query="
    With rng.EntireRow
        .Resize(1, .Columns.Count - 1).Offset(0, 1).Clear
    End With
    '開啟網頁
    Set XH = CreateObject("Microsoft.XMLHTTP")
    With XH
        .Open "get", iurl & rng, False
        .send
        
        On Error Resume Next
        '從Yahoo字典摘取第一組中文翻譯
        rng.Offset(0, 2) = Split(Split(.responseText, "<p class=""explanation"">")(1), "<")(0)

        '摘取KK音標
        rng.Offset(0, 1).Font.Name = "Arial Unicode MS"
        rng.Offset(0, 1).Size = 12
        rng.Offset(0, 1) = VBA.Split(VBA.Split(.responseText, """proun_value"">")(1), "<")(0)
        
        .Open "get", iurl2 & rng, False
        .send
        '從DICT.TW 英漢字典擷取字義
        rng.Offset(0, 3) = Split(Split(.responseText, "</span><br /> &nbsp;")(1), "<")(0)
        
    End With
   
End Sub
作者: cautionkimo    時間: 2013-2-2 00:32

Sub 按鈕268_Click()

    Columns("B:B").Select
    With Selection.Font
        .Name = "Arial Unicode MS"
        .Size = 12
    End With
Range("a1").Select

Dim XH As Object

    Dim rng As Range
   
      Dim iurl, iurl2 As String
    '清除已有的解釋及音標
    iurl = "http://tw.dictionary.search.yahoo.com/search?p="
    iurl2 = "http://dict.tw/index.pl?query="
    For Each rng In ActiveSheet.Range("a1", ActiveSheet.Range("a65536").End(xlUp))
            rng.Select
            If rng.Value <> "" Then
              rng.Select
              Set XH = CreateObject("Microsoft.XMLHTTP")
                    With XH
                        .Open "get", iurl & rng, False
                        .send
                         On Error Resume Next
                        '從Yahoo字典摘取第一組中文翻譯
                         rng.Offset(0, 2) = Split(Split(.responseText, "<p class=""explanation"">")(1), "<")(0)
                        '摘取KK音標
                         rng.Offset(0, 1) = Left(VBA.Split(.responseText, """proun_value"">")(1), InStr(VBA.Split(.responseText, """proun_value"">")(1), "]"))
                        .Open "get", iurl2 & rng, False
                        .send
                        '從DICT.TW 英漢字典擷取字義
                        rng.Offset(0, 3) = Split(Split(.responseText, "</span><br /> &nbsp;")(1), "<")(0)
                    End With
             End If
    Next
   
End Sub
不要叫我高手
作者: 自我感覺良好    時間: 2013-2-2 06:51

回復 12# cautionkimo


    Dim rng .......Next
更好用
管你多少個單字
一鍵都搞定了




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)