<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VB*: Формирование колонтитулов в книге Excel(номера страниц).]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=5938&amp;type=atom" />
	<updated>2011-06-29T12:51:01Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=5938</id>
		<entry>
			<title type="html"><![CDATA[Re: VB*: Формирование колонтитулов в книге Excel(номера страниц).]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=49531#p49531" />
			<content type="html"><![CDATA[<p>Учитывая что как раз в офисе(в VBA) нормально работает с одними английскими кодами, эта информация более актуальна для VBS(VB.NET etc) <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Например здесь <a href="http://forum.script-coding.com/viewtopic.php?id=5805">WSH: преобразуем макрос VBA в скрипт VBScript @ JSman</a> или здесь <a href="http://forum.script-coding.com/viewtopic.php?id=5675">WSH: преобразуем макрос VBA в скрипт VBScript @ alexii</a>. Да и объединить бы информацию из этих одноимённых тем в одну(в коллекцию) было бы полезно.</p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2011-06-29T12:51:01Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=49531#p49531</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VB*: Формирование колонтитулов в книге Excel(номера страниц).]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=49530#p49530" />
			<content type="html"><![CDATA[<p>Отлично, спасибо. Перемещаю тему в раздел по VBA.</p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2011-06-29T12:26:05Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=49530#p49530</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VB*: Формирование колонтитулов в книге Excel(номера страниц).]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=49517#p49517" />
			<content type="html"><![CDATA[<p>Суть проблемы в том, что русский офис(2003) несмотря на то что генерирует в макрос коды для страницы и кол-ва страниц в колонтитула на английском, при добавлении этих кодов из VB.NET(судя по найденным тамам проблема общая и для других языков, на SQL.RU вообще делфи обсуждали <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />) колонтитулы не отображаются верно. А ведь запись макроса с последующей адоптацией в скрипт для многих основной метод получения знаний(по крайней мере для меня он первый, а уже потом хэлп, MSDN, яндекс).<br />Например записываем макрос с добавлением &quot;Страница X из Y&quot;. После удаления всего лишнего остаётся:<br /></p><div class="codebox"><pre><code>
Sub Макрос1()
    With ActiveSheet.PageSetup
        .CenterFooter = &quot;Страница &amp;P из &amp;N&quot;
    End With
End Sub</code></pre></div><p>Что примечательно, в конструкторе колонтитула это выглядит иначе: &quot;Страница &amp;[Страница] из &amp;[Страниц]&quot;<br />В VB.NET кусок выглядит аналогично(я использовал для работы с экселем сборку Microsoft.Office.Interop.Excel). Из офиса макрос работает нормально, а вот при создании книги из VB.NET вместо &quot;Страница 1 из 371&quot; получается &quot;Страница&nbsp; &nbsp;из&nbsp; &quot; хотя если зайти в создание колонтитула видим законные(согласно записанному макросу) &quot;Страница &amp;P из &amp;N&quot; <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>Как выяснилось при прочтении статьи, локализованный офис не всегда принимает нелокализованные коды(формула в ячейке, кстати, тоже чувствительна к локализации - если попробовать в русском офисе использовать английскую функцию для суммы, например, можно в этом убедиться).<br />Так как приложение возможно будет запускаться не только с 2003-м и не только с руссифицированным, то вариант подставлять локализованные коды не подходит. Так вот в статье и предлагается указывать и английские коды и локализованные. В этом случае эксель игнорирует(и не отображает) те что не знает и отрабатывает знакомые:<br />Приводить всю процедуры смысла нет - проблема с конкретным свойством.<br /></p><div class="codebox"><pre><code>
With oExcel.ActiveSheet.PageSetup
  .CenterFooter = &quot;Страница &amp;С&amp;P из &amp;К&amp;N&quot;
End With</code></pre></div><p><strong>&amp;С</strong> и <strong>&amp;К</strong> - буквы русские!</p><p>В конструкторе теперь получается &quot;Страница &amp;[Страница]&amp;P из &amp;[Страниц]&amp;N&quot;<br />На выходе при печати - &quot;Страница 1 из 371&quot;</p><p>P.S. Не знаю насколько тянет на коллекцию, хотя несколько ценных часов на поиск этого решения я потратил, так что лишним не будет(как часть Вашей темы &quot;WSH: преобразуем макрос VBA в скрипт VBScript&quot; <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />).</p><p>_____________________<br />Источник решения - <a href="http://www.sql.ru/forum/actualthread.aspx?tid=241037">SQL.RU&gt; Delphi&gt; Нумерация страниц в Excel</a></p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2011-06-29T08:09:42Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=49517#p49517</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VB*: Формирование колонтитулов в книге Excel(номера страниц).]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=49498#p49498" />
			<content type="html"><![CDATA[<p><strong>BeS Yara</strong>, если не затруднит, напишите суть проблемы с примером кода, а также решение с комментарием. И тогда можно будет пополнить замечательную Коллекцию :-)</p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2011-06-28T19:10:11Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=49498#p49498</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VB*: Формирование колонтитулов в книге Excel(номера страниц).]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=49387#p49387" />
			<content type="html"><![CDATA[<p>Столкнулся с маленькой проблемой при генерации рабочей книги из VB.NET - колонтитулы(&quot;Страница &amp;P из &amp;N&quot;) прописанные как в сгенерированнм макросе не отрабатывались(выводилось &quot;Страница&nbsp; из &quot;). Оказалось проблема известна и связана с особенностями локализации различных версий офиса.<br /><a href="http://eludia.ru/wiki/index.php/Печать_офисных_документов#.D0.9A.D0.BE.D0.BB.D0.BE.D0.BD.D1.82.D0.B8.D1.82.D1.83.D0.BB.D1.8B">Печать офисных документов:Колонтитулы</a>.<br />Суть решения в том чтобы прописать варианты и для русского кода и для английского:<br /></p><div class="codebox"><pre><code>
.CenterFooter = &quot;Страница &amp;С&amp;P из &amp;К&amp;N&quot;</code></pre></div><p>Неправильные с точки зрения конкретной версии офиса коды игнорируются и на выходе получаем &quot;Страница 1 из 351&quot;.</p><p>P.S. В целом весьма любопытная статья по генерации html-документа для открытия в офисе - может кому-нибудь окажется полезна. <img src="//forum.script-coding.com/img/smilies/roll.png" width="15" height="15" /><br />P.P.S. Отдельная анонимная благодарность пользователям SQL.RU, в чьём обсуждении я наткнулся на эту замечательную ссылку <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2011-06-24T07:27:53Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=49387#p49387</id>
		</entry>
</feed>
