खोलकर एक्सेल लॉन्च किया जाता है कई उपयोगकर्ताओं ने सूचित किया है कि यदि वे Excel फ़ाइल को डबल-क्लिक करके एक्सेल लॉन्च करते हैं, तो ऐड-इन लोड नहीं होगा। लेकिन, अगर वे स्टार्ट मेनू (या क्विक लॉन्च टूलबार) के माध्यम से एक्सेल खोलते हैं तो ऐड-इन लोड ठीक है।एक्सेल के लिए COM एड-इन लोड नहीं होता है जब फ़ाइल
कुछ विवरण, मामले में वे मदद:
- यह एक COM ऐड-इन, VB6 में लिखा है।
- समस्या Windows XP/Excel 2003 और Vista/Excel 2007 सिस्टम पर रिपोर्ट की गई है।
- ऐड-इन IDTExtensibility2 लागू करता है।
- प्रारंभ मोड "स्टार्टअप पर लोड" पर सेट है।
इस कारण पर कोई विचार या समस्या निवारण कैसे किया जाएगा इसकी सराहना की जाएगी।
अद्यतन: मेरा मानना है कि मुझे इस समस्या का समाधान मिला है।
जब कोई IDTExtensibility2 डीएल पंजीकृत होता है, तो यह लोड व्यवहार, ऐड-इन नाम इत्यादि के लिए स्वचालित रूप से HKCU प्रविष्टियां बनाता है लेकिन मेरे पास भी मेरी सेटअप फ़ाइल एचडीएलएम में ऐड-इन पंजीकृत करती है, ताकि यह उपलब्ध हो सके मशीन पर सभी उपयोगकर्ता। इसने सिस्टम पर डबल रजिस्ट्री प्रविष्टियों का कारण बना दिया।
मुझे नहीं लगता था कि यह समस्या का कारण होगा। मैंने मैन्युअल रूप से HKCU प्रविष्टियों को संपादित किया और एक्सेल उन्हें अनदेखा करना और HKLM प्रविष्टियों का पालन करना प्रतीत होता था। हालांकि, मुझे एक और डेवलपर से एक टिप मिली जिसमें यह समझाया गया कि उन्हें एक ही समस्या थी, और उनका समाधान डुप्लिकेट रजिस्ट्री प्रविष्टियों को हटाना था। मैंने कोशिश की और ऐसा लगता है कि बग की रिपोर्ट करने वाले लोगों (बहुत कम संख्या) लोगों के लिए समस्या का समाधान हुआ है।
नीचे दिए गए इनो सेटअप कोड में एचकेएलएम प्रविष्टियां शामिल होंगी, दोबारा जांच करें कि लोड व्यवहार सही है (क्योंकि मैं पागल हूं), फिर HKCU प्रविष्टि को हटा दें। जहां भी आप सभी सीएपीएस देखते हैं वहां अपनी फ़ाइल विशेषताओं को घटाएं।
[Registry]
Root: HKLM; Subkey: Software\Microsoft\Office\Excel\Addins\CONNECT_CLASS; Flags: uninsdeletekey
Root: HKLM; Subkey: Software\Microsoft\Office\Excel\Addins\CONNECT_CLASS; ValueType: string; ValueName: FriendlyName; ValueData: ADDIN_NAME
Root: HKLM; Subkey: Software\Microsoft\Office\Excel\Addins\CONNECT_CLASS; ValueType: string; ValueName: Description; ValueData: ADDIN_DESC
Root: HKLM; Subkey: Software\Microsoft\Office\Excel\Addins\CONNECT_CLASS; ValueType: dword; ValueName: LoadBehavior; ValueData: 3
Root: HKLM; Subkey: Software\Microsoft\Office\Excel\Addins\CONNECT_CLASS; ValueType: dword; ValueName: CommandLineSafe; ValueData: 0
// Set load behavior to on start up
procedure ResetAddinRegKeys();
var
bUpdate : Boolean;
LoadBehaviorKey : Cardinal;
begin
if RegQueryDWordValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Office\Excel\Addins\CONNECT_CLASS', 'LoadBehavior', LoadBehaviorKey) then begin
if LoadBehaviorKey <> 3 then begin
bUpdate := True;
end;
end else begin
bUpdate := True;
end;
if bUpdate = True then begin
RegWriteDWordValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Office\Excel\Addins\CONNECT_CLASS','LoadBehavior', 3);
end;
if RegKeyExists(HKEY_CURRENT_USER, 'SOFTWARE\Microsoft\Office\Excel\Addins\CONNECT_CLASS') then begin
if RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'SOFTWARE\Microsoft\Office\Excel\Addins\CONNECT_CLASS') then begin;
//MsgBox('Duplicate keys deleted', mbInformation, MB_OK);
end;
end;
end;
function GetCustomSetupExitCode: Integer;
begin
ResetAddinRegKeys;
Result := 0;
end;
मेरी MSI इंस्टॉलर के लिए, मैं स्थापना की धारा प्रतिबद्ध है निम्नलिखित VBScript फोन:
Sub RemoveAddinHKCUKeys()
On Error Resume Next
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegDelete "HKCU\SOFTWARE\Microsoft\Office\Excel\Addins\CONNECT_CLASS\CommandLineSafe"
WshShell.RegDelete "HKCU\SOFTWARE\Microsoft\Office\Excel\Addins\CONNECT_CLASS\Description"
WshShell.RegDelete "HKCU\SOFTWARE\Microsoft\Office\Excel\Addins\CONNECT_CLASS\FriendlyName"
WshShell.RegDelete "HKCU\SOFTWARE\Microsoft\Office\Excel\Addins\CONNECT_CLASS\LoadBehavior"
WshShell.RegDelete "HKCU\SOFTWARE\Microsoft\Office\Excel\Addins\CONNECT_CLASS\"
If Err.Number <> 0 The Err.Clear
End Sub
@Tom पर क्लिक करें: आप समस्या यह पता लगाने की जब एक्सेल अन्य आवेदन में एम्बेडेड है का प्रबंधन किया था? मुझे वही समस्या है जहां मेरा COM एडिन (जो एक्सेल में अपनी कमांडबार जोड़ता है) लोड करता है लेकिन अतिरिक्त कमांडबार को ऑनकनेक्शन() विधि को छोड़कर अनुकूलित नहीं किया जा सकता है (बटन सक्षम/अक्षम)। – A9S6
क्षमा करें, नहीं। यह वास्तव में मेरे लिए एक बड़ा सौदा नहीं था। मैं लोगों को यह बताने में सक्षम था "ऐसा मत करो"। ;) या दोनों ऐप्स बंद करें और उन्हें सही क्रम में शुरू करें। मुझे यकीन नहीं है कि आप कुछ भी कर सकते हैं। Office ऐप्स में एक बग की तरह लगता है। प्रतिक्रिया के लिए –
धन्यवाद। आपके पास कुछ महान विचार और टिप्पणियां थीं। – CtrlDot