返回列表 上一主題 發帖

[發問] 如何將TextBox轉成txt檔

本帖最後由 GBKEE 於 2013-11-12 13:39 編輯

回復 1# acdx
想要將TextBox1, TextBox2, TextBox3, TextBox4, TextBox5轉成txt檔存(Save)在某個路徑下 : -> TextBox內容是txt檔的名稱???
按下Save時可選擇儲存路徑                        :->顯示一個視窗,TextBox內容???
再將某個路徑下的txt檔中的數值讀進(Load)TextBox1, TextBox2, TextBox3, TextBox4, TextBox5 : -> TextBox內容是txt檔中的數值???
按Load時可選擇不同路徑下的txt檔                 :->顯示一個視窗,TextBox內容???
該如何寫呢?                                                  :->看的一頭霧水,請再清楚些
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# acdx
如何SAVE還是看不懂.
  1. Option Explicit
  2. Private Sub CommandButton2_Click()
  3.     Dim txtFile As Variant, i As Integer
  4.     txtFile = Application.GetOpenFilename("文字文件,*.txt;*.txt", , "指令:Load", , True)
  5.     '參數 True :為 True 則允許選定多個檔案名稱,如果為 False 則只允許選定單個檔案名稱。預設值為 False。
  6.     'txtFile 沒選擇:型態= Boolean(非True 即 False),選擇:型態= Variant(),下限的索引值從1開始的陣列,
  7.     '*******************************************************************************
  8.     Debug.Print TypeName(txtFile)  '指令:檢視->即時運算視窗 可見  Debug.Print 的字串
  9.     '*******************************************************************************
  10.     If TypeName(txtFile) = "Boolean" Then
  11.         MsgBox "No file was selected."
  12.     Else
  13.         For i = 1 To 5
  14.             With Controls("textbox" & i)
  15.                 .Text = ""
  16.                 If i <= UBound(txtFile) Then .Text = txtFile(i)
  17.             End With
  18.         Next
  19.     End If
  20. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2013-11-13 07:57 編輯

回復 5# acdx
試試看
  1. Option Explicit
  2. Private Sub CommandButton1_Click()  'Save
  3.     Dim txtFile As Variant, i As Integer, fs As Object
  4.     txtFile = Application.GetOpenFilename("文字文件,*.txt;*.txt", , "指令:Save", , False)
  5.     If TypeName(txtFile) = "Boolean" Then
  6.         MsgBox "No file was selected."
  7.     Else
  8.         Set fs = CreateObject("Scripting.FileSystemObject")
  9.         Set fs = fs.OpenTextFile(txtFile, 2, 0)
  10.         ' 參數 : 2
  11.         ' 1 開啟一個唯讀檔案,無法對此檔案進行寫入。
  12.         ' 2 開啟一個用於寫入的檔案。如果和此檔案同名的檔案已存在,則覆蓋以前內容。
  13.         ' 8 開啟一個檔案並寫輸出至檔案的尾部。
  14.         For i = 1 To 5
  15.             fs.WriteLine Controls("TEXTBOX" & i)
  16.         Next
  17.         fs.Close
  18.     End If
  19. End Sub
  20. Private Sub CommandButton2_Click() 'LOAD
  21.     Dim txtFile As Variant, i As Integer, fs As Object
  22.     txtFile = Application.GetOpenFilename("文字文件,*.txt;*.txt", , "指令:Load", , False)
  23.     If TypeName(txtFile) = "Boolean" Then
  24.         MsgBox "No file was selected."
  25.     Else
  26.         Set fs = CreateObject("Scripting.FileSystemObject")
  27.         Set fs = fs.OpenTextFile(txtFile, 1, 0)
  28.         For i = 1 To 5
  29.             Controls("TEXTBOX" & i) = fs.READLine
  30.         Next
  31.         fs.Close
  32.     End If
  33. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 7# acdx
  1. Option Explicit
  2. Private Sub CommandButton1_Click()  'Save
  3.     Dim i As Integer, fs As Object
  4.     With Application.FileDialog(msoFileDialogSaveAs)
  5.         .Title = "Save"
  6.         .FilterIndex = 6    '2003 文件檔的選項
  7.         If .Show = -1 Then
  8.             Set fs = CreateObject("Scripting.FileSystemObject")
  9.             Set fs = fs.CreateTextFile(.SelectedItems(1), True)
  10.             ' 參數 : True
  11.             '表示一個已存在檔案是否可被覆蓋。如果可被覆蓋其值為 True,其為 False 時無法覆蓋。如果它被省略,則已存在檔案無法覆蓋。
  12.             For i = 1 To 5
  13.                 fs.WriteLine Controls("TEXTBOX" & i)
  14.             Next
  15.             fs.Close
  16.         Else
  17.             MsgBox "No file was selected."
  18.         End If
  19.     End With
  20. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2013-11-14 07:06 編輯

回復 9# acdx
  1. Option Explicit
  2. Sub Ex()
  3.     Dim i As Integer
  4.     With Application.FileDialog(msoFileDialogFilePicker)
  5.         .AllowMultiSelect = True
  6.         'AllowMultiSelect 屬性 請參閱套用至範例特定True 如果允許使用者從檔案對話方塊選取多個檔案。讀/寫 Boolean。
  7.    
  8.         'FileDialog 視窗有選擇檔案 .Show = True
  9.         'True       True 關鍵字的值等於 -1。
  10.         'False      False 關鍵字的值等於 0。
  11.         If .Show = True Then   
  12.         'If .Show <> 0 Then           '條件一樣
  13.         'If .Show Then                   '條件一樣
  14.         'If .Show = -1 Then            '條件一樣
  15.             For i = 1 To .SelectedItems.Count   '對話方塊選取多個檔案的個數
  16.                 MsgBox .SelectedItems(i)
  17.         
  18.             Next
  19.         Else
  20.             MsgBox "No file was selected."
  21.         End If
  22.     End With
  23. End Sub
複製代碼
中i所代表的是txt檔中第幾行嗎? 是Controls("TEXTBOX" & i)

fs.WriteLine   "字串"  ->  整行寫入檔案
  1. '也可以如此改
  2. For i = 3 To 7
  3.      fs.WriteLine Controls("TEXTBOX" & i)
  4. Next
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 為人處世要小心細心,但不要「小心眼」。
返回列表 上一主題