如何學習VBA中的一般文件操作(VBA學習方案系列講座之八)

2021-01-12 VBA語言專家

2.1.13 對於應用程式對象的講解中,第七套的教程我給大家講解了如何利用OPEN語句打開一個文本文件,並提取文本文件中的內容到工作表中的方法,也給大家講解了上述過程的逆過程,就是如何將工作表中數據讀取出來寫到文本中,這些是文件操作中最為基本的操作,對於大家理解VBA中循環,變量的利用,字符串的應用都是有益的一個單元。

對於文件的有關操作,所有的教程中我一直在講解,包括FSO對象以及腳本的利用,對於這單元的內容,我們只要簡單的理解,跟著教程學習進度即可:

這裡還有一個需要掌握的知識點,就是txt文件。對於txt文件,可以作為為準資料庫的文件來對待,資料庫是我的第二套教程,在後面我還有詳細的講解學習方案,但大家要注意這個提法,正是因為有這個思路的存在,我們在隨後學習第一套教程中會很快的理解「準資料庫」的概念。同時在我的第二套教程中的詳細講解中才會再次對照此處的理解並再次認識什麼是「資料庫」,理解到此處講解的準數據和第二套教程《VBA資料庫解決方案》中講解的accdb資料庫和EXCEL資料庫有什麼不同。數據結構化是數據處理的基礎。此處利用的語句:open input write output 等在資料庫處理時也是經常利用的。

關於csv文件,如果您在學習這個單元前還沒有了解,請大家先補一下自己的知識結構,csv文件,利用還是比較廣泛的。下面給大家講解一下csv文件:

CSV 文件又稱為逗號分隔文件(Comma-Separated Values,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數據(數字和文本)。純文本意味著該文件是一個字符序列,不含必須像二進位數字那樣被解讀的數據。CSV文件由任意數目的記錄組成,記錄間以某種換行符分隔;每條記錄由欄位組成,欄位間的分隔符是其它字符或字符串,最常見的是逗號或制表符。通常,所有記錄都有完全相同的欄位序列。通常都是純文本文件。CSV是一種通用的、相對簡單的文件格式,被用戶、商業和科學廣泛應用。最廣泛的應用是在程序之間轉移表格數據,而這些程序本身是在不兼容的格式上進行操作的(往往是私有的和/或無規範的格式)。因為大量程序都支持某種CSV變體,至少是作為一種可選擇的輸入/輸出格式。我們可以將資料庫導出數據為「CSV」,然後被導出的CSV文件可以被電子表格程序導入。一般情況下:

1)csv文件開頭是不留空,以行為單位。

2)可含或不含列名,含列名則居文件第一行。

3) 一行數據不跨行,無空行。

4) 以半角逗號(即,)作分隔符,列為空也要表達其存在。

5) 列內容如存在半角引號(即"),替換成半角雙引號("")轉義,即用半角引號(即"")將該欄位值包含起來。

6)文件讀寫時引號,逗號操作規則互逆。

7)內碼格式不限,可為 ASCII、Unicode 或者其他。不支持數字,不支持特殊字符

如何學習VBA呢? 概括的說就是: 學習過程中要信、解、受、持,更要有回向的業力。無論您在學習的任何階段,都要對照教程的知識點加持自己的實際工作,總會有豐厚的收穫。

相關焦點

  • 從認識VBA,到理解VBA(VBA學習方案系列講座之十二)
    3 初級階段的學習提高在我教程的推出順序中,我首先完成的是第一套《VBA代碼解決方案》的教程,這套教程非常重要,是初學者提高的一個關鍵過程。其實我是非常看重這套教程的,《VBA之EXCEL應用》入門的學習是系統的講解,再學習就相當於總複習和提高了,有些講解您在第七套中或許您還沒有意識到應用過程的實際發掘,這裡會給大家以短板的補足。很久之前,我無意間體會到VBA的功效,並開始致力於學習及應用,經過二十多年來的摸索,在總結很多經驗的基礎上,結合自身的工作,把VBA的實踐應用分享給大家,並結集成冊,供大家利用。
  • VBA編程如何輸入輸出字符集,兩函數要掌握
    如何輸入字符,在vba編程過程中是一個基本常識。本節主要介紹一下,字符集對應的數值,以及如何輸入字符。很顯然,函數Chr即可輸出相應數值的字符。如下圖所示:大寫字母如要輸出大字字母A~Z可以這樣來操作:Dim xArr, i As LongReDim xArr(0 To 26)For i = 65 To 90xArr(i - 65) = Chr(i)Next iMsgBox VBA.Join(xArr)小寫字母輸出小寫字母:Dim
  • 如何將Excel數據表單元格保存為數組,VBA數組進階應用
    No.1在vba編程中,數組應用是一個十分有用的方法。如何把數據表作為數組進行處理,是編程過程中的一個重要技能。學會之後,將大大提高編程技術,也將使數據處理的過程變得更加流暢。No.2上圖為例,把表格內容作為數組值進行保存,然後通過流程編碼對成績進行一個比較判斷,最終得出一個成績等級的判定。
  • Excel VBA 無限次數生成小學數學四則混合運算,讓寶媽出題無憂
    我們一起來看看這個工具是如何使用的吧!如下所示,是我們可以選擇生成的數學運算的所有類型,合計有24大類,囊括了小學數學運算的所有類型。在使用的時候,可以根據自己家的小朋友學習進度,適當增加學習難度。Step-01 假如我們需要生成加減乘除四則混合運算,那麼我們操作如動畫所示:相信您也看到了使用方法是非常簡單的,我們點擊其他的選擇,操作方法是一樣的。
  • 文件太多找不到咋整?用excel製作文件管理器,所有版本皆可使用
    Hello,大家好,之前跟大家分享了使用excel中的power query功能製作一個文件管理器,但是很多分析反應自己的excel版本不夠高,無法使用,今天就跟大家分享如何使用宏表函數製作文件管理器,他也是可以實現文件刷新的,這個的操作也不難,下面就讓我們來看下他是如何設置的一、什麼是宏表函數以及FILES函數宏表函數是早期低版本excel的產物
  • 工作中為什麼有必要學點VBA
    從office97開始,VBA作為MS的標準內置配置,彌補了excel內在的基本函數不足以支持的複雜計算,提供了一種相對輕量級的、所見即所得的解決方案,濤哥在21世紀初因內部工作需要(統計代碼行數記工作量)第一次接觸了VBA,並在以後的工作中多次出色的完成相關任務,甚至給濤嫂編的幾個小程序大大提升了她們的工作效率,還受到了時任行長的讚許,現在想來還歷歷在目。
  • VBA中的If-Then-Else語句
    20年過去了,為了不讓學習VBA的朋友重複我之前的經歷,我根據自己多年VBA實際利用經驗,推出了七部VBA專門教程。第一套:VBA代碼解決方案 是VBA中各個知識點的講解,教程共147講,覆蓋絕大多數的VBA知識點,提供的程序文件更是一座不可多得的代碼寶庫,是初學及中級人員必備教程;目前這套教程提供的版本是修訂第二版,程序文件通過32位和64位兩種OFFICE系統測試。
  • VBA數組數據回填工作表
    第三節 VBA數組數據回填工作表在前兩節我們講了如何將工作表中的數據讀到數組中,這種操作的實質其實是:將數據預存到內存中,然後在內存中調取數據再進行下一步操作,這樣可以節約反覆提取數據的時間。當我們在內存中將數據計算完成後,需要將結果數組回填給工作表,又要注意哪些問題呢?對於工作表而言,可以回填的是數組可以是一維或二維的。
  • VBA代碼解決方案第49講:VBA代碼中工作表函數SUM的利用方法 - VBA...
    大家好,我們今日繼續講解VBA代碼解決方案的第49講內容(註:在整理之前的VBA系列文章中合併了一些文章,重新成集排序為第49講,所以從這篇文章開始以新的排序計算):VBA中SUM函數的利用方法。對多個單元格求和,是統計工作中非常普遍的工作,在之前的函數講解過程中,我下了很大的氣力來講解SUM函數及其衍生的函數,在數組的講解中也講了此函數在數組中的利用,可以說SUM函數在統計工作中起著舉足輕重的作用,如果把這個函數利用好了,對自己的工作是非常方便的,今日我在VBA中就此函數的利用及規律再次加以講解。
  • VBA網絡通信基礎
    HTTP通訊中,這個路徑的格式一般為:HTTP://域名:埠/文檔或程序的全路徑?參數。埠就是伺服器某個特定進程來處理客戶端發來的消息,默認為80,可以先不用去理解這個名詞。文檔或程序路徑是相對路徑。伺服器也是一臺計算機,上面除了存放資源文件,還存放著維護伺服器的軟體,因此資源文檔可能並不存放在其根目錄上。
  • 如何錄製宏及如何利用已經錄製好的宏
    今日的內容是第一章「初識VBA代碼及應用VBA代碼」的第四節「如何錄製宏及如何利用已經錄製好的宏」,「VBA之EXCEL應用」從簡單的錄製宏實現一直講到窗體的搭建,大家可以非常容易的掌握相關的知識,這套教程面向初學人員,共三冊,十七章,都是我們在利用EXCEL工作過程中需要掌握的知識點,希望大家能掌握利用。
  • VB\VBA\VBS中的if語句以及多重and和or條件用法
    本例所舉例子均在vba代碼窗口中測試過需要的話可以直接複製代碼測試Sub If語句用法()a = Int(Rnd() * 51 + 50) '隨機生成50-100的整數MsgBox(政治面貌 = "黨員" Or 政治面貌 = "團員")) ThenMsgBox "符合條件"ElseMsgBox "不符合條件"End IfEnd Sub例子中有共有四個括號
  • VBA代碼解決方案第55講:VBA代碼中,如何判斷是否為數值
    大家好,我們今日繼續講解VBA代碼解決方案的第55講內容:VBA代碼中,如何判斷是否為數值。本節的利用價值非常大,在INPUTBOX中,在窗口的控制項中,這種判斷會隨處可見,這裡需要大家注意點是在VBA中和EXCEL中判斷數值的函數是不一樣的,大家是否還記得在EXCEL函數中利用的函數嗎?
  • 學習科學項目系列講座(二)教育準實驗研究案例分享
    海澱區教師學習科學素養提升項目2019年正式啟動,涉及幼、小、中、高、職教在內的50所學校。項目為期三年,共分為三個階段。第一階段重點是學習科學理論的學習與課堂實踐,為期一年;第二階段重點是學習科學理論指導下的課堂教學實證研究,將陸續開展教育實驗法→量化研究的數據處理→質性研究的講座和實踐,為期一年半;第三階段重點為成果打造,為期半年。
  • VBA中重複操作的神器,Do……Loop循環語句,你值得擁有它
    有興趣的小夥伴可以持續關注我,或者在專欄進行查看學習,願與君攜手共進!在上一個章節中我們已經學習集合的循環和數字的循環,那麼有時候我們並不知道我們要具體循環的次數,這個時候For—Next循環就無能為力啦!其實我們還有一種循環可以勝任這個,他就是我們本文要說的Do----Loop循環,這個循環其實在我們其他的程式語言中均有應用。一起來了解一下他。
  • 從「操作中學習」到「社會情境中學習」
    新東方網>學前>幼兒教育>幼兒園>教學日記>正文從「操作中學習」到「社會情境中學習」   數學知識的本質是什麼?兒童是怎樣獲得概念的?如何理解學前兒童的數學教育?
  • 柳小白Python學習筆記 16 文件讀取操作
    今天學習「r」(讀取)和「r+」(讀取的增強)模式下打開文件的比較和操作。1.1 使用readable()方法的作用是檢測文件是否可讀。語法格式:file.readable()判斷不同模式下打開的num_1.txt文件是否可以讀取。
  • VBA代碼解決方案第50講:VBA中如何求最大值、最小值
    朋友們好,今日講VBA代碼解決方案的第50講:VBA中求最大值、最小值的.和上節的內容一致,在VBA中我們可以利用的函數不如EXCEL中多,但是,我們可以藉助於EXCEL的函數,來解決我們面臨的問題。在VBA中雖然沒有內置的函數可以進行最大、最小值的查找,但仍可以藉助工作表Max、Min函數可以快速地在工作表區域中查找最大、最小值。