2017-10-05 34 views
1

我有一個需要每天運行一次的宏。它需要檢查一個文件夾(這可以在VBA中指定,因爲它不應該改變),然後看看是否有新文件。Excel:宏來檢查新文件的文件夾(基於單元格中的日期)

目前,此Excel VBA程序提示用戶選擇一個文件。然後它對文件執行操作,並將日期和偏移量(從文件名字符串)保存到表單中的單元格中。字符串總是相同的,唯一的變化是日期和移位號碼:「我的信息MM-DD-YY#Shift」

我想創建代碼,以便用戶不會每天選擇新文件,但程序會通過比較單元格與上一次日期的比較來檢查它們,並將班次轉到日期並在文件夾中的文件名稱內移動。

實施例:

用戶昨天跑了文件,並將其保存的時間和轉移到單元格A1和B1,17年10月4日和2,分別。

用戶昨天忘了跑班3。

他們今天單擊運行按鈕,代碼將查看目錄(在VBA中指定)以查看是否有任何文件的日期等於單元格A1(10-04-17)中的日期,以及大於班次B1(2)的班次,以及是否有任何文件大於班次A1(10-04-17)中的任何班次編號的日期。一旦檢查完畢,它將選擇符合此標準的任何文件並在其上運行宏,保存最近的日期並切換到單元格A1和B1。

我已經有寫入現有程序的多文件運行功能。

任何幫助表示讚賞!先謝謝你!

+1

您可以使用FileDateTime函數來獲取文件的最後一次保存日期,時間和比較,爲任何日期和時間碼上次運行。這個論壇可以幫助你解決你的代碼問題,而不是從頭開始編寫代碼:-) – jkpieterse

+0

Hi jkpieterse!感謝您的評論。所以有了這個功能,(從我在線閱讀的內容中)看來,您必須告訴它準確地從哪個文件獲取日期和時間。它是否有能力檢查整個文件夾並「查看」每個文件的日期和時間? (目標是儘可能少的用戶交互。)我並沒有期待任何人爲我寫信,我只是希望儘可能詳細地描述我正在寫的內容,以便每個人都能理解並給我最好的幫助提示。:)再次感謝您您的幫助! – mitchmitch24

+1

不,你必須編寫代碼才能從文件夾中獲取文件列表。然而,大量的例子可以在線獲得。 – jkpieterse

回答

0

對於任何人誰認爲這是奇怪的,

我在一個有點迂迴的方式解決了這個:

  1. 創建表(將被打開和關閉的知名度留隱患)
  2. 使用filedatetime查看我最後一次運行(它的名字被保存主頁我的工作簿(表1))
  3. 從一個特定的文件夾拉的所有文件和打印他們的filedatetime文件
  4. 看到這filedatetimes是比最後一個文件,我跑
  5. 對於每一個發現的,它被設置爲變量的值(使用循環),其上運行宏
  6. 查找最大filedatetime,並將此文件名到主頁
  7. 刪除從表中的所有數據,並隱藏它
相關問題