Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 36563|回復(fù): 110
打印 上一主題 下一主題

[VBA編程/宏] 淺談Excel批量導(dǎo)入文本文件

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2011-4-2 16:39:21 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 roych 于 2011-4-2 16:52 編輯

前幾天,版友ever035問到,如何批量導(dǎo)入文本文件。其實(shí),如果屬于標(biāo)準(zhǔn)格式的話,直接用系統(tǒng)自帶的導(dǎo)入外部文件就可以了,不過鑒于他(她)有500多個(gè)文件,懶得點(diǎn)擊那么多次鼠標(biāo),Roy不妨就這個(gè)問題談?wù)劙伞?br /> 先談?wù)剬?dǎo)入的方法,一般不外乎以下幾種。當(dāng)然,讀取文件流(TextStream),不過大家對(duì)它不太熟悉,就先避而不談吧。

1、增加查詢表(Querytable.Add)來導(dǎo)入。這個(gè)很簡(jiǎn)單,大家可以錄制一個(gè)導(dǎo)入文件的宏,再按下Alt+F11查看就知道了。
2、打開文件號(hào)(Open FileName For Input as FileNumber#)的方式。通過對(duì)文件號(hào)的循環(huán)讀取來寫入數(shù)據(jù)。——大家可能對(duì)文件號(hào)不太了解,按我的理解是,文件號(hào)其實(shí)就是行數(shù)的排列號(hào)。當(dāng)然,如果文本里本身就沒有換行的話,而是以某個(gè)字符作為換行標(biāo)志的話,則應(yīng)該讀取其位置作為終點(diǎn)(ReadOut)來判斷。——說起來有些復(fù)雜,所以我也只是“淺談”而已。
3、打開文本文件(OpenText)來導(dǎo)入,參數(shù)很多,詳見附件。我就不再一一解說了。
4、用ADO方法。這個(gè)方法我講了N次(N>=3)了,詳見附件以及內(nèi)置注釋。

現(xiàn)在來談?wù)勅绾芜M(jìn)行批量導(dǎo)入了:
實(shí)際上,批量導(dǎo)入只是對(duì)上述方法做一個(gè)循環(huán)過程罷了。為了達(dá)到批量完成的目的,一般要求所有文件應(yīng)該放在同一個(gè)文件夾里。這時(shí)候,你至少可以通過兩種方法來達(dá)到目的。
1、文件系統(tǒng)組件(FileSystemObject),通過獲取文件夾(GetFold)的方法從而得到相同格式的文件。
2、文件對(duì)話框(FileDialog),通過對(duì)文件拾取器獲取路徑和文件名,從而批量導(dǎo)入。

兩者區(qū)別在于前者代碼較為簡(jiǎn)單,但知道固定的(絕對(duì)或者相對(duì))路徑;后者自由度比較大,任意路徑均可,但代碼相對(duì)復(fù)雜些。
游客,如果您要查看本帖隱藏內(nèi)容請(qǐng)回復(fù)

這里的文件屬于標(biāo)準(zhǔn)格式文件。也許有網(wǎng)友會(huì)問,如果對(duì)于收銀小票之類的文件,該如何導(dǎo)入。Roy會(huì)輕輕地告訴你,用第二種方法,導(dǎo)入后再定位處理其它不需要的字符。因?yàn)樾辛械炔还潭ㄎ恢,除此它法均不佳?br />

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號(hào)?注冊(cè)

x

本帖被以下淘專輯推薦:

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享分享1 分享淘帖2 訂閱訂閱
2#
發(fā)表于 2011-4-3 08:06:14 | 只看該作者
很好,謝謝!
3#
發(fā)表于 2011-4-4 08:52:57 | 只看該作者
學(xué)習(xí)了,謝謝
4#
發(fā)表于 2011-4-7 21:44:54 | 只看該作者
金牌是一定要拜的
5#
發(fā)表于 2011-4-8 21:01:42 | 只看該作者
謝謝
6#
發(fā)表于 2011-5-10 20:46:00 | 只看該作者
學(xué)習(xí)了, 正需要呢
7#
發(fā)表于 2011-5-12 15:43:27 | 只看該作者
好好學(xué)習(xí)天天向上
8#
發(fā)表于 2011-5-26 10:31:28 | 只看該作者
很好,學(xué)習(xí)一下,很有幫助
9#
發(fā)表于 2011-6-2 17:14:43 | 只看該作者
正是需要這個(gè)東西,樓主提供的很及時(shí)啊,樓主萬歲
10#
發(fā)表于 2011-6-2 21:41:40 | 只看該作者
宏代碼搞定。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 10:24 , Processed in 0.216598 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表