এক্সেল কাস্টম ফাংশন টুলটিপের জন্য অনুসন্ধান


102

এই প্রশ্নটি আগে জিজ্ঞাসা করা হয়েছিল , তবে প্রত্যেকবার অনুমোদিত উত্তরটি হ'ল Application.MacroOptions( ভিবিএ 6 ) ( ভিবিএ 7 ) ব্যবহার করে ফাংশন বিবরণ সরবরাহ করার জন্য পদত্যাগ , তবে এই তথ্যটি আসলে একটি টুলটিপ হিসাবে উপস্থিত হয় না, সুতরাং এটি আমার সমস্যার সমাধান করে না।

লক্ষ

আমাদের সকলের আকাঙ্ক্ষাটি হ'ল যে কোনও উপায়ে (ভিবিএ, ভিএসটিও, বা সিওএম অ্যাড-ইন) দ্বারা কাস্টম ফাংশনগুলি সংজ্ঞায়িত করতে এবং ব্যবহারকারীকে ফাংশন এবং এর পরামিতিগুলির একটি পপ-আপ / সরঞ্জাম-টিপ বর্ণনার সুবিধা দিতে হবে প্রতিটি অন্তর্নির্মিত এক্সেল ফাংশনের জন্য, ইনলাইন অথবা সূত্র বারে উপস্থিত হয়:

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

এই প্রয়োজনের ব্যাপকভাবে গৃহীত উত্তর হ'ল কাস্টম ফাংশনগুলির পক্ষে এটি সম্ভব নয় তবে আমি এই বিশ্বাসকে চ্যালেঞ্জ জানাতে চাই।

সমস্যাটি

বর্তমানে, আমি যে কেউ সবচেয়ে ভাল দেখেছি তা হ'ল ফাংশনগুলি সংজ্ঞায়িত করা (প্রায়শই উপরের ম্যাক্রোপশনস কলটি ব্যবহার করে) যাতে ফাংশন ডায়ালগটি আনার সময় (সূত্র বারে fx বোতাম) তাদের ফাংশন এবং প্যারামিটারের বিবরণগুলি নীচে প্রদর্শিত হয়:

এখানে চিত্র বর্ণনা লিখুন

আপনি দেখতে পাচ্ছেন যে এটি অনেকগুলি পরামিতি সহ জটিল কাজ। যদি ব্যবহারকারী এই "ফাংশন আর্গুমেন্ট" সংলাপ এবং কীভাবে এটি সামনে আনতে পারেন সে সম্পর্কে অবগত না হন এবং পরিবর্তে কেবল এক্সেলের মানক সরঞ্জামদণ্ডের সাথে পরিচিত হন তবে তারা কেবল সূত্রের নাম দেখতে পাবেন এবং কোনও অতিরিক্ত সহায়তা পাবেন না:

এখানে চিত্র বর্ণনা লিখুন

যা দিয়ে তাদের প্রয়োজনীয় প্যারামিটারগুলি সঠিকভাবে সরবরাহ করার কোনও সম্ভাবনা নেই। (ডকুমেন্টেশন না পড়ে, অবশ্যই কোন ব্যবহারকারী কখনও করেন না))

এখন, একটি ক্ষমতা ব্যবহারকারী চিনতে পারেন যে টাইপ করে Ctrl+ + Shift+ + A, তারা ফাংশন পরামিতি একটি স্বয়ং-সম্পূর্ণ তালিকা তাই মত প্রদান করা হবে:

এখানে চিত্র বর্ণনা লিখুন

তবে অবশ্যই, আমাদের উপরের মতো একই সমস্যা রয়েছে যা হ'ল স্ট্যান্ডার্ড এক্সেল ব্যবহারকারীরা কেবল প্রথম চিত্র থেকে ডিফল্ট আচরণে ব্যবহৃত হবে এবং সম্ভবত কখনও সে বৈশিষ্ট্যটি শিখেনি।

এটি এই পর্যায়ে পরিষ্কার হওয়া উচিত যে এটি কেন পর্যাপ্ত নয় এবং আমরা প্রতিটি ফাংশনে অন্তর্নির্মিত যা আছে তা চাই - ইন-লাইন সরঞ্জাম-টিপ যা ব্যবহারকারীকে ফাংশনটি কীভাবে ব্যবহার করতে হয় তা জানায়।

টিজ

প্রথমে আমি নিশ্চিত হয়েছি যে দেশীয় এক্সেল অ্যাপ্লিকেশন ফাংশন ব্যতীত এটি কেবল সম্ভব নয়। অ্যাড-ইনস এবং ভিবিএ হ'ল এক্সটেনসিবিলিটি বৈশিষ্ট্য এবং এই সরঞ্জাম-টিপটি কেবল সহজলভ্য নাও হতে পারে। তবে সেই তত্ত্বটি বিশ্লেষণ সরঞ্জামপাখ অ্যাড-ইন এর অস্তিত্ব দ্বারা চ্যালেঞ্জিত। অবশ্যই, এটি মাইক্রোসফ্টে নির্মিত, তবে ANALYS32.xll ভিবি, সি, সি ++, এবং সি # তে উত্পাদিত হতে পারে এমনগুলির মতো একটি স্ট্যান্ডেলোন এক্সএলএল অ্যাড-ইন। নিশ্চিতভাবেই, যখন এই এক্সএলএল অ্যাপ্লিকেশনটিতে লোড হয় তখন এটি উপলব্ধ করে যে ফাংশনগুলি এটি উপলব্ধ করে তা দেশীয় এক্সেল ফাংশনগুলির একই সরঞ্জাম-টিপস রয়েছে:

এখানে চিত্র বর্ণনা লিখুন

অবশ্যই যদি এই তথ্যটি কোনওভাবে এই এক্সএলএল ফাইলটিতে এনকোড করা হয় এবং এক্সেলের কাছে পৌঁছে দেওয়া হয় তবে আমাদের নিজস্ব অ্যাড-ইনগুলির সাথে এটির প্রতিরূপ দেওয়ার কোনও উপায় আছে? আমি এখন সেই মুহুর্তে এসেছি যেখানে আমি নিজেই পচিয়ে যাওয়া এবং বিশ্লেষণ টুলপ্যাকের যা যা চলছে তা বিপরীত ইঞ্জিনিয়ারকে দেখতে পারি কিনা তা সম্পর্কে নিজেকে কিছুটা শেখানো শুরু করব।

তুমি কিভাবে সাহায্য করতে পার

আমি প্রায় নিশ্চিত যে এই সমস্যাটি সম্পর্কে আমি সর্বজনীনভাবে উপলভ্য সমস্ত তথ্য নিয়ে গবেষণা করেছি। যদি কেউ এমন কিছু জানেন যা আমি এটির সাথে সাহায্য করতে পারি তবে এটি নির্দ্বিধায় চিত্তে ফিরুন re এর কাস্টম ফাংশন সংজ্ঞাগুলির সাথে কী চলছে তা নির্ধারণ করে, আমি অনেক বেশি বাধ্য li অন্যথায়, যতক্ষণ না আমি সমস্ত মৃত প্রান্তকে আঘাত করি এবং আমি যা খুঁজে পাই তার প্রতিবেদন না করা পর্যন্ত আমি কেবল এটি নিজেই খনন করব।


4
উপলভ্য প্রযুক্তিগুলির যে কোনওটি ব্যবহার করে বর্তমান এক্সেল সংস্করণে ইউডিএফ আর্গুমেন্টগুলির জন্য টুলটিপগুলি তৈরি বা প্রদর্শিত সম্ভব নয়। সবচেয়ে মূল্যবান খেলোয়াড় দ্বারা সূত্রঃ answers.microsoft.com/en-us/office/forum/office_2007-customize/...
silkfire

.NET রিফ্লেক্টর ANALYS32.xll খুলতে পারে নি, এই সিদ্ধান্তে পৌঁছে যে এটি কোনও নেট সভা নয়। এটি আমাকে অবাক করে দেয়। দেখে মনে হচ্ছে আমি এটি সংসদীয় ভাষায় বিভক্ত করার চেষ্টা করতে যাচ্ছি?
আলেন

5
আকর্ষণীয় মনে হচ্ছে, তবে আমি অতীতে (অফিস 97) টি সরঞ্জামটিপ তৈরি করেছি যা উইনাপি ব্যবহার করে। এবং এই ভাবে আপনি এটি করতে পারেন। যদি আকর্ষণীয় না হয় তবে আমি তথ্যটি খনন করতে এবং এটি থেকে একটি অ্যানোভর তৈরি করার চেষ্টা করতে পারি।
আর্কলাইট

4
আমিও এটি পেয়ে যাব, এটি খনন করতে কিছু সময় লাগবে। অন্যদের ব্যবহারের জন্য এটি এখানে উঠে আসা উচিত। উইনাপি / ভিবিএ / এর নিম্ন ডাউন এবং দুষ্ট কম্বো এবং আমি মনে করি যে আমি এটিকে vb.dll হিসাবে তৈরি করেছি তবে এটি নেট থেকে উত্তোলন করার কোনও সম্ভাবনা নেই
আর্চলাইট

4
স্পষ্টতই এক্সেল বিকাশকারী
আলেন

উত্তর:


41

আমি এটিকে বাস্তবায়ন করে এক্সেল-ডিএনএ ইন্টেলিজেন্স প্রকল্প হিসাবে গিটহাবের কাছে একটি প্রুফ অফ কনসেপ্ট প্রকল্প পোস্ট করেছি ।

উপযুক্ত এক্সেল ইউজার ইন্টারফেস ইভেন্টগুলি পর্যবেক্ষণ করতে ইউআই অটোমেশন ক্লাস ব্যবহার করে, উপযুক্ত হলে একটি ফর্ম প্রদর্শিত হবে।

কোডটি এক্সেল-ডিএনএ অ্যাড-ইন হিসাবে মোড়ানো হয়েছে এবং আমার এক্সেল 2013 / উইন্ডোজ 8 মেশিনে কাজ করে। আমি অন্য একটি কনফিগারেশন পরীক্ষা করেছি (উইন্ডোজ সার্ভার 2008-তে 64-বিট এক্সেল 2010) এবং একটি গুরুতর সমস্যা ছিল।

এই জাতীয় এক্সেল-ডিএনএ বৈশিষ্ট্যগুলির সাথে সংজ্ঞায়িত সি # ফাংশনের জন্য:

[ExcelFunction(Description = 
    "A useful test function that adds two numbers, and returns the sum.")]
public static double AddThem(
    [ExcelArgument(Name = "Augend", 
                   Description = "is the first number, to which will be added")] 
    double v1,
    [ExcelArgument(Name = "Addend", 
                   Description = "is the second number that will be added")]     
    double v2)
{
    return v1 + v2;
}

আমরা উভয় ফাংশন বিবরণ পেতে

ফাংশন বর্ণনা

এবং ফাংশনটি নির্বাচন করার সময়, আমরা যুক্তির সহায়তা পাই

যুক্তি সহায়তা

এটি দেখতে দুর্দান্ত লাগছে, তবে এটি এখনও খুব জটিল, কেবলমাত্র আমার মেশিনে কাজ করে এবং কখনও কখনও এক্সেলকে ক্র্যাশ করে। এটি একটি শুরু হতে পারে, যদিও ...


আপডেট 9 মে 2014:

পুরানো এক্সেল এবং উইন্ডোজ সংস্করণের অধীনে কীভাবে যুক্তি সাহায্য করতে পারে তা নির্ধারণ করার জন্য আমি কিছুটা অগ্রগতি করেছি। যাইহোক, সবকিছু নির্ভরযোগ্য হওয়ার জন্য এটি এখনও অনেক কাজ প্রয়োজন। যে কেউ এই সাহায্য করতে চান তিনি দয়া করে সরাসরি আমার সাথে যোগাযোগ করুন।


আপডেট 18 জুন 2016:

এক্সেল ইউডিএফ ইন্টেলিসেন্স সহায়তা এক্সেল-ডিএনএ অ্যাড-ইন এবং ভিবিএ ফাংশন উভয়ের জন্যই এখন পরীক্ষা করা হচ্ছে। নির্দেশনার জন্য গিটহাবের প্রারম্ভিক পৃষ্ঠাটি দেখুন ।


দুঃখের বিষয়, এটি অ্যাক্সেল 2013 বা উইন্ডোজ 8 বা উভয়ই যুক্তি সহায়তা ব্যবহার করে এমন UI অটোমেশন টেক্সটরেঞ্জ সমর্থনটির জন্য প্রয়োজনীয়। উইন্ডোজ ইউআই অটোমেশন অভিজ্ঞতা রয়েছে এমন কারও কাছ থেকে আমি শুনতে চাই ...
Govert

আপনি কি পুরানো মেশিনগুলিতে সংকলনের আগে পুরানো এক্সেল সমাবেশগুলি উল্লেখ করার চেষ্টা করেছিলেন?
ড্যানিয়েল মুলার

4
এক্সেল অবজেক্ট মডেলের উল্লেখগুলি এতে জড়িত নয়। তবে অবশ্যই বিভিন্ন ইউআই অটোমেশন সংস্করণ রয়েছে যা জিনিসগুলিকে প্রভাবিত করতে পারে ...
Govert

4
এটি এখন পর্যন্ত যে কোনও কিছুর আগেই রাস্তাগুলি, সুতরাং আপনি আমার অনুগ্রহের জন্য ভোট পান। আমি অদূর ভবিষ্যতে এই সমাধানে অবদান রাখতে পারি কিনা তা দেখার ইচ্ছা আছে তাই আমার টানার অনুরোধটির দিকে নজর রাখুন!
আলাইন

@ আলাইন গোয়ার্টে ভাল কাজ! & আলাইন আমি আপনাকে এটি মাস্টার দেখতে দেখতে চাই।
ক্যাম্পার

1

কেমন

  1. সেলটির কী প্রেস ইভেন্টে পাঠ্য ইনপুটিং ক্যাপচার করুন। এটার মত
  2. পাঠ্যটি কাস্টম ফাংশনের সাথে মেলে কিনা তা পরীক্ষা করুন।
  3. যদি মেলে, তবে টুলটিপ হওয়ার ভান করার জন্য লেবেল বা আকারের মতো কিছু দেখান। এটার মত

এটা কি গ্রহণযোগ্য?

এটি একটু কুরুচিপূর্ণ তবে সহজ।


এটি একটি আকর্ষণীয় সূচনা পয়েন্ট যা আমি বিবেচনা করেছি, তবে সূত্র সম্পাদনার আরও উন্নত ফর্মগুলির মুখোমুখি হওয়ার সময় জটিলতার মধ্যে পড়ে (যেমন মাঝখানে কোথাও ক্লিক করা এবং অক্ষর মুছে ফেলা / যুক্ত করা, বা সূত্রের কোনও অংশকে হাইলাইট করা এবং ওভাররাইট করা, বা ব্যবহার করা) অন্য কোনও সূত্রের মাঝখানে একটি কাস্টম সূত্র)) এর জন্য কী-প্রেসগুলি পরীক্ষা করার চেয়ে আরও বেশি প্রয়োজন, আমাদের মাঝামাঝি সম্পাদনের সূত্র বার বা কক্ষের বর্তমান বিষয়বস্তুগুলি সন্ধান করা প্রয়োজন। এটিও কিছু আমদানিকৃত ডিএল লাইব্রেরি এবং হ্যাকারি হ্যান্ডেল করার মাধ্যমে সম্পন্ন হতে পারে। অবশ্যই অন্বেষণ মূল্যবান।
আলাইন

-1

এক্সএলএল কী?

এক্সএলএল হ'ল একটি ডিএলএল যা এক্সেল বা এক্সেল অ্যাড-ইন ম্যানেজারের দ্বারা ডাকা বিভিন্ন প্রক্রিয়া রফতানি করে। http://msdn.microsoft.com/en-us/library/office/bb687861.aspx

আপনি কীভাবে এক্সএলএল বিকাশ করবেন?

এক্সেল এক্সএলএল এসডিকে ভিজ্যুয়াল সি ++ সহ (বা এমন কোনও কিছু যা একটি ডিএলএল সংকলন করতে পারে এবং এসডিকে পদ্ধতিগুলি কল করতে পারে)

একটি সাধারণ এক্সএলএল তৈরির জন্য আমি কোথায় একটি দ্রুত গাইড পেতে পারি?

http://support.microsoft.com/kb/178474

আমি কীভাবে সরঞ্জামদ্বারা পাই?

  1. প্রক্রিয়া হিসাবে আপনার ফাংশনটি প্রয়োগ করুন এবং এটি রফতানি করুন
  2. এক্সএলআউটওপেন (শূন্য) কার্যকর করুন এবং রফতানি পদ্ধতি - http://msdn.microsoft.com/en-us/library/office/bb687860.aspx
  3. এক্সএলআউটওপেনকে কেবল xlfRegister কল করতে হবে - http://msdn.microsoft.com/en-us/library/office/bb687900.aspx
  4. সরঞ্জামদণ্ডগুলির জন্য, এর জন্য বিশেষ মনোযোগ: pxArgumentText, pxFunctionHelp, pxArgumentHelp1

দুঃখের বিষয়, অ্যানালাইসিস টুলপ্যাক অ্যাড-ইন-এর কোনও সরঞ্জামদণ্ড নেই।

আমার সমাধানটি ভুল ছিল, তবে মূল পোস্টার দ্বারা পোস্ট করা ভুল তথ্যের সাথে। বিনমডিস্টের সাথে একটি ছবি দেখানো হচ্ছে, যদি তার লিঙ্কটি পরিষ্কারভাবে দেখায় যে এটি ANALYS32.xll এর কাজ নয়।

এর অর্থ আমি একটি অসম্ভব প্রশ্নটি সমাধান করার চেষ্টা করছিলাম। কারণ কোনও এক্সএলএল নেই যা পোস্টারটির অনুরোধ অনুযায়ী করতে পারে। আপনি যদি এক্সেলের এমন কোনও সংস্করণ খুঁজে পান যা এক্সএলএল এর সরঞ্জামদণ্ডগুলি প্রদর্শন করে তবে দয়া করে আমাকে জানান।

XLL আচরণের নকল করার চেষ্টা করে পোস্টারটি যা চেয়েছিল, সে সম্পর্কে আমি নিশ্চিত যে ANALYS32.xll কী করবে সে সম্পর্কে আমার উত্তরটি সবচেয়ে সঠিক ছিল।


4
দুঃখিতভাবে, xlfRegister সঙ্গে একটি ইউডিএফ নিবন্ধনের করে না ইন-শীট টুলটিপ্সে intellisense যেমন তথ্যটির প্রদর্শন বন্ধ করা এক্সেল কারণ। এখানে নিবন্ধিত বিবরণ ইত্যাদি কেবলমাত্র ফাংশন আর্গুমেন্ট ডায়ালগ বাক্সে প্রদর্শিত হবে, যা আপনি fx বোতাম টিপলে পপ আপ হয়। তবে এটিই মূল পোস্টারটি জিজ্ঞাসা করছে না।
Govert

@ গওরট ২০১ 2016 সালে কি এখনও এভাবে চলছে?
beppe9000

@ beppe9000 হ্যাঁ : আপনি ইন-শীট IntelliSense UDFs (একটি XLL বা VBA সংজ্ঞায়িত) জন্য টুলটিপ্সে পেতে পারেন: Excel ডিএনএ IntelliSense এক্সটেনশান ব্যবহার করে github.com/Excel-DNA/IntelliSense
Govert
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.