繁体   English   中英

Vba-如何在多个 csv 文件中打开 csv 文件并使此文件从共享点站点(.aspx 不是共享驱动器)处于活动状态以进行后续步骤

[英]Vba-how to open csv file among several csv files and make this file active from the sharepoint site(.aspx not sharedrive) for next steps

我有三个文件,一个是启用了宏的 excel 文件,其中我的宏是(1),用于运行宏的 csv 文件(2)。 将要打开的新 csv 文件 (3)

我是 userform 的新手,我创建了一个 Web 浏览器控件,并且能够在 userform 中进行初始化并添加了代码

  Private Sub UserForm_Initialize()
  Me.WebBrowser1.Navigate "http://sharepoint_site.aspx"   
  End Sub 

现在,当我单击所需的 csv 文件时,我会下载文件。 我该如何打开文件并使这个新打开的 csv 文件处于活动状态? sharepoint 站点上有许多 csv 文件。用户选择一个特定的文件并获得一个文件下载框,它应该只是打开那个 csv 文件。 按照@David 的建议使用 userform 的原因是为了更好地控制新打开的 CSV 文件并存储文件的名称以执行代码的后续步骤,而不是将运行宏的文件 2 作为活动工作簿。下面的代码是我之前的代码,它是 case 语句的一部分。

Dim IE As Object
Set IE = CreateObject("InternetExplorer.application")
With IE
    .Visible = True
   .navigate ("https://site.aspx")
  MsgBox "Select the file and click open file"

这里显然激活了宏运行的文件(2),但想要激活新打开的文件。 非常感谢您对此的任何帮助,并在此先感谢您。

尝试这样的东西而不是 WebBrowser 控件,我很抱歉将您指向错误的方向:

Sub foo()
Dim SummaryWB As Workbook
Dim vrtSelectedItem As Variant

With Application.FileDialog(msoFileDialogOpen)
    .InitialFileName = "https:\\your_sharepoint\team\folder" & "\"
    .AllowMultiSelect = False
    .Show
    For Each vrtSelectedItem In .SelectedItems
        Set SummaryWB = Workbooks.Open(vrtSelectedItem)
    Next
End With

If SummaryWB Is Nothing Then Exit Sub

Call SomeOtherMacro(SummaryWB)

End Sub

那么你有一些其他的宏来处理这个工作簿,你像上面的Call语句一样将工作簿发送给它,并确保另一个过程接受一个Workbook

Sub SomeOtherMacro(wb as Workbook)

' This macro will do something to the workbook
    wb.Worksheets(1).Select
    MsgBox wb.Name & " sheet 1 is now selected!"
End Sub

这个答案修改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM