簡體   English   中英

VB Script RefreshAll在文件夾中(有例外)

[英]VB Script RefreshAll in folder (with exception)

編輯更具體:

下面的VBScript遍歷整個文件夾, 在那里打開每個* .XLSM文件 ,刷新所有數據連接並逐個保存更新的文件。 文件也受密碼保護,但並不重要。

如何根據部分或整個文件名增強文件夾中AVOID文件的代碼? 例如,避免使用以.xlsm擴展名結尾的以z結尾的文件名。

位於同一文件夾中的文件的預期結果:

abc123.xlsm(refresh); abc123z.xlsm(避免); file.xlsm(refresh); testz.xlsm(避免)

Set fso = CreateObject("Scripting.FileSystemObject")
Set xl  = CreateObject("Excel.Application")
xl.Visible = False

For Each f In fso.GetFolder("C:\test\").Files
  If LCase(fso.GetExtensionName(f.Name)) = "xlsm" Then

    Set wb = xl.Workbooks.Open(f.Path ,,,,,"x")

    wb.RefreshAll
    wb.Save
    wb.Close

  End If

Next

xl.Quit

你可以嘗試使用split命令。

file_path =abc123.xlsm
file_name =split(file_path,".")

file_name是一個包含2個值的數組

file_name(0)= abc123

file_name(1)= xlsm

現在你可以檢查file_name(0)=“Z”中的最后一個字符

if NOT(right(file_name(0),1)="Z") THEN
    do...
ELSE
    do...
END IF

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM