asp.net - 如何将工作簿(.aspx 文件)从 html 链接复制到当前工作簿
问题描述
我在 excel VBA 中执行以下任务时遇到问题:
在我的工作中,我们使用一个名为 TeamShare 的文档管理平台:[ https://www.lector.dk/en/products/]
我想在 VBA 中创建一个代码,它在我的工作簿中循环一系列指向此文档管理平台的链接,即。循环其他工作簿,打开它们,然后将指定的工作表复制到我当前的工作簿。
我尝试将来自其他站点的一些代码放在一起,当我在中断模式下运行它时,代码工作得很好。但是,当我一次运行所有代码时,Excel 程序会重新打开,因此当前工作簿无法与打开的工作簿“通信”,我最终会陷入无限循环(因此没有直接的错误消息)。
这是仅在中断模式下工作的代码:
Dim wbCopyTo As Workbook Dim wsCopyTo As Worksheet Dim i As Long Dim Count As Long Dim WBCount As Long Dim LastRow As Long Dim wb As Workbook Dim ws As Worksheet Dim URL As String Dim IE As Object Dim doc As Object Dim objElement As Object Dim objCollection As Object
Set wbCopyTo = ActiveWorkbook Set wsCopyTo = ActiveSheet
LastRow = wsCopyTo.Range("B" & Rows.Count).End(xlUp).Row
For i = 2 To LastRow
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
这段代码的目的是获取DocID
A = InStr(wsCopyTo.Range("B" & i), "documentid=") + Len("documentid=")
B = InStrRev(wsCopyTo.Range("B" & i), "&")
DocID = Mid(wsCopyTo.Range("B" & i), A, B - A)
'Get URL
URL = wsCopyTo.Range("B" & i)
'Count number of open workbooks
WBCount = Workbooks.Count
With IE
新的是打开 excel 表的命令。这在中断模式下按计划工作,但是当我一次运行代码时,excel 程序会重新打开。我在这里尝试过其他突击队:“Workbooks.Open”,我无法让这个打开文件,“Application.FollowHyperlink”也只能在中断模式下工作,但是速度要慢得多
.Navigate URL
'This was my solution to how to stop the rest of the code from executing until the new workbook has loaded.
Do Until Workbooks.Count = WBCount + 1: Loop
End With
'Unload IE
Set IE = Nothing
Set objElement = Nothing
Set objCollection = Nothing
'So in order to activate the workbook from the URL, I am looping over all my open workbooks and matching them on their unique Document ID. I found that the workbook from the URL wasn´t the "active workbook" per default.
For Each book In Workbooks If Mid(book.Name, 12, Len(DocID)) = DocID Then
book.Activate
Set wb = ActiveWorkbook
Set ws = ActiveSheet
End If
Next book
在这里,我将所需的工作表复制到我的初始工作簿
wb.Worksheets("SpecificSheetIWantToCopy").Copy After:=wbCopyTo.Worksheets("Sheet1") wbCopyTo.Sheets(ActiveSheet.Name).Name = DocID
Next i
End Sub
我正在使用excel 2010。
我希望你能帮我解决这个问题。请询问您是否需要更多信息,我没有提供。
提前致谢。
解决方案
推荐阅读
- ruby-on-rails - 使用 Savon gem 格式化 SOAP API 的问题
- rust - 地图 Vec
值克隆到 Vec<&str> - r - 地块的下部被部分抹去
- c# - 测试断言是否应该与硬编码值或来自测试数据的值进行比较?
- regex - 一个正则表达式捕获多个以模式开头的组
- r - 使用 DiagrammeR 调整中介图中的边缘标签位置?
- javascript - 存储 2000 张图像
- python - 在请求 python 中读取特殊字符时出现问题。各种不成功的尝试
- amazon-web-services - 与端口相关的 AWS 问题(当端口打开但无法连接时)
- python - Python 3:urllib 模块基本功能不起作用