Note: The other languages of the website are Google-translated. Back to English

Sut i gyfrif oriau / diwrnodau / wythnosau a dreuliwyd ar apwyntiad neu gyfarfod yn Outlook?

Gadewch i ni ddweud bod yna lawer o apwyntiadau a chyfarfodydd mewn calendr yn Outlook. Ac nawr rydych chi am gyfrif yr oriau / diwrnodau / wythnosau a dreuliwyd ar yr apwyntiadau a'r cyfarfodydd hyn, unrhyw syniad? Bydd yr erthygl hon yn cyflwyno VBA i'ch helpu chi.

Cyfrif oriau / diwrnodau / wythnosau a dreuliwyd ar apwyntiad neu gyfarfod â VBA


Cyfrif oriau / diwrnodau / wythnosau a dreuliwyd ar apwyntiad neu gyfarfod â VBA

Bydd y dull hwn yn cyflwyno VBA i gyfrif yr oriau neu'r munudau a dreuliwyd ar yr apwyntiad neu'r cyfarfod penodedig yn Outlook. Gwnewch fel a ganlyn:

1. Newid i'r ffolder Calendr, a chlicio i ddewis yr apwyntiad neu'r cyfarfod y byddwch chi'n cyfrif oriau a dreuliwyd.

2. Gwasgwch Alt + F11 allweddi ar yr un pryd i agor ffenestr Microsoft Visual Basic for Applications.

3. Cliciwch Mewnosod > Modiwlau, ac yna pastiwch islaw cod VBA i mewn i ffenestr y Modiwl agoriadol.

VBA: Cyfrif yr oriau / munudau a dreuliwyd ar apwyntiad neu gyfarfod yn Outlook

Sub CountTimeSpent()
Dim oOLApp As Outlook.Application
Dim oSelection As Outlook.Selection
Dim oItem As Object
Dim iDuration As Long
Dim iTotalWork As Long
Dim iMileage As Long
Dim iResult As Integer
Dim bShowiMileage As Boolean

bShowiMileage = False

iDuration = 0
iTotalWork = 0
iMileage = 0

On Error Resume Next

    Set oOLApp = CreateObject("Outlook.Application")
Set oSelection = oOLApp.ActiveExplorer.Selection

    For Each oItem In oSelection
If oItem.Class = olAppointment Then
iDuration = iDuration + oItem.Duration
iMileage = iMileage + oItem.Mileage
ElseIf oItem.Class = olTask Then
iDuration = iDuration + oItem.ActualWork
iTotalWork = iTotalWork + oItem.TotalWork
iMileage = iMileage + oItem.Mileage
ElseIf oItem.Class = Outlook.olJournal Then
iDuration = iDuration + oItem.Duration
iMileage = iMileage + oItem.Mileage
Else
iResult = MsgBox("Please select some Calendar, Task or Journal items at first!", vbCritical, "Items Time Spent")
Exit Sub
End If
Next

Dim MsgBoxText As String
MsgBoxText = "Total time spent: " & vbNewLine & iDuration & " minutes"

If iDuration > 60 Then
MsgBoxText = MsgBoxText & HoursMsg(iDuration)
End If

If iTotalWork > 0 Then
MsgBoxText = MsgBoxText & vbNewLine & vbNewLine & "Total work recorded; " & vbNewLine & iTotalWork & " minutes"

If iTotalWork > 60 Then
MsgBoxText = MsgBoxText & HoursMsg(iTotalWork)
End If
End If

If bShowiMileage = True Then
MsgBoxText = MsgBoxText & vbNewLine & vbNewLine & "Total iMileage; " & iMileage
End If

    iResult = MsgBox(MsgBoxText, vbInformation, "Items Time spent")

ExitSub:
Set oItem = Nothing
Set oSelection = Nothing
Set oOLApp = Nothing
End Sub

Function HoursMsg(TotalMinutes As Long) As String
Dim iHours As Long
Dim iMinutes As Long
iHours = TotalMinutes \ 60
iMinutes = TotalMinutes Mod 60
HoursMsg = " (" & iHours & " Hours and " & iMinutes & " Minutes)"
End Function

4. Gwasgwch y F5 allwedd neu cliciwch y Run botwm i redeg y VBA hwn.

Ac yn awr mae blwch deialog yn galw allan ac yn dangos faint o oriau / munudau a dreuliodd yr apwyntiad / cyfarfod a ddewiswyd. Gweler y screenshot:

Nodyn: Gallwch ddewis apwyntiadau neu gyfarfodydd lluosog ar yr un pryd i gyfrif cyfanswm yr oriau / munudau a dreuliwyd arnynt gyda'r cod VBA hwn.


Erthyglau Perthnasol


Kutools for Outlook - Yn Dod â 100 o Nodweddion Uwch i'w Rhagweld, a Gwneud Gwaith yn Haws Osgach!

  • Auto CC / BCC yn ôl rheolau wrth anfon e-bost; Auto Ymlaen E-byst Lluosog yn ôl arfer; Ymateb Auto heb weinydd cyfnewid, a nodweddion mwy awtomatig ...
  • Rhybudd BCC - dangoswch neges pan geisiwch ateb popeth os yw'ch cyfeiriad post yn rhestr BCC; Atgoffwch Wrth Ymlyniadau ar Goll, a mwy o nodweddion atgoffa ...
  • Ymateb (Pawb) Gyda'r Holl Atodiadau yn y sgwrs bost; Ateb Llawer o E-byst mewn eiliadau; Auto Ychwanegu Cyfarchiad wrth ateb; Ychwanegu Dyddiad i'r pwnc ...
  • Offer Ymlyniad: Rheoli Pob Atodiad ym mhob Post, Datgysylltiad Auto, Cywasgu Pawb, Ail-enwi Pawb, Arbed Pawb ... Adroddiad Cyflym, Cyfrif Postiau Dethol...
  • E-byst Sothach Pwerus yn ôl arfer; Tynnwch y Post a Chysylltiadau Dyblyg... Yn eich galluogi i wneud yn ddoethach, yn gyflymach ac yn well yn Outlook.
tab kutools rhagweld kutools tab 1180x121
kutools rhagweld rhagolygon kutools ynghyd â thab 1180x121
 
sylwadau (8)
Dim sgôr eto. Byddwch y cyntaf i sgorio!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch am facro defnyddiol iawn! Newydd ddod o hyd i un gwall: oItem.Mileage yw Llinyn nid Hir. Achosodd y gwall hwn i'r macro gael ei rwystro.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
sut ydych chi'n cyfrif cyfanswm yr amser ar gyfer pob cyfarfod ar galendr dros gyfnod. Rydym yn ceisio darganfod faint mae ein gwahanol aelodau staff yn ei wario mewn cyfarfodydd i gyd.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
A gawsoch chi ymateb ar hyn neu ei gyfrifo? Rwy'n ceisio gwneud yr un peth.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Symudais i'r modd mis a dewisais yr holl wahoddiadau gan ddefnyddio llusgo a gollwng, yn gallu gweld cyfanswm yr holl gyfarfodydd. gobeithio ei fod yn helpu.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae angen i chi newid y golwg calendr i olwg rhestr sy'n dangos yr holl benodiadau gyda'i gilydd, ac yna gallwch chi dynnu sylw at bob un o'r rhai y mae gennych ddiddordeb mewn cyfanswm, a rhedeg y macro VBA hwnnw.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Am facro defnyddiol iawn! Diolch!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Allwch chi wneud yr un peth yn OWA?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
C'est parfait même et surtout pour une analphabète de l'informatique. Merci.
Nid oes unrhyw sylwadau wedi'u postio yma eto
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir