Board logo

標題: [發問] 透過函數HYPERLINK超連結,出現"無法開啟....,無法下載您要求的資訊。" [打印本頁]

作者: av8d    時間: 2021-8-23 01:17     標題: 透過函數HYPERLINK超連結,出現"無法開啟....,無法下載您要求的資訊。"

本帖最後由 av8d 於 2021-8-23 01:28 編輯

預設瀏覽器為Chrome

例一、儲存格=HYPERLINK("https://www.google.com.tw/webhp?tab=Tw","搜尋")
可正常開啟

例二、儲存格=HYPERLINK("https://www.google.com.tw/search?q="&F2&"&ei","谷歌搜尋")
會出現"無法開啟 https://www.google.com.tw/search?q=&ei,無法下載您要求的資訊。"(如下圖)
[attach]33940[/attach]

爬文多日,皆未能解答,希望能獲得各位前輩們相助,感激不盡。
作者: 劉大胃    時間: 2021-8-26 10:59

Hello,

HTML 是不是要先將文字轉成UTF8格式嗎?
可試試.
Thanks ~

Function URLEncodeUTF8(ByRef szString As String) As String

        Dim szChar   As String
        Dim szTemp   As String
        Dim szCode   As String
        Dim szHex    As String
        Dim szBin    As String
        Dim iCount1  As Integer
        Dim iCount2  As Integer
        Dim iStrLen1 As Integer
        Dim iStrLen2 As Integer
        Dim lResult  As Long
        Dim lAscVal  As Long
        szString = Trim$(szString)
        iStrLen1 = Len(szString)
        For iCount1 = 1 To iStrLen1
            szChar = Mid$(szString, iCount1, 1)
            lAscVal = AscW(szChar)
            If lAscVal >= &H0 And lAscVal <= &HFF Then
               If (lAscVal >= &H30 And lAscVal <= &H39) Or _
                  (lAscVal >= &H41 And lAscVal <= &H5A) Or _
                  (lAscVal >= &H61 And lAscVal <= &H7A) Then
                  szCode = szCode & szChar
               Else
                  szCode = szCode & "%" & Hex(AscW(szChar))
               End If
            Else
               szHex = Hex(AscW(szChar))
               iStrLen2 = Len(szHex)
               For iCount2 = 1 To iStrLen2
                   szChar = Mid$(szHex, iCount2, 1)
                   Select Case szChar
                          Case Is = "0"
                               szBin = szBin & "0000"
                          Case Is = "1"
                               szBin = szBin & "0001"
                          Case Is = "2"
                               szBin = szBin & "0010"
                          Case Is = "3"
                               szBin = szBin & "0011"
                          Case Is = "4"
                               szBin = szBin & "0100"
                          Case Is = "5"
                               szBin = szBin & "0101"
                          Case Is = "6"
                               szBin = szBin & "0110"
                          Case Is = "7"
                               szBin = szBin & "0111"
                          Case Is = "8"
                               szBin = szBin & "1000"
                          Case Is = "9"
                               szBin = szBin & "1001"
                          Case Is = "A"
                               szBin = szBin & "1010"
                          Case Is = "B"
                               szBin = szBin & "1011"
                          Case Is = "C"
                               szBin = szBin & "1100"
                          Case Is = "D"
                               szBin = szBin & "1101"
                          Case Is = "E"
                               szBin = szBin & "1110"
                          Case Is = "F"
                               szBin = szBin & "1111"
                          Case Else
                   End Select
               Next iCount2
               szTemp = "1110" & Left$(szBin, 4) & "10" & Mid$(szBin, 5, 6) & "10" & Right$(szBin, 6)
               For iCount2 = 1 To 24
                   If Mid$(szTemp, iCount2, 1) = "1" Then
                      lResult = lResult + 1 * 2 ^ (24 - iCount2)
                   Else: lResult = lResult + 0 * 2 ^ (24 - iCount2)
                   End If
               Next iCount2
               szTemp = Hex(lResult)
                     szCode = szCode & "%" & Left$(szTemp, 2) & "%" & Mid$(szTemp, 3, 2) & "%" & Right$(szTemp, 2)
            End If
szBin = vbNullString
            lResult = 0
        Next iCount1
        URLEncodeUTF8 = szCode

End Function
作者: 劉大胃    時間: 2021-8-26 11:40

Hello,

我剛使用是可以的, 不會有錯誤訊息,
我的環境如下. 供你參考.

預設溜覽器: Firefox
excel : 2016 64bit

F2=谷砍
F4=HYPERLINK("https://www.google.com.tw/search?q="&F2&"&ei","谷歌搜尋")
作者: av8d    時間: 2021-8-26 15:25

本帖最後由 av8d 於 2021-8-26 15:30 編輯

回復 3# 劉大胃

首先萬分感謝前輩的用心與指導,

我目前使用的是Windows 10
Office軟體是Exce l2019
預設瀏覽器為 Chrome

程式碼的部分我比較陌生,但有放進VBA跑過,依然是無法開啟,

我更換電腦以前是Windows 7
Office軟體是Excel 2010
預設瀏覽器為 Chrome
是可以正常使用的

我猜測是不支援search?q=
我會繼續上網尋找解答,非常感謝您的用心。
作者: quickfixer    時間: 2021-8-26 16:33

回復 4# av8d

我試也沒問題

預設溜覽器: Chrome
excel : 2016 64bit

F2=台積電
F4=HYPERLINK("https://www.google.com.tw/search?q="&F2&"&ei","谷歌搜尋")
作者: av8d    時間: 2021-8-26 19:40

回復 5# quickfixer

萬分感謝您的測試,
我的是 Excel 專業增強版 2019
照道理說版本應該不會因此有問題

我剛還測試了 HYPERLINK("https://www.youtube.com/results?search_query="&F2,"YT搜尋")
也是正常的,原因不好找,我繼續努力。
作者: 劉大胃    時間: 2021-8-27 11:05

Hello, Av8d 大

呵~看起來, 像是Office版本的問題了!!
如有解決, 再請大大不吝分享.
或許未來小弟也會有相同的問題.
Thanks ~
作者: av8d    時間: 2021-9-1 10:29

回復 7# 劉大胃

突然間沒有使用任何設定,卻又可以用了,太神奇了,萬分感謝各位前輩的熱心幫助!




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