<?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[Problem beim Exportieren mit Ole in Excel...]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich möchte eine Exceldatei öffnen und aus den Werten ein Diagramm machen. Jetzt habe ich gelesen, dass man jede Funktion von Excel auch mit Ole anwenden kann. Das mit dem Öffnen geht, das Makieren der Spalte auch, nur das mit dem Diagramm aufrufen nicht.</p>
<p>Ich habe erst im Excel ein Makro erstellt und dann im Microsoft Visual Basic geöffnet. Sieht so aus...</p>
<pre><code class="language-cpp">Sub Diagram()
'
' Diagram Makro
' Makro am 06.04.2005 von Magic Man aufgezeichnet
'
' Tastenkombination: Strg+d
'
    Columns(&quot;A:A&quot;).Select
    Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets(&quot;Tabelle1&quot;).Range(&quot;A1:A6&quot;), PlotBy _
        :=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:=&quot;Tabelle1&quot;
    With ActiveChart
        .HasTitle = False
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
End Sub
</code></pre>
<p>... nun habe ich versucht, die Funktionen im BCB zu übernehmen und bin beim Chart erstmal gestrandet. <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="😞"
    /></p>
<p>Sieht so aus...</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button4Click(TObject *Sender)
{
  Variant Excel;
        Excel = Variant::CreateObject(&quot;Excel.Application&quot;);

     Excel.OlePropertyGet(&quot;ActiveWorkBook&quot;);
     // Excel-Datei öffnen
        Excel.OlePropertyGet(&quot;WorkBooks&quot;).OleFunction(&quot;Open&quot;,Path.c_str());

     // Sichbar machen
     Excel.OlePropertySet(&quot;Visible&quot;,1);

  Variant Sheet;
     Sheet=Excel.OlePropertyGet(&quot;ActiveSheet&quot;);
    Sheet.OlePropertyGet(&quot;Columns&quot;,1).OleFunction(&quot;Select&quot;);
    Sheet.OleFunktion(&quot;Charts.Add&quot;);
   /* ;
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets(&quot;Tabelle1&quot;).Range(&quot;A1:A6&quot;), PlotBy _
        :=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:=&quot;Tabelle1&quot;
    With ActiveChart
        .HasTitle = False
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With  */
}
</code></pre>
<p>...kann mir einer helfen? <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="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/106159/problem-beim-exportieren-mit-ole-in-excel</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 05:07:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/106159.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 06 Apr 2005 15:34:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim Exportieren mit Ole in Excel... on Thu, 07 Apr 2005 14:19:35 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich möchte eine Exceldatei öffnen und aus den Werten ein Diagramm machen. Jetzt habe ich gelesen, dass man jede Funktion von Excel auch mit Ole anwenden kann. Das mit dem Öffnen geht, das Makieren der Spalte auch, nur das mit dem Diagramm aufrufen nicht.</p>
<p>Ich habe erst im Excel ein Makro erstellt und dann im Microsoft Visual Basic geöffnet. Sieht so aus...</p>
<pre><code class="language-cpp">Sub Diagram()
'
' Diagram Makro
' Makro am 06.04.2005 von Magic Man aufgezeichnet
'
' Tastenkombination: Strg+d
'
    Columns(&quot;A:A&quot;).Select
    Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets(&quot;Tabelle1&quot;).Range(&quot;A1:A6&quot;), PlotBy _
        :=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:=&quot;Tabelle1&quot;
    With ActiveChart
        .HasTitle = False
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
End Sub
</code></pre>
<p>... nun habe ich versucht, die Funktionen im BCB zu übernehmen und bin beim Chart erstmal gestrandet. <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="😞"
    /></p>
<p>Sieht so aus...</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button4Click(TObject *Sender)
{
  Variant Excel;
        Excel = Variant::CreateObject(&quot;Excel.Application&quot;);

     Excel.OlePropertyGet(&quot;ActiveWorkBook&quot;);
     // Excel-Datei öffnen
        Excel.OlePropertyGet(&quot;WorkBooks&quot;).OleFunction(&quot;Open&quot;,Path.c_str());

     // Sichbar machen
     Excel.OlePropertySet(&quot;Visible&quot;,1);

  Variant Sheet;
     Sheet=Excel.OlePropertyGet(&quot;ActiveSheet&quot;);
    Sheet.OlePropertyGet(&quot;Columns&quot;,1).OleFunction(&quot;Select&quot;);
    Sheet.OleFunktion(&quot;Charts.Add&quot;);
   /* ;
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets(&quot;Tabelle1&quot;).Range(&quot;A1:A6&quot;), PlotBy _
        :=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:=&quot;Tabelle1&quot;
    With ActiveChart
        .HasTitle = False
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With  */
}
</code></pre>
<p>...kann mir einer helfen? <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="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/761223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/761223</guid><dc:creator><![CDATA[Magic Man]]></dc:creator><pubDate>Thu, 07 Apr 2005 14:19:35 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Exportieren mit Ole in Excel... on Wed, 06 Apr 2005 18:32:13 GMT]]></title><description><![CDATA[<p>Ich habe folgenden Teilerfolg:</p>
<p>Ich kann ein Diagramm öffnen habe aber Probleme mit dem übergeben von Werten.</p>
<pre><code class="language-cpp">Variant Sheet;
     Sheet=Excel.OlePropertyGet(&quot;ActiveSheet&quot;);
    Sheet.OlePropertyGet(&quot;Columns&quot;,1).OleFunction(&quot;Select&quot;);

  Variant Chart;
        Chart= Variant::CreateObject(&quot;Excel.Chart&quot;);
        Chart.OlePropertyGet(&quot;ActiveChart&quot;).OleFunction(&quot;SetSourceData Source:=Sheets(Tabelle1).Range(A1:A6)&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/761388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/761388</guid><dc:creator><![CDATA[Magic Man]]></dc:creator><pubDate>Wed, 06 Apr 2005 18:32:13 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Exportieren mit Ole in Excel... on Thu, 07 Apr 2005 14:20:58 GMT]]></title><description><![CDATA[<p>Kann mir den keiner Helfen?????<br />
<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="😞"
    /> <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="😞"
    /> <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="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/762066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/762066</guid><dc:creator><![CDATA[Magic Man]]></dc:creator><pubDate>Thu, 07 Apr 2005 14:20:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Exportieren mit Ole in Excel... on Sat, 07 May 2005 05:42:58 GMT]]></title><description><![CDATA[<p>Ist zwar etwas spät, aber da ich das selber mal gesucht und nicht gefunden hab, schreib ich es mal trotzdem noch rein.<br />
Alle Variablen die mit &quot;v&quot; anfangen sind vom Typ Variant und sind teilweise in der .h definiert.<br />
Alle Werte aus dem VB-Code müssen allgemein daraufhin überprüft werden, ob sie Equals sind, z.B. Punktdiagramm == -4169. Die Originalwerte erhält man im VB über rechte Maus-&gt;Objektkatalog.</p>
<p>//Diagramm einfügen<br />
vWorkBooks = vExcel.OlePropertyGet( &quot;Charts&quot; );<br />
vWorkBooks.OleFunction(&quot;Add&quot;);<br />
vDiagramm = vExcel.OlePropertyGet(&quot;ActiveChart&quot;);<br />
vDiagramm.OlePropertySet(&quot;Name&quot;,&quot;Diagramm_BGL&quot;);<br />
vDiagramm.OlePropertySet(&quot;ChartType&quot;,-4169);//<br />
//Daten hinzufügen</p>
<p><a href="//ActiveChart.SeriesCollection.NewSeries">//ActiveChart.SeriesCollection.NewSeries</a><br />
series = vDiagramm.OlePropertyGet(&quot;SeriesCollection&quot;);<br />
series.OleProcedure(&quot;NewSeries&quot;);<br />
<a href="//1.Reihe">//1.Reihe</a>(X-Werte:A1 bis A10; Y-Werte: B1 bis B10)<br />
vDiagramm.OlePropertyGet(&quot;SeriesCollection&quot;,1).OlePropertySet(&quot;Xvalues&quot;,vWorkSheet.OlePropertyGet(&quot;Range&quot;,<br />
vWorkSheet.OlePropertyGet(&quot;Cells&quot;,1,1),vWorkSheet.OlePropertyGet(&quot;Cells&quot;,10,1)));<br />
vDiagramm.OlePropertyGet(&quot;SeriesCollection&quot;,1).OlePropertySet(&quot;Values&quot;,vWorkSheet.OlePropertyGet(&quot;Range&quot;,<br />
vWorkSheet.OlePropertyGet(&quot;Cells&quot;,1,2),vWorkSheet.OlePropertyGet(&quot;Cells&quot;,10,2)));</p>
<p>//Reihe formatieren<br />
Variant Reihe1 = vDiagramm.OlePropertyGet(&quot;SeriesCollection&quot;,1) ;<br />
Reihe1.OlePropertySet(&quot;MarkerBackgroundColorIndex&quot;,3);<br />
Reihe1.OlePropertySet(&quot;MarkerForegroundColorIndex&quot;,3);<br />
Reihe1.OlePropertySet(&quot;MarkerStyle&quot;,8);<br />
Reihe1.OlePropertySet(&quot;Name&quot;,&quot;CH_0&quot;);</p>
<p>//Diagramm gestalten<br />
//Diagramm-Allgemein</p>
<p>//Diagrammtitel<br />
vDiagramm.OlePropertySet(&quot;HasTitle&quot;,(Variant)true);<br />
vDiagramm.OlePropertyGet(&quot;ChartTitle&quot;).OlePropertySet(&quot;Text&quot;,&quot;Titel des Diagramms&quot;);<br />
vDiagramm.OlePropertySet(&quot;HasLegend&quot;,(Variant)true);<br />
Variant Legende = vDiagramm.OlePropertyGet(&quot;Legend&quot;);<br />
Legende.OlePropertySet(&quot;Position&quot;,-4107); //Legende unten<br />
Legende.OlePropertySet(&quot;Left&quot;,100); //Legenden abstand von links<br />
Legende.OlePropertySet(&quot;Width&quot;,550); //Legendenbreite<br />
Legende.OlePropertySet(&quot;AutoScaleFont&quot;,(Variant)false);<br />
Variant Legende_schrift = Legende.OlePropertyGet(&quot;Font&quot;);<br />
Legende_schrift.OlePropertySet(&quot;Name&quot;, &quot;Arial&quot;);<br />
Legende_schrift.OlePropertySet(&quot;FontStyle&quot;,&quot;Fett&quot;);<br />
Legende_schrift.OlePropertySet(&quot;Size&quot;,&quot;10&quot;);</p>
<p>//X-Achse<br />
axes1=vDiagramm.OlePropertyGet(&quot;Axes&quot;,1);<br />
axes1.OlePropertySet(&quot;MinimumScale&quot;,-100);<br />
axes1.OlePropertySet(&quot;MaximumScale&quot;,100);<br />
axes1.OlePropertySet(&quot;MinorUnit&quot;,5);<br />
axes1.OlePropertySet(&quot;MajorUnit&quot;,25);<br />
axes1.OlePropertySet(&quot;CrossesAt&quot;,0);<br />
axes1.OlePropertySet(&quot;HasTitle&quot;,(Variant)true);<br />
axes1.OlePropertyGet(&quot;AxisTitle&quot;).OlePropertySet(&quot;Text&quot;,&quot;X-Achsenbeschriftung&quot;);<br />
//Hauptgitternetz<br />
axes1.OlePropertySet(&quot;HasMajorGridlines&quot;,(Variant)true);<br />
Variant Hauptgitternetz_x = axes1.OlePropertyGet(&quot;MajorGridlines&quot;).OlePropertyGet(&quot;Border&quot;);<br />
Hauptgitternetz_x.OlePropertySet(&quot;ColorIndex&quot;,48);<br />
Hauptgitternetz_x.OlePropertySet(&quot;Weight&quot;,1);<br />
//Nebengitternetz<br />
axes1.OlePropertySet(&quot;HasMinorGridlines&quot;,(Variant)true);<br />
Variant Nebengitternetz_x = axes1.OlePropertyGet(&quot;MinorGridlines&quot;).OlePropertyGet(&quot;Border&quot;);<br />
Nebengitternetz_x.OlePropertySet(&quot;ColorIndex&quot;,48);<br />
Nebengitternetz_x.OlePropertySet(&quot;Weight&quot;,1);<br />
Nebengitternetz_x.OlePropertySet(&quot;LineStyle&quot;,-4118);<br />
//Achsentitel<br />
Variant Titel_x = axes1.OlePropertyGet(&quot;AxisTitle&quot;);<br />
Variant Titel_x_schrift = Titel_x.OlePropertyGet(&quot;Font&quot;);<br />
Titel_x.OlePropertySet(&quot;AutoScaleFont&quot;,(Variant)false);<br />
Titel_x_schrift.OlePropertySet(&quot;Name&quot;, &quot;Arial&quot;);<br />
Titel_x_schrift.OlePropertySet(&quot;FontStyle&quot;,&quot;Fett&quot;);<br />
Titel_x_schrift.OlePropertySet(&quot;Size&quot;,&quot;10&quot;);<br />
//Achse<br />
Variant Achse_x = axes1.OlePropertyGet(&quot;TickLabels&quot;);<br />
Achse_x.OlePropertySet(&quot;AutoScaleFont&quot;,(Variant)false);<br />
Achse_x.OlePropertySet(&quot;NumberFormat&quot;,&quot;0&quot;);</p>
<p>Variant Achse_x_schrift = Achse_x.OlePropertyGet(&quot;Font&quot;);<br />
Achse_x_schrift.OlePropertySet(&quot;Name&quot;, &quot;Arial&quot;);<br />
Achse_x_schrift.OlePropertySet(&quot;FontStyle&quot;,&quot;Fett&quot;);<br />
Achse_x_schrift.OlePropertySet(&quot;Size&quot;,&quot;10&quot;);</p>
<p>//Y-Achse<br />
axes2=vDiagramm.OlePropertyGet(&quot;Axes&quot;,2); //xlCategory!!!!!!<br />
axes2.OlePropertySet(&quot;MinimumScale&quot;,-100);<br />
axes2.OlePropertySet(&quot;MaximumScale&quot;,100);<br />
axes2.OlePropertySet(&quot;MinorUnit&quot;,5);<br />
axes2.OlePropertySet(&quot;MajorUnit&quot;,25);<br />
axes2.OlePropertySet(&quot;CrossesAt&quot;,0);<br />
axes2.OlePropertySet(&quot;HasTitle&quot;,(Variant)true);<br />
axes2.OlePropertyGet(&quot;AxisTitle&quot;).OlePropertySet(&quot;Text&quot;,&quot;Y-Achsenbeschriftung&quot;);<br />
//Hauptgitternetz<br />
axes2.OlePropertySet(&quot;HasMajorGridlines&quot;,(Variant)true);<br />
Variant Hauptgitternetz_y = axes2.OlePropertyGet(&quot;MajorGridlines&quot;).OlePropertyGet(&quot;Border&quot;);<br />
Hauptgitternetz_y.OlePropertySet(&quot;ColorIndex&quot;,48);<br />
Hauptgitternetz_y.OlePropertySet(&quot;Weight&quot;,1);<br />
//Nebengitternetz<br />
axes2.OlePropertySet(&quot;HasMinorGridlines&quot;,(Variant)true);<br />
Variant Nebengitternetz_y = axes2.OlePropertyGet(&quot;MinorGridlines&quot;).OlePropertyGet(&quot;Border&quot;);<br />
Nebengitternetz_y.OlePropertySet(&quot;ColorIndex&quot;,48);<br />
Nebengitternetz_y.OlePropertySet(&quot;Weight&quot;,1);<br />
Nebengitternetz_y.OlePropertySet(&quot;LineStyle&quot;,-4118);<br />
//Achsentitel<br />
Variant Titel_y = axes2.OlePropertyGet(&quot;AxisTitle&quot;);<br />
Variant Titel_y_schrift = Titel_y.OlePropertyGet(&quot;Font&quot;);<br />
Titel_y.OlePropertySet(&quot;AutoScaleFont&quot;,(Variant)false);<br />
Titel_y_schrift.OlePropertySet(&quot;Name&quot;, &quot;Arial&quot;);<br />
Titel_y_schrift.OlePropertySet(&quot;FontStyle&quot;,&quot;Fett&quot;);<br />
Titel_y_schrift.OlePropertySet(&quot;Size&quot;,&quot;10&quot;);<br />
//Achse<br />
Variant Achse_y = axes2.OlePropertyGet(&quot;TickLabels&quot;);<br />
Achse_y.OlePropertySet(&quot;AutoScaleFont&quot;,(Variant)false);<br />
Achse_y.OlePropertySet(&quot;NumberFormat&quot;,&quot;0&quot;);</p>
<p>Variant Achse_y_schrift = Achse_y.OlePropertyGet(&quot;Font&quot;);<br />
Achse_y_schrift.OlePropertySet(&quot;Name&quot;, &quot;Arial&quot;);<br />
Achse_y_schrift.OlePropertySet(&quot;FontStyle&quot;,&quot;Fett&quot;);<br />
Achse_y_schrift.OlePropertySet(&quot;Size&quot;,&quot;10&quot;);</p>
<p>Viel Spaß damit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/783238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/783238</guid><dc:creator><![CDATA[Andreas1333]]></dc:creator><pubDate>Sat, 07 May 2005 05:42:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Exportieren mit Ole in Excel... on Sat, 07 May 2005 06:57:13 GMT]]></title><description><![CDATA[<p>Danke für die sehr ausfürliche Antwort!!!!<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <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="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Währ garantiert auch was für's FAQ</p>
]]></description><link>https://www.c-plusplus.net/forum/post/783245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/783245</guid><dc:creator><![CDATA[Magic Man]]></dc:creator><pubDate>Sat, 07 May 2005 06:57:13 GMT</pubDate></item></channel></rss>