各位大俠,請教:
我要寫一個VB程式,程式運行后點擊相應按鈕就自動成生一個文本檔案,每點一次生成一個檔案,檔案名自成生成,每一次都要不一樣。關鍵是在程式關閉后,下次再運行時自動生成的檔案不能把前次的檔案覆寫掉。不知道我說清楚沒有。“程式運行后點擊相應按鈕就自動成生一個文本檔案,每點一次生成一個檔案,檔案名自成生成,每一次都要不一樣。”已經實作,見下面的代碼,只要程式運行后沒有關閉,就可以一直點擊按鈕自動生成不同的檔案。但后一部分就沒有頭緒,不知道該怎么寫,請大俠指教。
dim FileName 'filename后面會初始化為1
Private Sub Command5_Click()
Open FileName & ".txt" For Append As #1
For i = 1 To 50
write #1, i
Next i
Close #1
FileName = FileName + 1
End Sub
uj5u.com熱心網友回復:
你要的是每次自動生成一個新的,并在指定目錄中不存在的檔案名吧?那么,你可以使用的檔案名生成函式
private function GetAFileName(ThePath as string) as string '假設thepath已經以/結尾
dim i as long
dim s as string
i=1
do
s=Thepath & cstr(i)&".txt"
if dir(s)="" then
GetAFileName=s
exit function
end if
i=i+1
loop
end function
uj5u.com熱心網友回復:
那么這個函式是在formload()呼叫?保證我每次一運行這個程式就先自動生成一個檔案?uj5u.com熱心網友回復:
不好意思,應該是我理解錯了。在command的click事件中呼叫 GetAFileName函式?但是按這個回圈應該是程式運行后不斷的點擊按鈕,就會自動生成不同的檔案名。如果程式一但退出運行后再重新運行,就會生成同名的檔案。我的想法是:我運行程式后點擊按鈕,會自動生成檔案,比如1.txt,2.txt,...10.txt,然后我把程式關掉了。過兩天我再運行程式,點擊這個按鈕,能夠接著自動生成檔案,比如11.txt,12.txt....,這怎么才能做到?多謝!
uj5u.com熱心網友回復:
簡單的方法是把你最后生成的檔案名稱保存在一個ini檔案或者Log檔案中下次運行程式從這個Ini或者Log檔案中讀取上一次最后產生的檔案名稱,然后根據邏輯聲稱新的檔案名,檢查這個檔案名是否存在,如果不存在就生成,反之繼續生成新的檔案名
uj5u.com熱心網友回復:
也可以生成的時候先dir看看是否有這個檔案,再kill物件就行uj5u.com熱心網友回復:
只要你生成的檔案保存到指定的目錄中,每次運行回傳的檔案名都和存在的檔案名不會相同
uj5u.com熱心網友回復:
我一般按時間自動生成檔案名,最小到秒。uj5u.com熱心網友回復:
日期加上機器的 TickCount 就可以得到唯一的字串。Option Explicit
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Sub Command1_Click()
MsgBox Format(Date, "yyyymmdd") & Right("0000000" & Hex(GetTickCount()), 8)
End Sub
uj5u.com熱心網友回復:
1、把你最后生成的檔案名稱保存在一個ini檔案或者Log檔案中。下次讀取這個ini檔案。2、樓上的日期加上機器的 TickCount ,按時間生成也不失為好方法。
uj5u.com熱心網友回復:
CoCreateGuidCreates a GUID, a unique 128-bit integer used for CLSIDs and interface identifiers.
HRESULT CoCreateGuid(
GUID *pguid //Pointer to the GUID on return
);
Parameter
pguid
[out] Pointer to the requested GUID on return.
Return Value
S_OK
The GUID was successfully created.
Win32 errors are returned byUuidCreate but wrapped as an HRESULT.
Remarks
The CoCreateGuid function calls the RPC function UuidCreate, which creates a GUID, a globally unique 128-bit integer. Use the CoCreateGuid function when you need an absolutely unique number that you will use as a persistent identifier in a distributed environment.To a very high degree of certainty, this function returns a unique value – no other invocation, on the same or any other system (networked or not), should return the same value.
QuickInfo
Windows NT: Use version 3.1 or later.
Windows: Use Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in objbase.h.
Import Library: Included as a resource in ole32.dll.
See Also
UuidCreate
uj5u.com熱心網友回復:
正解!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/155905.html
標籤:VB基礎類
上一篇:Excel VBA編程
下一篇:求助 簡單的VF問題
