aliali58
06-04-2007, 09:39
با سلام
من يك تايمر ميخوام كه توي word به شرح زير كار كنه ولي ظاهراً بعد از يكي دو هفته كسي نتونسته بنويسه حالا اگر كسي توي vb هم برام اين كار رو بكنه و ترجيحاً خط به خط توضيح بده كه چي كار ميكنه ممنون ميشم
من با استفاده از ماكرو در ورد ميخوام يك تايمر بنويسم كه با فشار دادن يك كليد (مثلا f5) تايمر شروع به كار بكند تا زماني كه من كليد دوم (مثلا f6) را فشار ميدهم آنگاه تايمر متوقف شود و مدت زمان سپري شده را به من بدهد. البته كد زير را كه بعد از طي شدن 600 ثانيه پيام ميدهد را خودم نوشتم ولي به طريق بالا را نياز دارم ممنون ميشم توضيح كد رو هم برام بنويسيد كه چه كار ميكنه؟
اين هم كدي كه خودم نوشتم(البته اينجا خراب شده همين را عيناً در ورد كپي كنيد درست ميشه)
Sub Macro4()
'
' Macro4 Macro
' Macro recorded 16/08/03 by station4
'
'تايمري كه بعد از 10 دقيقه پيغام ميدهد
Dim PauseTime, Start, Finish, TotalTime
If (MsgBox(" را فشار دهيد Yes براي شروع زمان دكمه ", 4)) = vbYes Then
zaman = 5 ' Set duration.
Start = Timer ' Set start time.
Do While Timer < Start + zaman
DoEvents ' Yield to other processes.
Loop
Finish = Timer ' Set end time.
TotalTime = Finish - Start ' Calculate total time.
zx = 1
For zx = 1 To 3
MsgBox "توقف پس از " & TotalTime & " seconds"
Next
Else
End
End If
End Sub
خب دوستان مثل اينكه خودم يه چيزايي پيدا كرم كه كد اون رو مينويسم حالا فقط لطف كنيد ايرادش رو اصلاح كنيد اگه اين رو توي قسمت ماكرو ورد بريزيد كار ميكنه البته نام فايلي رو كه من ذخيره كردم رو با نام فايل خودتون عوض كنيد
Sub timer() '
hms = ActiveDocument.Name
smh = "1-1a.doc"
Start = Time
h1 = Hour(Start)
m1 = Minute(Start)
s1 = Second(Start)
Do While hms = smh
hms = ActiveDocument.Name
DoEvents ' Yield to other processes.
Loop
Finish = Time '
h2 = Hour(Finish) '
m2 = Minute(Finish) '
s2 = Second(Finish) '
h = h2 - h1
m = m2 - m1
s = s2 - s1
TotalTime = h & ":" & m & ":" & s ' Calculate total time.
MsgBox TotalTime
End Sub
من يك تايمر ميخوام كه توي word به شرح زير كار كنه ولي ظاهراً بعد از يكي دو هفته كسي نتونسته بنويسه حالا اگر كسي توي vb هم برام اين كار رو بكنه و ترجيحاً خط به خط توضيح بده كه چي كار ميكنه ممنون ميشم
من با استفاده از ماكرو در ورد ميخوام يك تايمر بنويسم كه با فشار دادن يك كليد (مثلا f5) تايمر شروع به كار بكند تا زماني كه من كليد دوم (مثلا f6) را فشار ميدهم آنگاه تايمر متوقف شود و مدت زمان سپري شده را به من بدهد. البته كد زير را كه بعد از طي شدن 600 ثانيه پيام ميدهد را خودم نوشتم ولي به طريق بالا را نياز دارم ممنون ميشم توضيح كد رو هم برام بنويسيد كه چه كار ميكنه؟
اين هم كدي كه خودم نوشتم(البته اينجا خراب شده همين را عيناً در ورد كپي كنيد درست ميشه)
Sub Macro4()
'
' Macro4 Macro
' Macro recorded 16/08/03 by station4
'
'تايمري كه بعد از 10 دقيقه پيغام ميدهد
Dim PauseTime, Start, Finish, TotalTime
If (MsgBox(" را فشار دهيد Yes براي شروع زمان دكمه ", 4)) = vbYes Then
zaman = 5 ' Set duration.
Start = Timer ' Set start time.
Do While Timer < Start + zaman
DoEvents ' Yield to other processes.
Loop
Finish = Timer ' Set end time.
TotalTime = Finish - Start ' Calculate total time.
zx = 1
For zx = 1 To 3
MsgBox "توقف پس از " & TotalTime & " seconds"
Next
Else
End
End If
End Sub
خب دوستان مثل اينكه خودم يه چيزايي پيدا كرم كه كد اون رو مينويسم حالا فقط لطف كنيد ايرادش رو اصلاح كنيد اگه اين رو توي قسمت ماكرو ورد بريزيد كار ميكنه البته نام فايلي رو كه من ذخيره كردم رو با نام فايل خودتون عوض كنيد
Sub timer() '
hms = ActiveDocument.Name
smh = "1-1a.doc"
Start = Time
h1 = Hour(Start)
m1 = Minute(Start)
s1 = Second(Start)
Do While hms = smh
hms = ActiveDocument.Name
DoEvents ' Yield to other processes.
Loop
Finish = Time '
h2 = Hour(Finish) '
m2 = Minute(Finish) '
s2 = Second(Finish) '
h = h2 - h1
m = m2 - m1
s = s2 - s1
TotalTime = h & ":" & m & ":" & s ' Calculate total time.
MsgBox TotalTime
End Sub