Jadi saya punya makro yang tidak memiliki kesalahan. Jika saya masuk ke visual basic dan tekan F5 atau F8 itu akan berjalan. Jika saya pergi ke menu View Macros dan memilihnya, itu akan berjalan.
Namun, jika saya mengatur pintasan keyboard, letakkan di toolbar akses cepat, atau tambahkan ke pita, tidak ada yang melakukan apa pun.
Ini adalah MS Project 2010 Professional. .
Informasi tambahan: Saya membuat makro baru dari awal dan memiliki gejala yang sama persis. Tampaknya menjadi masalah dengan program, bukan makro itu sendiri.
vba
microsoft-project
Greg Viers
sumber
sumber
Jawaban:
Ekspor modul Anda, buka di Notepad atau Notepad ++. Gulir ke definisi untuk prosedur makro Anda; harus ada satu
Attribute
atau dua instruksi di baris pertama tubuh makro Anda:Di sini
\n14
singkatan dari kombinasi tombol Ctrl+ Shift, jadiDoSomething
makro ini ditugaskan untuk Ctrl+ Shift+ A.Jika
VB_ProcData
atributnya tidak ada, tambahkan. Perhatikan bahwa sintaks untuk atribut anggota memerlukan nama anggota untuk memenuhi syarat atribut (yaitu nama prosedurDoSomething
, sehingga instruksi atribut berjalanDoSomething.VB_ProcData...
).Kemudian simpan file, kembali ke proyek VBA Anda, hapus modul, dan impor file yang dimodifikasi.
sumber
Attribute
nilai - nilai tersembunyi ini dalam modul. Agaknya jika ada di sana, maka tombol pintas harus dihormati oleh aplikasi host. Apakah ada sesuatu di Microsoft User Voice tentang hal itu?Ini ternyata menjadi masalah dengan konfigurasi profil windows saya dengan jaringan perusahaan di sini. Di dalam proyek, ada 2 salinan template global saya yang menunjukkan, satu adalah "Global.MPT" yang lain adalah "Global (+ perusahaan yang tidak di-cache". Memindahkan makro saya ke yang kedua telah menyelesaikan masalah ini.
sumber
Saya menemukan masalah ini ketika menambahkan Makro ke tautan cepat di MSP Pro 2016.
Makro direkam daripada dikodekan secara langsung dan membuat Makro baru (misalnya
DoSomething()
contoh dalam jawaban Mathieu) bekerja.Menyalin kode makro ke dalam Notepad, menghapus makro asli dan membuat versi baru dengan menempelkan atau mengetik teks dalam bekerja.
sumber