Apakah mungkin untuk mengaktifkan Outlook 2010 pada fitur "Balasan Otomatis" ketika saya menutup aplikasi? Saya suka menyalakan "Out of Office" pada akhir hari tetapi terburu-buru itu mudah dilupakan.
Apakah mungkin untuk mengaktifkan Outlook 2010 pada fitur "Balasan Otomatis" ketika saya menutup aplikasi? Saya suka menyalakan "Out of Office" pada akhir hari tetapi terburu-buru itu mudah dilupakan.
Jawaban:
Saya BENAR-BENAR mencoba membuat ini bekerja untuk Anda, tetapi saya belajar bahwa Outlook 2010 tidak lagi mendukung CDO 1.2.1, dan tidak menjadi seorang programmer, saya tidak memiliki pengetahuan yang mendalam untuk mengkodekannya dengan cara lain. Meskipun tidak didukung dan tidak direkomendasikan oleh Microsoft (mengapa mereka menyebutkannya kemudian ??), dimungkinkan untuk menginstal CDO jika Anda memiliki Outlook 2007, sebelum Anda memutakhirkan ke Outlook 2010.
http://support.microsoft.com/kb/2028411
Saya akan memposting cara melakukan ini di Outlook 2003/2007 kalau-kalau ada yang terjadi pada ini. Saya baru saja menguji ini. Saya juga akan memposting langkah-langkah lain untuk Outlook 2010 MEMASANG ANDA BISA TETAP KODE.
Untuk Outlook 2007 saja, Anda harus menginstal CDO atau kode akan gagal: http://www.microsoft.com/downloads/en/details.aspx?familyid=2714320d-c997-4de1-986f-24f081725d36&displaylang=en
Dengan asumsi kebijakan grup perusahaan Anda tidak menimpanya, ubah keamanan di Tools
→ Macros
→ Security
menjadi No Security Check for macros
.
Buka Tools
→ Macros
→ Visual Basic Editor
.
Klik pada ikon Visual Basic, dan tekan F2untuk membuka browser objek.
Di proyek baru di panel kiri rentangkan hingga Anda melihat ThisOutlookSession
dan mengklik dua kali.
Potong dan tempel kode berikut ke jendela kode yang baru saja dibuka dan simpan:
Private Sub Application_Quit()
Dim objMAPISession As Object
Set objReminders = Nothing
If MsgBox("Would you like to turn the Out of Office Assistant on?", vbYesNo, "Activate Out of Office Assistant") = vbYes Then
Set objMAPISession = CreateObject("MAPI.Session")
objMAPISession.Logon , , True, False
objMAPISession.OutOfOffice = True
objMAPISession.Logoff
End If
Set objMAPISession = Nothing
End Sub
Tutup dan buka Outlook.
Ini akan memberi Anda pesan tentang makro. Aktifkan mereka.
Jika Anda dapat memperbaiki kode , berikut adalah langkah-langkah untuk Outlook 2010. Saya menyertakannya karena lokasi banyak item telah berubah, dan mungkin sulit ditemukan. Dalam kode saat ini, saya juga menunjukkan langkah yang gagal.
Dengan asumsi kebijakan grup perusahaan Anda tidak menimpanya, ubah keamanan di File
→ Options
→ Trust Center
→ Trust Center Settings
→ Macro Settings
menjadi Enable all macros
.
Mulailah dengan mengaktifkan Developer
tab di File
→ Options
→ Customize Ribbon
, periksa Developer
di kolom kanan.
Klik pada ikon Visual Basic, dan tekan F2 untuk membuka objek browser.
Pergi ke Classes
(kolom kiri) → ThisOutlookSession
dan klik dua kali.
Potong dan tempel kode berikut ke jendela kode yang baru saja dibuka dan simpan:
Private Sub Application_Quit()
Dim objMAPISession As Object
Set objReminders = Nothing
If MsgBox("Would you like to turn the Out of Office Assistant on?", vbYesNo, "Activate Out of Office Assistant") = vbYes Then
Set objMAPISession = CreateObject("MAPI.Session") THIS IS THE STEP THAT FAILS
objMAPISession.Logon , , True, False
objMAPISession.OutOfOffice = True
objMAPISession.Logoff
End If
Set objMAPISession = Nothing
End Sub
Tutup dan buka Outlook.
Kembali ke Developer
tab → Macros
ikon. Ini akan memberi Anda pesan tentang makro. Aktifkan mereka.
Cara lain untuk mengatasi ini (karena saya tidak percaya Anda dapat mengubah parameter tanggal / waktu untuk Asisten Di Luar Kantor melalui VBA) adalah dengan melakukan langkah-langkah berikut:
Application_Start
dan Application_Quit
untuk mengaktifkan / menonaktifkan aturan:Option Explicit Private Sub Application_Quit() SetRuleEnabled True End Sub Private Sub Application_Startup() SetRuleEnabled False End Sub Private Sub SetRuleEnabled(ByVal bEnable As Boolean) Dim oSession As Outlook.NameSpace Dim oRule As Outlook.Rule Dim oRules As Outlook.Rules Dim oPA As Outlook.PropertyAccessor Set oSession = Application.Session Set oRules = oSession.DefaultStore.GetRules() Set oPA = oSession.DefaultStore.PropertyAccessor '*** If the Out-Of-Office is already on (eg. holidays, sick leave etc.) '*** then it might be best to force this rule permanently off If oPA.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x661D000B") Then bEnable = False End If For Each oRule In oRules If oRule.Name = "HomeTime" Then oRule.Enabled = bEnable oRules.Save Exit For End If Next End Sub
Satu hal yang perlu diingat adalah bahwa respons ini akan diaktifkan setiap kali untuk setiap balasan berikutnya. Berbeda dengan asisten Out-Of-Office yang mengabaikan balasan selanjutnya.
PS. Dengan cek Out of Office di VBA di atas, Anda perlu referensi ke perpustakaan CDO. Jika Anda tidak ingin memeriksa berada di Luar Kantor, Anda tidak perlu CDO.
Luar biasa! Terima kasih KCotreau. Saya membuatnya bekerja pada MS Outlook 2003. Di bawah ini adalah potongan kode - Saya baru saja membungkusnya dengan pra dan kode untuk tidak memiliki semuanya dalam satu baris.
Private Sub Application_Quit()
Dim objMAPISession As Object
Set objReminders = Nothing
If MsgBox("Would you like to turn the Out of Office Assistant on?", vbYesNo, "Activate Out of Office Assistant") = vbYes Then
Set objMAPISession = CreateObject("MAPI.Session")
objMAPISession.Logon , , True, False
objMAPISession.OutOfOffice = True
objMAPISession.Logoff
End If
Set objMAPISession = Nothing
End Sub
Ini bagus, tetapi mungkinkah menjalankannya di hari yang akan datang? Itu akan menjadi nilai tambah nyata, karena jika Anda memiliki liburan yang direncanakan dan lupa untuk mengubah OOF, itu akan secara otomatis masuk tanpa campur tangan manusia ... eh?