Pertanyaan ini telah ditanyakan sebelumnya , tetapi setiap kali jawaban yang diterima hanyalah pengunduran diri untuk memberikan deskripsi fungsi menggunakan Application.MacroOptions
( VBA6 ) ( VBA7 ), tetapi informasi ini tidak benar-benar muncul sebagai tooltip, jadi itu tidak menyelesaikan masalah saya.
Hasil
Apa yang kita semua inginkan adalah untuk dapat mendefinisikan fungsi kustom dengan cara apapun (VBA, VSTO, atau add-in COM) dan memberikan pengguna manfaat dari deskripsi pop-up / tool-tip dari fungsi dan parameternya, seperti muncul untuk setiap fungsi Excel bawaan, baik sebaris atau di bilah rumus:
Jawaban yang diterima secara luas untuk kebutuhan ini adalah bahwa itu tidak mungkin untuk fungsi adat, tetapi saya ingin menantang kepercayaan itu.
Masalah
Saat ini, hal terbaik yang pernah saya lihat dilakukan orang adalah mendefinisikan fungsi (sering kali menggunakan panggilan MacroOptions di atas) sehingga saat membuka dialog fungsi (tombol fx di bilah rumus) fungsi dan deskripsi parameternya muncul seperti di bawah ini:
Seperti yang Anda lihat, ini adalah fungsi yang rumit dengan banyak parameter. Jika pengguna tidak mengetahui dialog "argumen fungsi" ini dan cara memunculkannya, dan hanya akrab dengan tooltip standar Excel, mereka hanya akan melihat nama rumus dan tidak ada bantuan tambahan:
Dengan itu mereka tidak memiliki kesempatan untuk memberikan parameter yang diperlukan dengan benar. (Tanpa membaca dokumentasi, yang tentu saja tidak pernah dilakukan oleh pengguna.)
Sekarang, pengguna yang mahir mungkin tahu bahwa dengan mengetik Ctrl+ Shift+ A, mereka akan diberikan daftar parameter fungsi yang dilengkapi secara otomatis seperti:
Tetapi tentu saja, kami memiliki masalah yang sama seperti di atas yaitu bahwa pengguna excel standar hanya akan terbiasa dengan perilaku default dari gambar pertama dan mungkin tidak akan pernah mempelajari fitur itu.
Harus jelas pada titik ini mengapa ini tidak cukup dan kami menginginkan apa yang dimiliki setiap fungsi bawaan - tip alat in-line yang memberi tahu pengguna bagaimana menggunakan fungsi tersebut.
The Tease
Pada awalnya, saya mungkin yakin bahwa ini tidak mungkin kecuali dengan fungsi aplikasi Excel asli. Add-in dan VBA adalah fitur yang dapat diperpanjang, dan tip alat ini mungkin tidak dapat diperpanjang. Tetapi teori itu tertantang oleh keberadaan add-in Analysis Toolpak. Tentu, ini dibangun di Microsoft, tetapi ANALYS32.xll adalah add-in XLL mandiri seperti yang dapat diproduksi di VB, C, C ++, dan C #. Benar saja, ketika XLL ini dimuat ke dalam aplikasi, fungsi yang disediakannya memiliki tip alat yang sama dengan fungsi excel asli:
Tentunya jika informasi ini entah bagaimana dikodekan dalam file XLL ini dan diteruskan ke Excel, ada cara untuk menirunya dengan Add-in kita sendiri? Sekarang saya berada pada titik di mana saya akan mulai belajar sedikit tentang dekompilasi dan melihat apakah saya dapat merekayasa balik apa pun yang terjadi di toolpak analisis.
Bagaimana Anda Dapat Membantu
Saya hampir yakin bahwa saya telah meneliti semua informasi yang tersedia untuk umum tentang masalah ini. Jika seseorang mengetahui sesuatu yang saya tidak tahu yang mungkin dapat membantu dengan hal ini, jangan ragu untuk ikut campur. Saya sangat tidak terbiasa dengan dlls / xlls yang dikompilasi dengan rekayasa terbalik, jadi jika seseorang merasa ingin membuka salinan lokal Analysis32.xll dan mencari tahu apa yang terjadi dengan definisi fungsi kustomnya, saya akan sangat berterima kasih. Jika tidak, saya akan terus menggali ini sendiri sampai saya menemukan jalan buntu dan melaporkan kembali apa yang saya temukan.