<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2923506</guid>
        <pubDate>Wed, 29 Jun 2011 08:08:21 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2923506</link>
        <description><![CDATA[Shad0FF: Тестировал прогу на машине, где есть все необходимые файлы для обновления связей - проблем не возникало, эксель в памяти не остается, макросы работе не мешают. Спасибо всем за помощь в поиске решения.]]></description>
        <author>Shad0FF</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2919514</guid>
        <pubDate>Thu, 23 Jun 2011 05:57:05 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2919514</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=334334&view=findpost&p=2919471'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Shad0FF &#064; <time class="tag-quote__quoted-time" datetime="2011-06-23T04:35:53+00:00">23.06.11, 04:35</time></span><div class='quote '>макросы в файле присутствуют. Это может как-то влиять?</div></div>Естественно. Особенно если выполнять макросы от более поздней версии на более ранней.]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2919471</guid>
        <pubDate>Thu, 23 Jun 2011 04:35:53 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2919471</link>
        <description><![CDATA[Shad0FF: Всем огромнейшее спасибо&#33;&#33;&#33; При использовании кода, кототорый предложил <strong class='tag-b'>popsa</strong> ошибок не возникает. Но еще нужно протестировать работоспособность кода, т.к. заметил что раз было эксель не закрылся, а продолжал висеть в памяти.<br>
<br>
<strong class='tag-b'>volvo877</strong>, все-таки вариант с прямым обращением к графику более удобный. Кстате, да, выполнять <em class='tag-i'>vVarSheets = XL.OlePropertyGet(&quot;Sheets&quot;);</em> на каждой итерации не нужно и не правильно.<br>
<br>
<strong class='tag-b'>trainer</strong>, макросы в файле присутствуют. Это может как-то влиять?]]></description>
        <author>Shad0FF</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918964</guid>
        <pubDate>Wed, 22 Jun 2011 09:03:26 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918964</link>
        <description><![CDATA[trainer: Макросы в файле или в загрузке случаем не присутствуют?]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918902</guid>
        <pubDate>Wed, 22 Jun 2011 07:57:21 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918902</link>
        <description><![CDATA[volvo877: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=334334&view=findpost&p=2918807'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Shad0FF &#064; <time class="tag-quote__quoted-time" datetime="2011-06-22T05:36:49+00:00">22.06.11, 05:36</time></span><div class='quote '>Вчера проверял на 2007м офисе. На той машине все файлы есть, поэтому при открытии документа эксель не требует обновлять связи. Но ошибки все равно появляются. Как 13я так и 1004я.</div></div>Только что проверил у себя на 2002/2003 Офисе (сделал файл, который берет Source Data для чарта из другого XLS-файла) - никаких ошибок не возникает, все открывается, без предупреждений, без ошибок, копирует картинку и заталкивает ее в TImage, закрывается... Не знаю уж что у тебя там за файлы, что они дают сбой...<br>
<br>
Кстати, цикл я бы переделал на постусловие:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp;String vSheetName;</div><div class="code_line">&nbsp;&nbsp; &nbsp;short nSheetIndex = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;vVarSheets = XL.OlePropertyGet(&quot;Sheets&quot;); // На кой ты это делаешь на каждой итерации?</div><div class="code_line">&nbsp;&nbsp; &nbsp;do</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;nSheetIndex++;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;vVarSheet = vVarSheets.OlePropertyGet(&quot;Item&quot;,nSheetIndex);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;vSheetName = vVarSheet.OlePropertyGet(&quot;Name&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;while(vSheetName != edSheet-&#62;Text);</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>volvo877</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918848</guid>
        <pubDate>Wed, 22 Jun 2011 06:27:23 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918848</link>
        <description><![CDATA[popsa: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>P.S. popsa, мне так и не получилось обращаться к листу по имени (код в предыдущем сообщении). При выполнении получаю ошибку.</div></div><br>
я думал, что это будет выглядеть так<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">vVarSheet = vVarBook.OlePropertyGet(&quot;Charts&quot;,&quot;Диаграмма1&quot;);</div></ol></div></div></div></div><br>
<br>
 ;) не получиться, ковыряй дальше]]></description>
        <author>popsa</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918807</guid>
        <pubDate>Wed, 22 Jun 2011 05:36:49 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918807</link>
        <description><![CDATA[Shad0FF: Вчера проверял на 2007м офисе. На той машине все файлы есть, поэтому при открытии документа <strong class='tag-b'>эксель не требует обновлять связи</strong>. Но ошибки все равно появляются. Как 13я так и 1004я. Начал эксперементировать. Вот весь код, который копирует график в буффер обмена и вставляет в моей проге в TImage:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Variant vVarApp, vVarBook, vVarBooks, vVarSheet, vVarSheets, vVarCharts, vChart, vChartArea;</div><div class="code_line">&nbsp;</div><div class="code_line">vVarApp = CreateOleObject(&quot;Excel.Application&quot;);</div><div class="code_line">vVarApp.OlePropertySet(&quot;Visible&quot;,false);</div><div class="code_line">vVarApp.OlePropertySet(&quot;DisplayAlerts&quot;,false);</div><div class="code_line">vVarApp.OlePropertySet(&quot;AskToUpdateLinks&quot;,false);</div><div class="code_line">vVarBooks = vVarApp.OlePropertyGet(&quot;Workbooks&quot;);</div><div class="code_line">vVarBooks.OleProcedure(&quot;Open&quot;,edFile-&#62;Text.c_str());</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">Variant vSheetName;</div><div class="code_line">short nSheetIndex = 0;</div><div class="code_line">while (vSheetName != edSheet-&#62;Text)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;nSheetIndex++;</div><div class="code_line">&nbsp;&nbsp; &nbsp;vVarSheets = vVarApp.OlePropertyGet(&quot;Sheets&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;vVarSheet = vVarSheets.OlePropertyGet(&quot;Item&quot;,nSheetIndex);</div><div class="code_line">&nbsp;&nbsp; &nbsp;vSheetName = vVarSheet.OlePropertyGet(&quot;Name&quot;);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">vVarSheet.OleProcedure(&quot;Select&quot;);</div><div class="code_line">vChartArea = vVarSheet.OlePropertyGet(&quot;ChartArea&quot;);</div><div class="code_line">vChartArea.OleProcedure(&quot;Copy&quot;);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">Clipboard()-&#62;Open();</div><div class="code_line">unsigned int ClipboardHandle = Clipboard()-&#62;GetAsHandle(CF_METAFILEPICT);</div><div class="code_line">if (ClipboardHandle != 0)</div><div class="code_line">imgGraph-&#62;Picture-&#62;LoadFromClipboardFormat(CF_METAFILEPICT, ClipboardHandle, 0);</div><div class="code_line">Clipboard()-&#62;Close();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">vVarApp.OlePropertyGet(&quot;WorkBooks&quot;,1).OleProcedure(&quot;Close&quot;);</div><div class="code_line">vVarApp.OleProcedure(&quot;Quit&quot;);</div><div class="code_line">vVarSheets.Clear();</div><div class="code_line">vVarApp.Clear();</div></ol></div></div></div></div><br>
<br>
Как выяснилось, если из кода убрать последние 4 строки, которые закрывают эксель, то все работает на УРА - ошибок нету, график копируется и отображается в TImage, только вот эксель остается висеть в памяти, но ошибок никаких не возникает. Я так понял, что все дело в том участке кода, где происходит открытие листа с графиком и копирование графика, т.к. код закрытия экселя написан правильно и врядле дело в нем.<br>
<br>
<br>
P.S. popsa, мне так и не получилось обращаться к листу по имени (код в предыдущем сообщении). При выполнении получаю ошибку.]]></description>
        <author>Shad0FF</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918168</guid>
        <pubDate>Tue, 21 Jun 2011 09:52:55 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918168</link>
        <description><![CDATA[Shad0FF: <strong class='tag-b'>popsa</strong>, по идее должно быть вот так правильно:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Variant &nbsp;vVarApp,vVarBooks,vVarBook,vVarSheets,vVarSheet,vVarCells,vVarCell,vChartArea;</div><div class="code_line">vVarApp = CreateOleObject(&quot;Excel.Application&quot;);</div><div class="code_line">vVarApp.OlePropertySet(&quot;Visible&quot;,true);</div><div class="code_line">vVarBooks = vVarApp.OlePropertyGet(&quot;Workbooks&quot;);</div><div class="code_line">vVarBooks.OleProcedure(&quot;Open&quot;,edFile-&#62;Text.c_str());</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">vVarBook = vVarBooks.OlePropertyGet(&quot;Item&quot;,1);</div><div class="code_line">vVarSheet = vVarBook.OlePropertyGet(&quot;Worksheets&quot;,&quot;Диаграмма1&quot;);</div><div class="code_line">vVarSheet.OleProcedure(&quot;Activate&quot;);</div><div class="code_line">&nbsp;</div><div class="code_line">vChartArea = vVarSheet.OlePropertyGet(&quot;ChartArea&quot;);</div></ol></div></div></div></div><br>
Но на последней строчке выдает ошибку &quot;Неизвестное имя&quot;.<br>
<br>
<br>
<br>
<strong class='tag-b'>trainer</strong><br>
<strong class='tag-b'>volvo877</strong><br>
Установил, но все равно при открытии Ошибка 13 (run-time error) и еще после нее ошибка 1004 &quot;Method &#39;cells&#39; of object &#39;_Global&#39; failed. Может ли это быть из-за того, что у меня эксель 2003й (2007го под рукой нету чтоб проверить, вечером смогу посмотреть).]]></description>
        <author>Shad0FF</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918095</guid>
        <pubDate>Tue, 21 Jun 2011 08:56:17 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918095</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=334334&view=findpost&p=2917995'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Shad0FF &#064; <time class="tag-quote__quoted-time" datetime="2011-06-21T07:23:30+00:00">21.06.11, 07:23</time></span><div class='quote '>Но заметил такую закономерность: на простом документе без связей все отрабатывает нормально, но в документе, который имеет связи с другими документами при открытии задается вопрос (игнорируя DisplayAlerts), обновить ли связи.</div></div>Параметр UpdateLinks функции Open коллекции Workbooks установи в VARIANT_FALSE]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918047</guid>
        <pubDate>Tue, 21 Jun 2011 08:21:58 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918047</link>
        <description><![CDATA[volvo877: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=334334&view=findpost&p=2917995'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Shad0FF &#064; <time class="tag-quote__quoted-time" datetime="2011-06-21T07:23:30+00:00">21.06.11, 07:23</time></span><div class='quote '>в документе, который имеет связи с другими документами при открытии задается вопрос (игнорируя DisplayAlerts), обновить ли связи.</div></div>Для того, чтоб он не задавался - есть свойство AskToUpdateLinks (там же, в Application). Сбрось его в False...]]></description>
        <author>volvo877</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918033</guid>
        <pubDate>Tue, 21 Jun 2011 08:11:21 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2918033</link>
        <description><![CDATA[popsa: ;) читал описание <a class='tag-url' href='http://wladm.narod.ru/Borland/excel.html' target='_blank'>здесь</a> ? <br>
судя по <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">vVarSheet=vVarBook.OlePropertyGet(&quot;Worksheets&quot;,&quot;Желтый лист&quot;);</div></ol></div></div></div></div><br>
тоже самое можно сделать и с диаграммой. По второму вопросу ничего сказать не могу :(]]></description>
        <author>popsa</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2917995</guid>
        <pubDate>Tue, 21 Jun 2011 07:23:30 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2917995</link>
        <description><![CDATA[Shad0FF: <strong class='tag-b'>popsa</strong>, отлично. Прогресс есть. Эксель открывается, копируется график и закрывается. Осталось решить два вопроса:<br>
1. Как все-таки копировать график с определенного листа, зная его имя, а не по индексу. Вот так копируется первый график:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">vVarCharts = vVarApp.OlePropertyGet(&quot;Charts&quot;);</div><div class="code_line">vChart = vVarCharts.OlePropertyGet(&quot;Item&quot;,1);</div><div class="code_line">vChartArea = vChart.OlePropertyGet(&quot;ChartArea&quot;);</div><div class="code_line">vChartArea.OleProcedure(&quot;Copy&quot;);</div></ol></div></div></div></div><br>
Нашел один способ - перебирать все листы в цикле, пока не найдется нужный с именем. Но тут есть одна проблема - индексация листов и графиков может не совпадать, т.к. все идет по порядку и на 1м листе графика может небыть. Вот код перебора листов:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Variant vSheetName;</div><div class="code_line">short nSheetIndex = 0;</div><div class="code_line">while (vSheetName != edSheet-&#62;Text)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;nSheetIndex++;</div><div class="code_line">&nbsp;&nbsp; &nbsp;vVarSheets = vVarApp.OlePropertyGet(&quot;Sheets&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;vVarSheet = vVarSheets.OlePropertyGet(&quot;Item&quot;,nSheetIndex);</div><div class="code_line">&nbsp;&nbsp; &nbsp;vSheetName = vVarSheet.OlePropertyGet(&quot;Name&quot;);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">vVarCharts = vVarApp.OlePropertyGet(&quot;Charts&quot;);</div><div class="code_line">vChart = vVarCharts.OlePropertyGet(&quot;Item&quot;,nSheetIndex);</div><div class="code_line">vChartArea = vChart.OlePropertyGet(&quot;ChartArea&quot;);</div><div class="code_line">vChartArea.OleProcedure(&quot;Copy&quot;);</div></ol></div></div></div></div><br>
<br>
2. Столкнулся с одной помехой автоматизации. Т.к. весь процесс должен проходить невидимо для пользователя без вопросов и предупреждений, свойства Visible и DisplayAlerts выставляются в false. Но заметил такую закономерность: на простом документе без связей все отрабатывает нормально, но в документе, который имеет связи с другими документами при открытии задается вопрос (игнорируя DisplayAlerts), обновить ли связи. После закрытия этого диалога сразу же выдается ошибка &quot;Runtime error &#39;13&#39;: Type mismatch&quot;, которая ломает весь процесс автоматизации. Нашел, что Номер ошибки 13 означает &quot;Недопустимые данные&quot;. А вот что именно недопустимое и как ее избежать? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-06-21T08:03:44+00:00">21.06.11, 08:03</time></span></span><br>
Первый вопрос решил. Вот как:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Variant vSheetName;</div><div class="code_line">short nSheetIndex = 0;</div><div class="code_line">while (vSheetName != edSheet-&#62;Text)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;nSheetIndex++;</div><div class="code_line">&nbsp;&nbsp; &nbsp;vVarSheets = vVarApp.OlePropertyGet(&quot;Sheets&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;vVarSheet = vVarSheets.OlePropertyGet(&quot;Item&quot;,nSheetIndex);</div><div class="code_line">&nbsp;&nbsp; &nbsp;vSheetName = vVarSheet.OlePropertyGet(&quot;Name&quot;);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">vVarSheet.OleProcedure(&quot;Select&quot;);</div><div class="code_line">vChartArea = vVarSheet.OlePropertyGet(&quot;ChartArea&quot;);</div><div class="code_line">vChartArea.OleProcedure(&quot;Copy&quot;);</div></ol></div></div></div></div><br>
<br>
Остается вопрос с ошибкой 13 (Run-time error). Интересно, что если открывать этот файл вручную, отвечая на вопрос об обновлении связей, то ошибка не появляется. Значит дело не в файле, а в скрипте.]]></description>
        <author>Shad0FF</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2917602</guid>
        <pubDate>Mon, 20 Jun 2011 13:59:35 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2917602</link>
        <description><![CDATA[popsa: попробуй так :<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Variant vVarCharts = vVarApp.OlePropertyGet(&quot;Charts&quot;); // либо vVarBook - поэксперементируешь</div><div class="code_line">Variant vChart = vVarCharts .OlePropertyGet(&quot;Item&quot;,1);</div></ol></div></div></div></div>]]></description>
        <author>popsa</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2917532</guid>
        <pubDate>Mon, 20 Jun 2011 12:58:05 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2917532</link>
        <description><![CDATA[Shad0FF: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=334334&view=findpost&p=2917524'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>trainer &#064; <time class="tag-quote__quoted-time" datetime="2011-06-20T12:52:34+00:00">20.06.11, 12:52</time></span><div class='quote '>vVarSheets.OlePropertyGet(&quot;Item&quot;,&quot;Диаграмма1&quot;); не работает?<br>
или vVarBook.OlePropertyGet(&quot;Worksheets&quot;,&quot;Диаграмма1&quot;);</div></div><br>
Пробовал. Не работает. Текст ошибки: <br>
&quot;Project raised exception class EOleSysError with message &#39;Неизвестное имя&#39;&quot; или &#39;Ошибка&#39; в 1м варианте.]]></description>
        <author>Shad0FF</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2917524</guid>
        <pubDate>Mon, 20 Jun 2011 12:52:34 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2917524</link>
        <description><![CDATA[trainer: vVarSheets.OlePropertyGet(&quot;Item&quot;,&quot;Диаграмма1&quot;); не работает?<br>или vVarBook.OlePropertyGet(&quot;Worksheets&quot;,&quot;Диаграмма1&quot;);]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2917389</guid>
        <pubDate>Mon, 20 Jun 2011 11:20:34 +0000</pubDate>
        <title>Работа с Excel из C++ Builder&amp;#39;a</title>
        <link>https://forum.sources.ru/index.php?showtopic=334334&amp;view=findpost&amp;p=2917389</link>
        <description><![CDATA[Shad0FF: Задача вроде бы не сложная: вывести в TImage график из Excel. Для этого запускаю Excel через OLE и открываю в нем нужный мне файл с графиками:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Variant vVarApp, vVarBook, vVarBooks, vVarSheet, vVarSheets, charts;</div><div class="code_line">vVarApp &nbsp; = CreateOleObject(&quot;Excel.Application&quot;);</div><div class="code_line">vVarApp.OlePropertySet(&quot;Visible&quot;,true);</div><div class="code_line">vVarBooks = vVarApp.OlePropertyGet(&quot;Workbooks&quot;);</div><div class="code_line">vVarBooks.OleProcedure(&quot;Open&quot;,&quot;C:\test.xls&quot;);</div></ol></div></div></div></div><br>
Далее начинается самое интересное. Непонятно, как обратиться к нужному мне листу по его имени? Например, лист называется ДМ, как его сделать активным? Как я понял, есть код для переключения между листами по индексу:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">vVarBook &nbsp; = vVarBooks.OlePropertyGet(&quot;Item&quot;,1);</div><div class="code_line">vVarSheets = vVarBook.OlePropertyGet(&quot;Worksheets&quot;);</div><div class="code_line">vVarSheet &nbsp;= vVarSheets.OlePropertyGet(&quot;Item&quot;,2);</div><div class="code_line">vVarSheet.OleProcedure(&quot;Activate&quot;);</div></ol></div></div></div></div><br>
Этим кодом я перешел на Лист 2. Но дело в том, что у меня в документе листы идут так:<br>
Диаграмма1 | Лист 1 | Лист 2 | Лист 3<br>
Так вот Лист 1, 2 и 3 мне удалось сделать активными, а как выбрать лист &quot;Диаграмма1&quot; вобще не понятно.]]></description>
        <author>Shad0FF</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      </channel>
      </rss>
	