簡體   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