回覆列表
  • 1 # 套路Excel

    這問題比較模糊,沒有具體說明提取檔案裡面的什麼內容。

    不過我寫一個根據簡單的框架,如果有能力的話,題主可根據VBA來修改。

    1、在桌面新建一個資料夾,資料夾裡新建幾個Excel工作簿檔案。2、在一個新的xlsm工作簿中,寫入要提取的檔名稱。

    該xlsm檔案和資料來源Excel檔案放在同一資料夾內

    3、VBA程式碼參考,放在vbe視窗同一個模組。

    文字程式碼為,可複製貼上:

    Sub doloop() "遍歷當前路徑所有檔案

    Dim sFName As String "檔名稱

    Dim sPath As String "路徑

    "//根據實際路徑和檔案型別而修改

    sPath = ThisWorkbook.Path & "\" "路徑,不包含檔名稱和檔案型別

    Application.ScreenUpdating = False

    Application.DisplayAlerts = False

    "//假設已經知道檔案的名稱以及資料夾內檔案的型別

    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row

    sFName = sPath & Cells(i, 1) & ".xlsx" "全路徑:檔名稱+檔案型別

    If FileExists(sFName) = True Then "如果檔案存在

    Cells(i, 2) = "存在" "則在B列標記存在,否則空白

    Else

    Cells(i, 2) = ""

    End If

    Next

    Application.ScreenUpdating = True

    Application.DisplayAlerts = True

    End Sub

    Private Function FileExists(fname) As Boolean "判斷工作簿是否存在

    " 如果工作簿存在,則返回True

    Dim x As String

    x = Dir(fname)

    If x <> "" Then FileExists = True _

    Else FileExists = False

    End Function

    結果為:

    以上程式碼,根據需求更改if結構內的操作即可。其他程式碼無需更改。

  • 2 # 精進Excel

    由於提問者沒有給出具體案例,所以我首先設定一個符合日常場景和習慣的情景:

    如下圖,在“D:\原檔案”資料夾下有若干個檔案,檔案格式不作限制;在某個Excel檔案中,存在一個檔名稱列表,包含了上述資料夾下一部分檔案的名稱。

    對於提取資料夾內的檔案,我們定義為將列表中的檔案複製到另一個資料夾中。

    問題解決思路:

    由於是對檔案進行批次提取,所以可以運用批處理的思想,具體工具可以選擇bat批處理指令碼,它有三個優勢:

    一、語法簡單:如果只是對檔案層面的複製貼上剪下等操作的話,基本沒有學習成本;二、使用方便:可以在記事本中直接編寫,在windows下直接執行;三、從計算機底層執行,效率要高於普通應用軟體。

    Step 1:寫出批處理命令

    bat批處理複製檔案的基本語法是:

    copy 含完整路徑的檔名 要複製到的資料夾路徑

    所以首先在excel中批次生成批處理命令,由於每條命令中不同的部分是檔名不同,其餘部分全部相同,所以可以分段寫好再文字合併。

    在A列寫“copy D:\原檔案\”,注意copy後面有空格。在C列寫“ D:\提取出來的檔案\”,注意最前面有空格,在D列輸入公式“=A2&B2&C2”將ABC三列文字合併。將以上三列向下填充至最後一行,批處理命令就生成到了D列。

    最後不要忘記在D盤下記得新建一個資料夾,並命名為“提取出來的檔案”。

    Step 2:製作批處理檔案並執行

    在電腦中任意位置新建一個文字文件,將D列內容複製貼上進去,儲存關閉後將檔名改為“提取檔案.bat”。

    直接雙擊開啟bat檔案,它會自動執行,稍等兩秒,開啟“D:\提取出來的檔案”資料夾,可以看到,想要提取的檔案已經被複制到這個資料夾中了。

    總結:

    本例中藉助bat實現了檔案的批處理,其中又藉助excel的功能批次生成了命令語句,瞬間實現了想要的結果。所以,精準選擇相應的軟體或工具並綜合運用,效率才能最大化。

  • 中秋節和大豐收的關聯?
  • 公元前200年,漢高祖劉邦被冒頓單于圍於白登山,如果是霸王項羽會是什麼樣的情況?