天天看點

使用VBA,20行代碼 将Excel資料導出1、滿足需求2、設計Excel3、VBA4、添加操作按鈕5、總結

1、滿足需求

    程式員免不了與策劃或運維打交道。通常情況是有配置資料的更改。但是即便是程式員也有寫錯的時候。更改一個配置,使用更直覺的excel,成為了單寫配置工具的替代方案。這裡介紹一個将Excel的資料導出生成檔案的方法。

2、設計Excel

       我們以植物大戰僵屍2為例。其中有植物圖鑒,這些資料明顯是配置的,而且描述部分可能會更改。 假設,我們有這樣的一個Excel。          

使用VBA,20行代碼 将Excel資料導出1、滿足需求2、設計Excel3、VBA4、添加操作按鈕5、總結

    資料直覺也簡單。假設這就是全部要輸出的資訊啦。

3、VBA

    使用VBA,首先我們要打開VBA的編輯界面,找到Excel選項,進行設定,我使用的是Excel2010,在檔案->excel選項中:     

使用VBA,20行代碼 将Excel資料導出1、滿足需求2、設計Excel3、VBA4、添加操作按鈕5、總結

    勾選開發工具,這樣上面的菜單欄中就會出現開發工具菜單。      

使用VBA,20行代碼 将Excel資料導出1、滿足需求2、設計Excel3、VBA4、添加操作按鈕5、總結

    點選Visual Basic,就進入vba編輯界面了。

    右擊Excel對象檔案夾,添加一個子產品:

使用VBA,20行代碼 将Excel資料導出1、滿足需求2、設計Excel3、VBA4、添加操作按鈕5、總結

    在右側的子產品編輯框中加入代碼:     

Option Explicit
Sub writeOutData()
    Dim result As String
    Dim i As Integer
    Dim j As Integer
    For i = 3 To 10
        For j = 2 To 10
            If Len(Sheet1.Cells(i, j).Value) > 0 Then
                result = result & Sheet1.Cells(2, j) & " = " & Sheet1.Cells(i, j).Value & Chr(10)
            End If
        Next
    Next
    Open ThisWorkbook.Path & "\OutPut.txt" For Binary As #1
        Put #1, , result
        Close #1
    MsgBox "OutPut Success!"
End Sub

           

    很清爽是吧。儲存,遇到這個對話框:     

使用VBA,20行代碼 将Excel資料導出1、滿足需求2、設計Excel3、VBA4、添加操作按鈕5、總結

         這裡微軟出于安全性的考慮預設excel是不加載宏的。是以這裡我們選否,在接下來的界面裡将其儲存為.xlsm

使用VBA,20行代碼 将Excel資料導出1、滿足需求2、設計Excel3、VBA4、添加操作按鈕5、總結

    儲存之後。我們vba的編輯就完成了。

4、添加操作按鈕

      接下來我們要在界面上放一個大按鈕來調用這個宏方法。     首先選取開發工具->插入->表單控件的第一個。拖動滑鼠,繪制一個按鈕。

使用VBA,20行代碼 将Excel資料導出1、滿足需求2、設計Excel3、VBA4、添加操作按鈕5、總結

    拖動後,在彈出的界面選擇剛才我們寫的宏

使用VBA,20行代碼 将Excel資料導出1、滿足需求2、設計Excel3、VBA4、添加操作按鈕5、總結

       點選确定。我們就能看到這個按鈕啦,再右擊,選擇編輯名稱,将其改為“導出”。    

使用VBA,20行代碼 将Excel資料導出1、滿足需求2、設計Excel3、VBA4、添加操作按鈕5、總結

  好了,現在點選這個按鈕,你會看到彈出的對話框,并且在次Excel同級目錄會有一個名為output.txt的檔案,記錄我們的資訊。 生成了檔案是這樣的:   

使用VBA,20行代碼 将Excel資料導出1、滿足需求2、設計Excel3、VBA4、添加操作按鈕5、總結

5、總結

    經過設計表格、編寫vba腳本、添加界面操作這些步驟,我們就可以導出Excel的資訊了。整個過程非常友善。如果用c++來實作這樣一個需求,還是很麻煩的。而這種方法隻需要不超過20行代碼。當然我們也可以增加邏輯,定制化資料的處理與輸出。

    Excel檔案下載下傳位址:http://download.csdn.net/detail/fansongy/5955971

本篇部落格出自阿修羅道,轉載請注明出處:http://blog.csdn.net/fansongy/article/details/9988127