tft每日頭條

 > 科技

 > vba調出文件選擇窗口

vba調出文件選擇窗口

科技 更新时间:2024-08-08 19:19:40

大家好,我們今日繼續講解VBA代碼解決方案的第131講内容:打開順序文件三種模式:Input、output、Append的區别.在《VBA代碼解決方案》第127講中,我講過打開順序文件的Open語句的語法如下:Open pathname For mode [Access access][lock] As [#]filenumber [Len=reclength]

對于其中第二個參數Mode是這樣描述的:

"Mode是個決定文件如何打開的關鍵字。順序文件可以以下列模式之一來打開:Input, Output 或Append。使用Input讀文件,Output寫文件,将覆蓋任何存在的文件,以及Append來寫入文件,同時附加上任何已經存在的信息。"

在上述的講解中提及三個關鍵字Input、Output、Append。其中input是讀取文件,而Output和Append是可以用來來寫入文件的,那麼Output和Append又有哪些不同呢?我們來看下面的分析和講解(備注:現在講的内容是《VBA代碼解決方案》的第三冊内容,在理論基礎上需要讀者有所提高)

當我們要往一個順序文件裡寫入數據時,應該以Append或者Output模式打開該文件。這兩種模式的區别解釋如下:

① Append允許在一個現存文件的結尾處添加數據。例如,如果你以Append模式打開" E:\nz\work\文章\人員表單.txt"文件,并且将文本"此文件的人員為現有人員"加到該文件中,VBA不會删除或者以任何方式改變該文件中已經存在的文本,隻是會在文件的結尾處加上面新的文本。

② Output 當你以此種模式打開一個文件時,VBA會将文件裡的現存的數據删除,如果該文件并不存在的話,就會創建一個全新的文件。例如,如果你以Output模式打開文件" E:\nz\work\文章\人員表單.txt",并且試圖往裡面寫數據的話,那麼以前儲存在該文件裡的文本就會被删除掉。如果你在寫入數據之前沒有備份該文件的話,這種操作的失誤代價将會是非常大的。但如果你确實是想要用新數據取代整個原來整個内容的話,确實應該以Output模式打開該已存在的文件。但這種操作最好能實現備份好原數據。如下面的兩種實例:

實例1:要在一個"E:\nz\work\文章\人員表新表單.txt"的全新文件裡輸入一些文本,那麼以Output模式打開該文件:Open "E:\nz\work\文章\人員表新表單.txt" For Output As #1

看下面的代碼:

vba調出文件選擇窗口(VBA代碼打開順序文件三種模式)1

運行後:

vba調出文件選擇窗口(VBA代碼打開順序文件三種模式)2

上面的截圖中新的文件"人員表新表單.txt"産生了,但這隻是一個空的文件。

實例2: 要取代現存文件"E:\nz\work\文章\人員表單.txt"的内容,首先将原始文件備份一份,然後将原始文件以Output 模式打開:

FileCopy "E:\nz\work\文章\人員表單.txt","E:\nz\work\文章\人員表單備份.txt"

Open "E:\nz\work\文章\人員表單.txt" For Output As #1

代碼截圖:

vba調出文件選擇窗口(VBA代碼打開順序文件三種模式)3

運行後的截圖:

vba調出文件選擇窗口(VBA代碼打開順序文件三種模式)4

此時備份文件是有數據的,而新的文件是空的文件。

注意點:順序文件必須分别打開來執行讀和寫的操作,不可以同時執行這些操作。例如,在一個文件已經打開并且寫入數據後,該文件必須先關閉,之後才能再打開來讀取數據。

今日内容回向:

1: 順序文件有幾種打開的方式?有什麼不同?

2: 對于output打開方式要注意的有什麼?

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved