ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 13544|回复: 12

[已解决] VBA如何调用Google搜索引擎

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-12-18 14:51 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 kqbt 于 2012-7-19 08:17 编辑

我想实现在word中对选中的文本直接调用google搜索(或加引号限制比如"MS office",或将选中的词提交translate.google.com等等),请各位大大指点迷津~~

1. 我查了一下网上,好像只有介绍用vb.net调用google的web服务,
2. 如果我只需要在浏览器打开页面,不需要返回结果,应该用vba可以搞定吧?

我知道的用法不多:
selection.text
Shell ("explorer http://www.google.com")
在google搜索"excelhome"的写法:http://www.google.cn/search?client=aff-cs-maxthon&hl=zh-CN&q=excelhome&meta=lr%3Dlang_zh-CN
可是如何把它们组合起来呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-12-18 16:48 | 显示全部楼层

我用的是maxthon,设置默认搜索引擎为google后,可以直接如此调用:

Sub Google()
Dim myFind As String, Response As Integer
myFind = Replace(Trim(Selection.text), " ", "+")

Response = msgbox("是否需加引号搜索?", vbYesNoCancel)
Select Case Response
Case vbYes
myFind = "“" & myFind & "”"
Case vbCancel
Exit Sub
End Select

Shell ("D:\program files\maxthon\maxthon.exe " & myFind)
End Sub
但感觉不是原汁原味的写法,一则未实现google搜索框中官方使用的半角引号(搜多个英文单词时引号很有用的),二则空格的处理也比较别扭,三呢……呵呵换个引擎就傻眼了。

还是期待各位老大们给出精彩的通用代码吧!比如,能否将字符串的值用URL编码成%B6%A8之类后,传递到search?q=的后面??

[此贴子已经被作者于2007-12-18 16:56:16编辑过]

TA的精华主题

TA的得分主题

发表于 2007-12-18 18:22 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-12-18 20:06 | 显示全部楼层

多谢版主回答!!今天下午论坛一时搜索不了,否则我会好好看看以前的帖子的。

又学到了一招Tasks、SendKeys,比自己摸索有效多了~~

TA的精华主题

TA的得分主题

发表于 2009-4-19 23:17 | 显示全部楼层

真妙!但这样更简单

Sub Google()
Dim myFind As String, Response As Integer
myFind = Replace(Trim(Selection.text), " ", "+")
Shell ("D:\program files\maxthon\maxthon.exe " & myFind)
End Sub

[ 本帖最后由 chuhaiou 于 2009-4-19 23:43 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-4-19 23:28 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

换浏览器后不能搜索的问题

将D:\program files\maxthon\maxthon.exe 改为C:\Program Files\Internet Explorer\iexplore.exe,如搜索"我是一个好人.MP3"为什么是在地址栏出现"http://我是一个好人.MP3"而不是在百度搜索栏出现"我是一个好人.MP3"呢?

TA的精华主题

TA的得分主题

发表于 2009-4-19 23:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

使用iexplore.exe,要是能在百度搜索栏搜索就好了!

使用iexplore.exe,要是能在百度搜索栏搜索就好了!

TA的精华主题

TA的得分主题

发表于 2009-4-20 09:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 chuhaiou 于 2009-4-19 23:37 发表
使用iexplore.exe,要是能在百度搜索栏搜索就好了!


可试试:
Sub mySearching()
    '以选中内容为搜索关键词
    Dim mySearchEngine As String
    'mySearchEngine = "http://www.google.cn/search?hl=zh-CN&q="  'Google搜索
    mySearchEngine = "http://www.baidu.com/s?wd="  '百度搜索
    Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE " & mySearchEngine & Selection.Text, 1
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-4-20 11:37 | 显示全部楼层

回复 8楼 sylun 的帖子

你真是高手,看到这个贴的人都会为之心动!尤其是编辑工作人员(防他人网上抄袭文章)!谢谢你的帮助!谢谢你!谢谢你!

[ 本帖最后由 chuhaiou 于 2009-4-20 11:40 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-4-20 15:57 | 显示全部楼层
很实用!收藏备用!谢谢sylun兄的分享!

[ 本帖最后由 tangqingfu 于 2009-4-20 16:15 编辑 ]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-13 19:43 , Processed in 0.024079 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表