iT邦幫忙

0

VBA如何編寫這樣的程式?

jacob 2010-03-26 14:02:1313951 瀏覽

在目前的公司,有許多含PC的量測設備
而這些設備每量測一筆數據,就會產生一個Excel檔案.
這個Excel檔案的格式內容都一樣,而我只要其中的幾個特定欄位的資料
現在遇到一個問題是,我要如何在Excel(A) 編寫VBA,讓它"只"開啟資料夾中新增的Excel檔案
然後撈取特定的資料至Excel(A)的欄位
下次在開啟Excel(A)的時候,當它撈取資料時候,還是只會開啟新增的,而不會一直重複開那些舊檔案??
不知道有沒有高手可以給個方向,或者有更Smart的方式可以解決這個問題??
跟大家請教一下

看更多先前的討論...收起先前的討論...
一筆數據就一個Excel檔案?
為什麼不用純文字檔就算了...

一般的做法是
寫隻程式
將目錄下所有的Excel檔一個一個讀進來
將讀進來的資料複製到..(資料庫、文字檔、另一個excel檔)
將處理過的Excel「搬」到另一個目錄

講完收工
魯大 iT邦高手 1 級 ‧ 2010-03-26 14:49:22 檢舉
good job~ ^_^b
tom6507 iT邦大師 1 級 ‧ 2010-03-26 16:03:22 檢舉
^_^b
mybeldandy iT邦研究生 5 級 ‧ 2010-03-26 17:31:12 檢舉
因為權限的問題
最好不要用搬的
要先複製再刪除
jacob iT邦新手 5 級 ‧ 2010-03-26 22:31:33 檢舉
"寫隻程式
將目錄下所有的Excel檔一個一個讀進來"
請問要用哪一種程式寫比較好呢?
jacob提到:
請問要用哪一種程式寫比較好呢?


一般的程式語言都做得到
我的建議是
用你最熟悉的語言就可以了...
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
6
sphinx
iT邦研究生 3 級 ‧ 2010-03-27 06:53:39
最佳解答

若不方便移動檔案或更名,可以在EXCEL(A)中加個欄位,記錄每次撈取完成的日期時間,下次再執行時,只要撈取時間較新的檔案即可。此外,如果檔案名稱有規則可循,能用來判斷產生的順序,也可以記錄檔案名稱。

如果EXCEL(A)不適合增加欄位,也可以記錄在其他檔案中。

6
swift
iT邦新手 2 級 ‧ 2010-03-26 20:07:15

處理過的檔案, 更名或是搬移到另一個目錄, VBA可判斷檔名或是檔案是否存再來決定是否處理
這跟是不是用VBA寫無關

4
sula3065408
iT邦研究生 1 級 ‧ 2010-03-29 08:09:50

VBA可以跨檔案嗎?
你要不要換個語言寫,隨便拿個Perl、Python的都行吧!
寫個小程式把檔案資料匯入到資料庫內,比如說使用SQLite,比較簡單。

davids iT邦新手 5 級 ‧ 2010-04-24 22:19:53 檢舉

小弟建議可以利用Access建一個資料庫
撰Access的原因是Execl和Access都是office的應用軟體
可由Access選擇欲讀取的磁碟,資料夾,檔案
再由Access開始指定的Excel檔
讀出所需的欄位資料後,再寫入Table內應用.
Access 的VBA即可輕易達到此功能.

我要發表回答

立即登入回答