<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[MSV6 win32 dll comobject Excel Quit&#x2F;Close geht nicht!]]></title><description><![CDATA[<p>hab nicht genau gewust wohin mit der frage da diese irgendwie in keins der themen past<br />
naja mal guckn <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Also (bin noch ziemlich neu bei c++) habe ne com automation gemacht für Excel<br />
problemm ist das unladen geht nicht die excel.exe bleibt in memory obwohl ich<br />
quit und close funktionen aufrufe und auch die objekte auf null setze!<br />
Header:</p>
<pre><code class="language-cpp">#include &quot;comdef.h&quot;
class ITXls {
	public:
         void Close();
	int SaveAs(char sFromfile [256],char sTofile [256],int delsource);

	private:
	IDispatchPtr m_spIExcelApp;
	IDispatchPtr m_spWorkbook;
};
</code></pre>
<p>Quellcode:</p>
<pre><code class="language-cpp">#include &lt;afx.h&gt;
 #include &quot;ITExcel.h&quot;
 #include &quot;stdafx.h&quot;
 #include &quot;atlbase.h&quot;
 CComModule _Module;
 #include &quot;atlcom.h&quot;
//#import &quot;\\S-itwienstore\SLWS\Office2003\FILES\PFILES\MSOFFICE\OFFICE11\XL5EN32.OLB&quot;

// Funktion ITExcel   
int __stdcall ITExcel_SaveAs(char sFromfile [256],char sTofile [256],int delsource) {
	if (sFromfile == NULL || sTofile == NULL) return 1;
	int retval;
	ITXls ITWork;	
	retval = ITWork.SaveAs(sFromfile,sTofile,delsource);  
	ITWork.Close();
	return retval;
}
void ITXls::Close() {
  if (m_spIExcelApp != NULL) {
    VARIANT vResult;
    CComDispatchDriver spDispExcel(m_spIExcelApp);
    HRESULT hr = spDispExcel.Invoke0(L&quot;Quit&quot;, &amp;vResult);
    m_spIExcelApp.Release();
    m_spWorkbook.Release();
    spDispExcel.Release();
    CComDispatchDriver::Release;
    //also hier versuche ich wircklich alles aber bringt nix!!!!
  }
}
int ITXls::SaveAs(char sFromfile [256],char sTofile [256],int delsource) {
  const xlNormal = -4143;  //xls
  const xlCSV = 6;  //csv
  const xlXMLSpreadsheet = 46; //xml
  CLSID clsidExcelApplication;
  HRESULT hr = CLSIDFromProgID(L&quot;Excel.Application&quot;, &amp;clsidExcelApplication);
  _ASSERT(SUCCEEDED(hr));
  if (FAILED(hr)) return 1;
  hr = CoCreateInstance(clsidExcelApplication, NULL, CLSCTX_SERVER, 
             IID_IDispatch, (void **) (IDispatch *) &amp;m_spIExcelApp);
  _ASSERT(SUCCEEDED(hr));
  _ASSERT(m_spIExcelApp != NULL);
  if (FAILED(hr) || (m_spIExcelApp == NULL)) return 1;
  CComDispatchDriver spDispExcel(m_spIExcelApp);
  VARIANT vResult;
  {
    DISPID dispidWorkbooks = 0;
    hr = spDispExcel.GetIDOfName(L&quot;Workbooks&quot;, &amp;dispidWorkbooks);
    hr = spDispExcel.GetProperty(dispidWorkbooks, &amp;vResult);
  }
  if (FAILED(hr) || (vResult.pdispVal == NULL)) return 1;
  CComDispatchDriver spWorkbooks(vResult.pdispVal);
  {
    USES_CONVERSION;
    VARIANT vFilename;
    vFilename.vt = VT_BSTR;
    vFilename.bstrVal = SysAllocString(A2CW(sFromfile));
    hr = spWorkbooks.Invoke1(L&quot;Open&quot;, &amp;vFilename, &amp;vResult);
    SysFreeString(vFilename.bstrVal);
  }
  if (FAILED(hr)) return 2;
  {
    hr = spDispExcel.GetPropertyByName(L&quot;ActiveWorkbook&quot;, &amp;vResult);
    if (FAILED(hr)) return 3;
    m_spWorkbook = vResult.pdispVal;
  }
  if (m_spWorkbook == NULL) return 3;
  CComDispatchDriver spDispWorkbook(m_spWorkbook);
  {
    USES_CONVERSION;
    VARIANT vFilename, vFileFormat;
    vFilename.vt = VT_BSTR;
    vFilename.bstrVal = SysAllocString(A2CW(sTofile));
    vFileFormat.vt = VT_I4;
    CString extension;
    extension = sTofile;
    extension = extension.Right(3);
    if (extension == &quot;xls&quot; || extension == &quot;XLS&quot;) vFileFormat.lVal = xlNormal; 
    if (extension == &quot;csv&quot; || extension == &quot;CSV&quot;) vFileFormat.lVal = xlCSV;
    if (extension == &quot;xml&quot; || extension == &quot;XML&quot;) vFileFormat.lVal = xlXMLSpreadsheet;
    hr = spDispWorkbook.Invoke2(L&quot;SaveAs&quot;, &amp;vFilename, &amp;vFileFormat, &amp;vResult);
    SysFreeString(vFilename.bstrVal);
  }
  if (FAILED(hr)) return 2;
  VARIANT vAntwort;
  vAntwort.vt = VT_I4;
  vAntwort.lVal = 1;
  hr = spDispWorkbook.Invoke1(L&quot;Close&quot;, &amp;vAntwort, &amp;vResult);
  if (delsource &gt; 0) {
    BOOL bSuccess = DeleteFile(sFromfile);
    if (!bSuccess) {
      return 2;
    }
  }
  return 0;
}
</code></pre>
<p>Export.def:</p>
<pre><code class="language-cpp">EXPORTS   
    ITExcel_SaveAs    @1
</code></pre>
<p>Die excel exe bleibt immer offen wird nicht geschlossen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
ich kann nicht hergehn und einfach blind alle excel progs killen<br />
aber close/quit funktioniert nicht<br />
und ich habe keine ahnung wie ich die progid oder hwnd von den pointer bekommen kann(ob das überhaupt geht?) dammit ich die exe halt auf die sendmessage art kille</p>
<p>kann mir einer bei den problemm helfen?<br />
(wie gesagt bin ehr neu komme selbst nicht drauf warum es offen bleibt)<br />
entweder mir erklären wie ich auf die progid oder hwnd der instanz komme<br />
oder mir erklären warum der $&amp;#!@ nicht zugeht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/83694/msv6-win32-dll-comobject-excel-quit-close-geht-nicht</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 06:15:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/83694.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Aug 2004 17:01:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MSV6 win32 dll comobject Excel Quit&#x2F;Close geht nicht! on Mon, 23 Aug 2004 17:01:48 GMT]]></title><description><![CDATA[<p>hab nicht genau gewust wohin mit der frage da diese irgendwie in keins der themen past<br />
naja mal guckn <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Also (bin noch ziemlich neu bei c++) habe ne com automation gemacht für Excel<br />
problemm ist das unladen geht nicht die excel.exe bleibt in memory obwohl ich<br />
quit und close funktionen aufrufe und auch die objekte auf null setze!<br />
Header:</p>
<pre><code class="language-cpp">#include &quot;comdef.h&quot;
class ITXls {
	public:
         void Close();
	int SaveAs(char sFromfile [256],char sTofile [256],int delsource);

	private:
	IDispatchPtr m_spIExcelApp;
	IDispatchPtr m_spWorkbook;
};
</code></pre>
<p>Quellcode:</p>
<pre><code class="language-cpp">#include &lt;afx.h&gt;
 #include &quot;ITExcel.h&quot;
 #include &quot;stdafx.h&quot;
 #include &quot;atlbase.h&quot;
 CComModule _Module;
 #include &quot;atlcom.h&quot;
//#import &quot;\\S-itwienstore\SLWS\Office2003\FILES\PFILES\MSOFFICE\OFFICE11\XL5EN32.OLB&quot;

// Funktion ITExcel   
int __stdcall ITExcel_SaveAs(char sFromfile [256],char sTofile [256],int delsource) {
	if (sFromfile == NULL || sTofile == NULL) return 1;
	int retval;
	ITXls ITWork;	
	retval = ITWork.SaveAs(sFromfile,sTofile,delsource);  
	ITWork.Close();
	return retval;
}
void ITXls::Close() {
  if (m_spIExcelApp != NULL) {
    VARIANT vResult;
    CComDispatchDriver spDispExcel(m_spIExcelApp);
    HRESULT hr = spDispExcel.Invoke0(L&quot;Quit&quot;, &amp;vResult);
    m_spIExcelApp.Release();
    m_spWorkbook.Release();
    spDispExcel.Release();
    CComDispatchDriver::Release;
    //also hier versuche ich wircklich alles aber bringt nix!!!!
  }
}
int ITXls::SaveAs(char sFromfile [256],char sTofile [256],int delsource) {
  const xlNormal = -4143;  //xls
  const xlCSV = 6;  //csv
  const xlXMLSpreadsheet = 46; //xml
  CLSID clsidExcelApplication;
  HRESULT hr = CLSIDFromProgID(L&quot;Excel.Application&quot;, &amp;clsidExcelApplication);
  _ASSERT(SUCCEEDED(hr));
  if (FAILED(hr)) return 1;
  hr = CoCreateInstance(clsidExcelApplication, NULL, CLSCTX_SERVER, 
             IID_IDispatch, (void **) (IDispatch *) &amp;m_spIExcelApp);
  _ASSERT(SUCCEEDED(hr));
  _ASSERT(m_spIExcelApp != NULL);
  if (FAILED(hr) || (m_spIExcelApp == NULL)) return 1;
  CComDispatchDriver spDispExcel(m_spIExcelApp);
  VARIANT vResult;
  {
    DISPID dispidWorkbooks = 0;
    hr = spDispExcel.GetIDOfName(L&quot;Workbooks&quot;, &amp;dispidWorkbooks);
    hr = spDispExcel.GetProperty(dispidWorkbooks, &amp;vResult);
  }
  if (FAILED(hr) || (vResult.pdispVal == NULL)) return 1;
  CComDispatchDriver spWorkbooks(vResult.pdispVal);
  {
    USES_CONVERSION;
    VARIANT vFilename;
    vFilename.vt = VT_BSTR;
    vFilename.bstrVal = SysAllocString(A2CW(sFromfile));
    hr = spWorkbooks.Invoke1(L&quot;Open&quot;, &amp;vFilename, &amp;vResult);
    SysFreeString(vFilename.bstrVal);
  }
  if (FAILED(hr)) return 2;
  {
    hr = spDispExcel.GetPropertyByName(L&quot;ActiveWorkbook&quot;, &amp;vResult);
    if (FAILED(hr)) return 3;
    m_spWorkbook = vResult.pdispVal;
  }
  if (m_spWorkbook == NULL) return 3;
  CComDispatchDriver spDispWorkbook(m_spWorkbook);
  {
    USES_CONVERSION;
    VARIANT vFilename, vFileFormat;
    vFilename.vt = VT_BSTR;
    vFilename.bstrVal = SysAllocString(A2CW(sTofile));
    vFileFormat.vt = VT_I4;
    CString extension;
    extension = sTofile;
    extension = extension.Right(3);
    if (extension == &quot;xls&quot; || extension == &quot;XLS&quot;) vFileFormat.lVal = xlNormal; 
    if (extension == &quot;csv&quot; || extension == &quot;CSV&quot;) vFileFormat.lVal = xlCSV;
    if (extension == &quot;xml&quot; || extension == &quot;XML&quot;) vFileFormat.lVal = xlXMLSpreadsheet;
    hr = spDispWorkbook.Invoke2(L&quot;SaveAs&quot;, &amp;vFilename, &amp;vFileFormat, &amp;vResult);
    SysFreeString(vFilename.bstrVal);
  }
  if (FAILED(hr)) return 2;
  VARIANT vAntwort;
  vAntwort.vt = VT_I4;
  vAntwort.lVal = 1;
  hr = spDispWorkbook.Invoke1(L&quot;Close&quot;, &amp;vAntwort, &amp;vResult);
  if (delsource &gt; 0) {
    BOOL bSuccess = DeleteFile(sFromfile);
    if (!bSuccess) {
      return 2;
    }
  }
  return 0;
}
</code></pre>
<p>Export.def:</p>
<pre><code class="language-cpp">EXPORTS   
    ITExcel_SaveAs    @1
</code></pre>
<p>Die excel exe bleibt immer offen wird nicht geschlossen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
ich kann nicht hergehn und einfach blind alle excel progs killen<br />
aber close/quit funktioniert nicht<br />
und ich habe keine ahnung wie ich die progid oder hwnd von den pointer bekommen kann(ob das überhaupt geht?) dammit ich die exe halt auf die sendmessage art kille</p>
<p>kann mir einer bei den problemm helfen?<br />
(wie gesagt bin ehr neu komme selbst nicht drauf warum es offen bleibt)<br />
entweder mir erklären wie ich auf die progid oder hwnd der instanz komme<br />
oder mir erklären warum der $&amp;#!@ nicht zugeht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/589316</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/589316</guid><dc:creator><![CDATA[xSMOKEx]]></dc:creator><pubDate>Mon, 23 Aug 2004 17:01:48 GMT</pubDate></item><item><title><![CDATA[Reply to MSV6 win32 dll comobject Excel Quit&#x2F;Close geht nicht! on Mon, 23 Aug 2004 18:16:05 GMT]]></title><description><![CDATA[<p>Das Gefühl das du neu bist hab ich auch wenn ich den Code sehe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>1.) Wenn du SmartPointer verwendest kannst du dir das Release schenken.<br />
2.) Warum arbeitest du eigentlich mit dem Dispatch-Interface ? Magst du gerne komplizierten Programmcode. &quot;#import...&quot;<br />
3.) Wo und wann rufst du eigentlich CoInitializeEx() und CoUninitialize() auf.<br />
4.) Du exportierst ne Funktion und implementierst ne Klasse <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Wie erzeugst du den eine Instanz deiner Klasse in der Anwendung. Wie werden den die Instanzdaten verwaltet ??</p>
<p>Sorry, aber für mich passt das vorne und hinten nicht zusammen. C++ <strong>und</strong> COM auf einen Schlag zu lernen ist ein ziemlicher Hammer. Ich will dir nichts böses, aber bei der COM-Programmierung hast du als Anfänger mit VB(6) wesentlich bessere Karten.</p>
<p>mfg JJ</p>
]]></description><link>https://www.c-plusplus.net/forum/post/589371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/589371</guid><dc:creator><![CDATA[John Doe]]></dc:creator><pubDate>Mon, 23 Aug 2004 18:16:05 GMT</pubDate></item><item><title><![CDATA[Reply to MSV6 win32 dll comobject Excel Quit&#x2F;Close geht nicht! on Mon, 23 Aug 2004 21:31:52 GMT]]></title><description><![CDATA[<p>..also für solche antworten habe ich eigentlich nicht hier gepostet<br />
dachte hier kommen <strong>helfende</strong> antworten ..</p>
<p>vb kann/will ich nicht nehmen da du die activex dll erst registieren must<br />
warum so kompleziert is einfach<br />
weil ich nicht die includes der ms produkte benutzen will<br />
da von excel zu excel version verschiedene parameter anzahlen sind<br />
zb öffnen 12parms excel97,16parms excel2002,15parms excel2003<br />
auf diese art funktioniert es mit jeder excel version<br />
ich hatte es ursprünglich ohne klasse<br />
hatte aber das gleiche problemm habe dann gelesen das der grund angeblich (dieses problemm haben mehrere in vb sowie c++)<br />
warum die exe nicht ungeladen wird sei weil es nicht in ner klasse is darum hab ichs dann so umgeschrieben geht aber eh auch nicht</p>
<p>so abgesehn von diesen unsinnigen antworten da hat wer von euch eine antwort die mir auch hilft? bei meinen problemm &quot;ernsthaft&quot; !!!!?</p>
<p>und wegen vorne und hinten<br />
na was?<br />
ich rufe ne funktion auf aus nen anderen program (ITExcel_SaveAs mit den parms<br />
nehme die klasse und füre die verarbeitung durch)<br />
..abgesehn davon funktioniert es einwandfrei bis auf das schließen<br />
und genau da wollte ich ne hilfe<br />
und keine kritik &quot;ohh man dein code is aber scheise nimm vb...&quot;<br />
meiner meinung nach war dir einfach fad und du hast dir gedacht boaaa is mir fad schreiben wir mal <strong>irgendwas</strong> oder du hast dir nicht mein problemm angeschaut k/a was von beiden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/589553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/589553</guid><dc:creator><![CDATA[xSMOKEx]]></dc:creator><pubDate>Mon, 23 Aug 2004 21:31:52 GMT</pubDate></item><item><title><![CDATA[Reply to MSV6 win32 dll comobject Excel Quit&#x2F;Close geht nicht! on Mon, 23 Aug 2004 23:16:04 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=1819" rel="nofollow">kingruedi</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=8" rel="nofollow">Rund um die Programmierung</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=1" rel="nofollow">MFC mit dem Visual C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/589599</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/589599</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Mon, 23 Aug 2004 23:16:04 GMT</pubDate></item><item><title><![CDATA[Reply to MSV6 win32 dll comobject Excel Quit&#x2F;Close geht nicht! on Tue, 24 Aug 2004 05:56:55 GMT]]></title><description><![CDATA[<p>1.) Habe ich Bezug auf deine eigene Aussage genommen, das du dich selbst als Anfänger bezeichnest und dir mit VB6, aus diesem Grund, eine durchaus ernstgemeinde Alternative genannt.<br />
2.) Habe ich dir konstruktive Fragen gestellt um dein Problem näher einzukreisen bzw. um deine Vorgehensweise überhaupt zu verstehen.<br />
3.) Wenn du keine Kritik vertragen kannst bist du hier wahrscheinlich verkehrt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/589640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/589640</guid><dc:creator><![CDATA[John Doe]]></dc:creator><pubDate>Tue, 24 Aug 2004 05:56:55 GMT</pubDate></item><item><title><![CDATA[Reply to MSV6 win32 dll comobject Excel Quit&#x2F;Close geht nicht! on Tue, 24 Aug 2004 07:59:24 GMT]]></title><description><![CDATA[<p>ok dann versuch ichs mal so:<br />
ja ich bin neu bei c++<br />
aber mir zu sagen dann nimm vb6 is ja nicht gerade ne glanzleistung?<br />
und das is in meinen augen in nen c++ forum keine gute kritik!<br />
da wäre es besser mir zu helfen das aus der c++ dll was wird? oder?<br />
(abgesehn davon sagte ich schon activex muß man registrieren das will ich nicht! das es einfacher ist weis ich auch)</p>
<p>wegen der coinitialize geschichte:<br />
glaube ich? nicht das ich es brauche wenn ichs so mache (CoCreateInstance)<br />
sonst hätte ich ja schon nen fehler bekommen das es fehlt..</p>
<p>du kannst ja den code mal testen.. wirst sehn alles geht bis auf das schließen<br />
ich habe weiters auch gelesen das wenn (typische MS antwort)<br />
bestimmte aktion von user gemacht wurde (anzahl) die exe auch nicht mehr geschlossen wird (wie viel die anzahl is steht bei ms nicht...aber glaube nicht das es daran liegt da die einzige user interaktion überschreiben sein könnte und das nicht der fall ist)</p>
<p>habe dann versucht die excel anwendung sichtbar zu machen<br />
wenn ich die dll ausführe über zb ein test vb programm oder dataflex<br />
wird beim quit die excel app unsichtbar aber quited auch nicht</p>
<p>wie gesagt klasse hatte ich gemacht weil ich in verschiedenen (waren zwar meist vb foren) das problemm dort auch gesehn habe<br />
und scheinbar war der grund das es noch immer in memory ist nach den ende (das es nicht in ner klasse ist...)<br />
und es &quot;angeblich behoben wird wenn mans in ner klasse macht&quot;</p>
<p>na ja ich glaube das ich irgendwas vergesse/falsch mache beim zerstören der excel app und genau da hätte ich halt gehoft hilft mir wer!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/589734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/589734</guid><dc:creator><![CDATA[xSMOKEx]]></dc:creator><pubDate>Tue, 24 Aug 2004 07:59:24 GMT</pubDate></item><item><title><![CDATA[Reply to MSV6 win32 dll comobject Excel Quit&#x2F;Close geht nicht! on Tue, 24 Aug 2004 08:13:18 GMT]]></title><description><![CDATA[<p>Schau hier: <a href="http://blogs.msdn.com/oldnewthing/archive/2004/06/28/167800.aspx" rel="nofollow">http://blogs.msdn.com/oldnewthing/archive/2004/06/28/167800.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/589742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/589742</guid><dc:creator><![CDATA[vineon]]></dc:creator><pubDate>Tue, 24 Aug 2004 08:13:18 GMT</pubDate></item><item><title><![CDATA[Reply to MSV6 win32 dll comobject Excel Quit&#x2F;Close geht nicht! on Tue, 24 Aug 2004 09:29:36 GMT]]></title><description><![CDATA[<p>hey danke!<br />
sieht ja gut aus (schön zu sehn das es da so viele problemme gibt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> naja *g*<br />
werds so bald wie möglich testen<br />
und posten obs mein problemm behoben hat<br />
nochmal thx <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/589814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/589814</guid><dc:creator><![CDATA[xSMOKEx]]></dc:creator><pubDate>Tue, 24 Aug 2004 09:29:36 GMT</pubDate></item><item><title><![CDATA[Reply to MSV6 win32 dll comobject Excel Quit&#x2F;Close geht nicht! on Wed, 25 Aug 2004 08:37:38 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab mir nicht den ganzen code angeschaut aber als rahmen um das cocreateinstance solltest du sowas in der art nehmen</p>
<p>if (( hr = CoCreateInstance(clsidExcelApplication, NULL, CLSCTX_SERVER, IID_IDispatch, (void **) (IDispatch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title="*)"
      alt="😉"
    /> &amp;m_spIExcelApp);) == S_OK)<br />
{<br />
....</p>
<p>m_spIExcelApp-&gt;Release();<br />
}</p>
<p>markus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/590552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/590552</guid><dc:creator><![CDATA[markus72]]></dc:creator><pubDate>Wed, 25 Aug 2004 08:37:38 GMT</pubDate></item></channel></rss>