excel - 过滤表格时如何在 IE(非默认浏览器)中使 Excel 打开超链接
问题描述
当我的编程知识为零并且既不了解 VBA 的基础知识和创建宏时,我一直在绞尽脑汁思考解决方案。我上网寻找答案,但仍然只能提出一个低于标准的解决方案,所以我正在寻求帮助。
我的问题是:我有一个包含表格的 excel 文件,并且该表格有过滤器。对于日期。在该表中,我有一列指定用于我想在 IE 上打开的链接(这不是我的默认浏览器,但它 (IE) 用于仅适用于 IE 的公司数据库)。
链接具有分配给它们的唯一 ID 号(在 G 列上),因此每个链接的格式类似于 http://site(.)com/uniqueIDnumber(与 G 列中的 ID 号连接)。我希望能够按相关日期过滤表格,这样当我点击剩余的超链接(顺便说一下,我将它们连接起来)时,Excel 会被提示在 Internet 上打开这些连接的链接资源管理器(无需登录)。
到目前为止,通过我长达数小时的浏览,我已经设法以某种方式结束了这段代码(我使用了不同的站点名称来匿名保护数据)。它所做的是一次打开它在指定列上找到的所有链接。这里是:
Sub openurl()
Dim IELocation As String
Dim MyURL As String
Dim i As Integer
Dim FinalRowFiltered As Long
FinalRowFiltered = Sheet4.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To FinalRowFiltered
MyURL = Sheet4.Cells(i, 7)
IELocation = "C:\Program Files\Internet Explorer\iexplore.exe"
Shell (IELocation & " http://tool.filings.irc.site.com/tool/" & MyURL)
Next i
End Sub
我已经设法使用我拥有的代码(从 youtube 和 google 搜索复制)是一次打开所有链接,这是灾难性的(正如你可以想象的那样)。我只需要根据我放置过滤器后剩下的内容打开链接。请让我知道如何解决这个问题。提前致谢!
以下是为澄清而提供的图片链接。显示的是 A 到 I 列和 1-20 行
解决方案
您可以使用 HYPERLINK() 公式执行此操作。
例如,如果您在(例如)C2 中有“https://google.com/search?q=hyperlinks”,并且在 D2 中有此公式,则单击“查看”将使用 IE 从 C2 打开 URL:
=HYPERLINK("#ShowInIE(""" & C2 & """)","View")
将此功能放在常规模块中
'This function called from worksheet HYPERLINK() formula
Function ShowInIE(url) As Range
Dim ie As Object
On Error Resume Next
Set ie = GetObject("", "InternetExplorer.Application") 'get open iE?
On Error GoTo 0
'if was not open then open a new instance
If ie Is Nothing Then Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate url
Set ShowInIE = Selection 'must do this in a function called from a hyplerlink
End Function
推荐阅读
- java - Java中的打印列表
- javascript - PWA 与 Web 共享本地存储
- c# - 如何获取文本字体文件的标题(不是名称)?(TTF 和 OTF)
- java - 为 RecyclerView 创建适配器后未选中的分配警告
- r - 在可编辑的 renderDT 对象中更改值后更新 Shiny DT 和 SQLite
- r - R 是否包括有效的集合实现?
- python - 有没有办法在 linux 应用程序中注入一个字符串,所以我以后可以以某种方式读取它?
- javascript - 不进行react路由返回App组件
- java - java或jvm如何处理/渲染图形
- docker - Docker 正在运行,但收到错误消息说恶魔没有运行