Board logo

標題: [發問] 要輸出一個檔可以這樣寫? [打印本頁]

作者: linshin1999    時間: 2011-1-7 22:13     標題: 要輸出一個檔可以這樣寫?

請問  讀進一筆資料(.txt檔)可以這樣寫:
open file_name for input as #1
       input #1, str_name
  close #1

那麼輸出一筆資料(TXT檔)可以這樣寫嗎?
open file_name for output as #1
      print #1, str_name
  close #1

在VBA中也有 Random File 嗎? 也是這樣操作的嗎?
open file_name for random as #1 len = rec_len
      get #1, ren_num, str_name                         ' rec_num 指在檔案中第 ? 筆資料
  close #1

作者: Hsieh    時間: 2011-1-7 22:17

本帖最後由 Hsieh 於 2011-1-7 22:20 編輯

回復 1# linshin1999
請善用VBA說明範例

    VBA說明檔
Get 陳述式範例
本範例使用 Get 陳述式來將資料從檔案中讀到變數中。範例中假設 TESTFILE 檔案中含有五筆使用者自訂型態的資料記錄。

Type Record    ' 定義使用者自訂的資料型態。
    ID As Integer
    Name As String * 20
End Type

Dim MyRecord As Record, Position    ' 宣告變數。
' 以隨機存取的方式來開啟檔案。
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
' 使用 Get 陳述式來讀取檔案內容。
Position = 3    ' 定義記錄編號。
Get #1, Position, MyRecord    ' 將此記錄讀入變數中。
Close #1    ' 關閉檔案。
作者: linshin1999    時間: 2011-1-7 22:22

Hsieh 版主,為什麼你在  VBA 說明檔可以找到,而我找不到? 謝到了,謝謝!!
作者: OFFICE專家    時間: 2011-1-7 22:31

[attach]4345[/attach]

好久沒看到這樣的寫法了
只把EXCEL當VB用抓進來
算一算就存出去
作者: linshin1999    時間: 2011-1-7 22:42

4# OFFICE專家

謝謝你的指導,有到你的部落格逛了一下,很面熟,我一直在用那樣的寫法,不過在 (VB2010) 好像不建議用了!
作者: OFFICE專家    時間: 2011-1-7 22:55

回復 5# linshin1999

呵呵^^
看看與查看VBE中的說明,看看可不可以
    [attach]4346[/attach]
作者: linshin1999    時間: 2011-1-7 23:13

回復 6# OFFICE專家

1) 那個?號用過了(在VBE中的)但是要用 Open 去找, 但是没想到 Vba 中有用到 Open 這個指令, VB2010 都用stream來處理了.

2)再問一個問題, 如何在VBA中的陣列去作排序的動作,(非 range, worksheet) ? 號去找 SORT 找不到, 嘗試用 Swap 指令行不通, 難到要用這樣的東西嗎?
   a = b
   b = c
   c =  a 嗎?


作者: Hsieh    時間: 2011-1-8 00:21

回復 7# linshin1999

VB與VBA的最大差異
VB是全新專案,很多函數、物件或方法都必須自己去寫,然後拿來應用
VBA是附屬在EXCEL中的開發軟體
你可將VBA視為VB的高階語言
所以VBA可直接引用EXCEL內建的函數及物件
至於說明檔的使用,你將滑鼠游標移到關鍵字上按下F1鍵即可取得
這是你還不熟悉所致,等你熟練了就知道他有多好用了
呵!
作者: linshin1999    時間: 2011-1-8 00:30

回復 8# Hsieh


    Excel 是  VBA 的父事件, (VBA入門系列講座中談到的) 所以 VBA 有 excel 做為依靠, Vb 是獨立事件要自己用功, 謝謝你教我 VBE 中 Help 的用法.




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)