在excel中,如何利用vba对url进行解码?

目前在excel中,针对url编码、解码的问题,在excel2013中及以上版本中有了原生编码函数EnCodeURL(),但是却一直没有解码函数,于是想到可以通过vba来... 目前在excel中,针对url编码、解码的问题,在excel 2013中及以上版本中有了原生编码函数EnCodeURL(),但是却一直没有解码函数,于是想到可以通过vba来自定义解码函数,我是vba菜鸟,于是想从互联网上找个现成的函数,可是翻遍了中英互联网,都没找到一个好使的函数。
目前已知能成功解码的只有seoToolsForExcel这个插件的UrlDecode()函数(http://seotoolsforexcel.com/urldecode/),看了下插件购买价格,还是囊中羞涩。

原始字符串:
http://www.baidu.net/?utm_source=baiduppc&utm_medium=ppc&utm_term=%E6%B3%A1%E8%8A%99%E8%9C%9C%E8%AF%AD%E6%80%BB%E9%83%A8&utm_content=A01%E6%B3%A1%E8%8A%99%E8%9C%9C%E8%AF%AD-%E5%90%8D%E7%A7%B0%E7%9F%AD&utm_campaign=PFMY_[%E5%93%81%E7%89%8C](%E5%93%81%E7%89%8C)%3C%E6%B3%A1%E8%8A%99%E8%9C%9C%E8%AF%AD%3E&semk=65144830341&semc=10793640971&semm=2&semp=clg1&sema=bj&semd=pc

结果字符串:
http://www.baidu.net/?utm_source=baiduppc&utm_medium=ppc&utm_term=泡芙蜜语总部&utm_content=A01泡芙蜜语-名称短&utm_campaign=PFMY_[品牌](品牌)<泡芙蜜语>&semk=65144830341&semc=10793640971&semm=2&semp=clg1&sema=bj&semd=pc

求教段VBA urlDecode()函数。
展开
 我来答
娄亘0f3
2017-07-31
知道答主
回答量:17
采纳率:100%
帮助的人:12.8万
展开全部

用这个自定义函数

Public Function UrlDecode(ByVal strText As String) As String     '如果值中带有非英文和数字,则需转换成%形式
'url编码 utf-8
    Dim js
    Set js = CreateObject("msscriptcontrol.scriptcontrol")
    js.Language = "JavaScript"
    'UrlDecode = js.eval("decodeURI('" & strText & "');") '忽略! @ # $& * ( ) = : / ;   + '
    'UrlEncode = js.Eval("escape('" & Replace(strText, "'", "\'") & "');") '汉字转换为%u开头的Unicode码 不会被此方法编码的字符: @ * / +
    UrlDecode = js.Eval("decodeURIComponent('" & strText & "');") '包含://
End Function

欢迎到EXCEL880工作室来看实例视频

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式