<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki2.linuxformat.ru/skins/common/feed.css?97"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>LXF81:OOo Basic - История изменений</title>
		<link>http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;action=history</link>
		<description>История изменений этой страницы в вики</description>
		<language>ru</language>
		<generator>MediaWiki 1.11.1</generator>
		<lastBuildDate>Wed, 13 May 2026 22:24:12 GMT</lastBuildDate>
		<item>
			<title>Lockal: восстановление кавычек в коде  AWB</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;diff=4471&amp;oldid=prev</link>
			<description>&lt;p&gt;восстановление кавычек в коде  &lt;a href=&quot;/index.php?title=Linuxformat:AutoWikiBrowser&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Linuxformat:AutoWikiBrowser&quot;&gt;AWB&lt;/a&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 13:42, 27 апреля 2008&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 213:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 213:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Модифицируйте Main следующим образом:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Модифицируйте Main следующим образом:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; usingOOoFunctions(&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“STDEV”&lt;/del&gt;,&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;”Sheet1”&lt;/del&gt;, 1, 1, array(45,67,89,34))&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; usingOOoFunctions(&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;STDEV&amp;quot;&lt;/ins&gt;,&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;Sheet1&amp;quot;&lt;/ins&gt;, 1, 1, array(45,67,89,34))&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Возникает серьезный вопрос: как обрабатывать неверные операции&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Возникает серьезный вопрос: как обрабатывать неверные операции&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 368:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 368:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;function buildCommand (ipCommand as string) as string&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;function buildCommand (ipCommand as string) as string&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; buildCommand = &amp;quot;rm -f &amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot;;&amp;quot; _&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; buildCommand = &amp;quot;rm -f &amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot;;&amp;quot; _&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; ipCommand &amp;amp; &amp;quot; | sed s/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;’&lt;/del&gt;\&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;t’&lt;/del&gt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;’ ‘&lt;/del&gt;/g &amp;gt;&amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot;;&amp;quot; _&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; ipCommand &amp;amp; &amp;quot; | sed s/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;'&lt;/ins&gt;\&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;t'&lt;/ins&gt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;' '&lt;/ins&gt;/g &amp;gt;&amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot;;&amp;quot; _&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; &amp;quot;while [ &amp;quot;&amp;quot;$(grep &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;‘ ‘ &lt;/del&gt;&amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot;)&amp;quot;&amp;quot; != &amp;quot;&amp;quot;&amp;quot;&amp;quot; ];&amp;quot; _&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; &amp;quot;while [ &amp;quot;&amp;quot;$(grep &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;' ' &lt;/ins&gt;&amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot;)&amp;quot;&amp;quot; != &amp;quot;&amp;quot;&amp;quot;&amp;quot; ];&amp;quot; _&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; &amp;quot;do cat &amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot; | sed s/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;’ ‘&lt;/del&gt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;’ ‘&lt;/del&gt;/g &amp;gt; &amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot;1;&amp;quot; _&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; &amp;quot;do cat &amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot; | sed s/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;' '&lt;/ins&gt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;' '&lt;/ins&gt;/g &amp;gt; &amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot;1;&amp;quot; _&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; &amp;quot;mv &amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot;1 &amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot;;&amp;quot; &amp;amp; &amp;quot;done&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; &amp;quot;mv &amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot;1 &amp;quot; &amp;amp; tmpFile &amp;amp; &amp;quot;;&amp;quot; &amp;amp; &amp;quot;done&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;end function&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;end function&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 409:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 409:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Img_81_71_1&lt;/del&gt;.png|thumb|300px|Чтобы просмотреть команду, выполняемую оболочкой, используйте msgbox.]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Img 81 71 1&lt;/ins&gt;.png|thumb|300px|Чтобы просмотреть команду, выполняемую оболочкой, используйте msgbox.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Большая часть кода вполне понятна, но несколько мест выглядят&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Большая часть кода вполне понятна, но несколько мест выглядят&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;слегка пугающе. Например, что означают &amp;amp; и зачем они нужны? С&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;слегка пугающе. Например, что означают &amp;amp; и зачем они нужны? С&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 27 Apr 2008 13:42:59 GMT</pubDate>			<dc:creator>Lockal</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF81:OOo_Basic</comments>		</item>
		<item>
			<title>Yaleks в 13:15, 19 марта 2008</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;diff=2766&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;amp;diff=2766&amp;amp;oldid=2552&quot;&gt;(Различия между версиями)&lt;/a&gt;</description>
			<pubDate>Wed, 19 Mar 2008 13:15:00 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF81:OOo_Basic</comments>		</item>
		<item>
			<title>Yaleks: «LXF81:OOo» переименована в «LXF81:OOo Basic»: унификация</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;diff=2552&amp;oldid=prev</link>
			<description>&lt;p&gt;«&lt;a href=&quot;/index.php/LXF81:OOo&quot; title=&quot;LXF81:OOo&quot;&gt;LXF81:OOo»&lt;/a&gt; переименована в «&lt;a href=&quot;/index.php/LXF81:OOo_Basic&quot; title=&quot;LXF81:OOo Basic&quot;&gt;LXF81:OOo Basic»&lt;/a&gt;: унификация&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 19:31, 17 марта 2008&lt;/td&gt;
			&lt;/tr&gt;
		&lt;/table&gt;</description>
			<pubDate>Mon, 17 Mar 2008 19:31:42 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF81:OOo_Basic</comments>		</item>
		<item>
			<title>Yaleks: /* Слушай мою команду… */</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;diff=1991&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Слушай мою команду…&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 08:59, 15 марта 2008&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 356:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 356:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Выполняем:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Выполняем:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;oobas&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;const tmpFile as string = &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“&lt;/del&gt;/tmp/myfile.&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;tmp”&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;const tmpFile as string = &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;&lt;/ins&gt;/tmp/myfile.&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;tmp&amp;quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;const bshFile as string = &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“&lt;/del&gt;/tmp/runme.&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;bsh”&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;const bshFile as string = &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;&lt;/ins&gt;/tmp/runme.&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;bsh&amp;quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;sub main&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;sub main&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; theFullWorks&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; theFullWorks&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;end sub&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;end sub&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;function buildCommand (ipCommand as string) as string&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;function buildCommand (ipCommand as string) as string&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; buildCommand = &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“rm &lt;/del&gt;-f &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“ &lt;/del&gt;&amp;amp; tmpFile &amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“&lt;/del&gt;;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;” &lt;/del&gt;_&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; buildCommand = &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;rm &lt;/ins&gt;-f &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; &lt;/ins&gt;&amp;amp; tmpFile &amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;&lt;/ins&gt;;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; &lt;/ins&gt;_&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; ipCommand &amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“ &lt;/del&gt;| sed s/’\t’/’ ‘/g &amp;gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;” &lt;/del&gt;&amp;amp; tmpFile &amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“&lt;/del&gt;;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;” &lt;/del&gt;_&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; ipCommand &amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; &lt;/ins&gt;| sed s/’\t’/’ ‘/g &amp;gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; &lt;/ins&gt;&amp;amp; tmpFile &amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;&lt;/ins&gt;;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; &lt;/ins&gt;_&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“while &lt;/del&gt;[ &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“”&lt;/del&gt;$(grep ‘ ‘ &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“ &lt;/del&gt;&amp;amp; tmpFile &amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“&lt;/del&gt;)&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;”” &lt;/del&gt;!= &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“””” &lt;/del&gt;];&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;” &lt;/del&gt;_&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;while &lt;/ins&gt;[ &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;&amp;quot;&lt;/ins&gt;$(grep ‘ ‘ &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; &lt;/ins&gt;&amp;amp; tmpFile &amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;&lt;/ins&gt;)&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;&amp;quot; &lt;/ins&gt;!= &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;&amp;quot;&amp;quot;&amp;quot; &lt;/ins&gt;];&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; &lt;/ins&gt;_&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“do &lt;/del&gt;cat &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“ &lt;/del&gt;&amp;amp; tmpFile &amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“ &lt;/del&gt;| sed s/’ ‘/’ ‘/g &amp;gt; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“ &lt;/del&gt;&amp;amp; tmpFile &amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“1&lt;/del&gt;;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;” &lt;/del&gt;_&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;do &lt;/ins&gt;cat &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; &lt;/ins&gt;&amp;amp; tmpFile &amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; &lt;/ins&gt;| sed s/’ ‘/’ ‘/g &amp;gt; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; &lt;/ins&gt;&amp;amp; tmpFile &amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;1&lt;/ins&gt;;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; &lt;/ins&gt;_&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“mv “ &lt;/del&gt;&amp;amp; tmpFile &amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“1 “ &lt;/del&gt;&amp;amp; tmpFile &amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“&lt;/del&gt;;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;” &lt;/del&gt;&amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“done”&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; &amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;mv &amp;quot; &lt;/ins&gt;&amp;amp; tmpFile &amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;1 &amp;quot; &lt;/ins&gt;&amp;amp; tmpFile &amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;&lt;/ins&gt;;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; &lt;/ins&gt;&amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;done&amp;quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;end function&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;end function&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;sub theFullWorks&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;sub theFullWorks&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; dim command as string&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; dim command as string&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; loadNewFile&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; loadNewFile&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; changeSheetNames (array(&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“Disk &lt;/del&gt;Space &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Usage”&lt;/del&gt;,&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;”File Usage”&lt;/del&gt;))&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; changeSheetNames (array(&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;Disk &lt;/ins&gt;Space &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Usage&amp;quot;&lt;/ins&gt;,&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;File Usage&amp;quot;&lt;/ins&gt;))&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; command = buildCommand(&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“df&lt;/del&gt;|grep -v &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Filesystem”&lt;/del&gt;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; command = buildCommand(&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;df&lt;/ins&gt;|grep -v &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Filesystem&amp;quot;&lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; reportSheet(command,&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;”Disk &lt;/del&gt;Space &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Usage”&lt;/del&gt;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; reportSheet(command,&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;Disk &lt;/ins&gt;Space &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Usage&amp;quot;&lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; command = buildCommand(&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“du &lt;/del&gt;/| sort -&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;nr”&lt;/del&gt;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; command = buildCommand(&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;du &lt;/ins&gt;/| sort -&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;nr&amp;quot;&lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; reportSheet(command,&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;”File Usage”&lt;/del&gt;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; reportSheet(command,&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;File Usage&amp;quot;&lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;end sub&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;end sub&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;sub reportSheet (command as string, sheetName as string)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;sub reportSheet (command as string, sheetName as string)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 386:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 386:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; print #oNumber,command&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; print #oNumber,command&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; close #oNumber&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; close #oNumber&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; shell(&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“bash &lt;/del&gt;-c &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“”” &lt;/del&gt;&amp;amp; bshFile &amp;amp; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;“”””&lt;/del&gt;,,,true)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; shell(&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;bash &lt;/ins&gt;-c &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;&amp;quot;&amp;quot; &lt;/ins&gt;&amp;amp; bshFile &amp;amp; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;&amp;quot;&amp;quot;&amp;quot;&lt;/ins&gt;,,,true)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; i = 1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; i = 1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; sheet=thisComponent.sheets.getByName(sheetName)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; sheet=thisComponent.sheets.getByName(sheetName)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 15 Mar 2008 08:59:38 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF81:OOo_Basic</comments>		</item>
		<item>
			<title>Yaleks в 15:21, 11 марта 2008</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;diff=1171&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;amp;diff=1171&amp;amp;oldid=948&quot;&gt;(Различия между версиями)&lt;/a&gt;</description>
			<pubDate>Tue, 11 Mar 2008 15:21:54 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF81:OOo_Basic</comments>		</item>
		<item>
			<title>Yaleks: /* Слушай мою команду… */</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;diff=948&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Слушай мою команду…&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 07:16, 11 марта 2008&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 368:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 368:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; end sub&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; end sub&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:Img_81_71_1.png|thumb|300px|Чтобы просмотреть команду, выполняемую оболочкой, используйте msgbox.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Большая часть кода вполне понятна, но несколько мест выглядят&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Большая часть кода вполне понятна, но несколько мест выглядят&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;слегка пугающе. Например, что означают &amp;amp; и зачем они нужны? С&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;слегка пугающе. Например, что означают &amp;amp; и зачем они нужны? С&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 378:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 379:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; msgbox(command)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; msgbox(command)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; end sub&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; end sub&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;font color=red&amp;gt;(см. пример в верху страницы)&amp;lt;/font&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Код, который мы рассмотрели, выглядит достаточно просто, но вы,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Код, который мы рассмотрели, выглядит достаточно просто, но вы,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 11 Mar 2008 07:16:01 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF81:OOo_Basic</comments>		</item>
		<item>
			<title>Yaleks в 17:27, 8 марта 2008</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;diff=165&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 17:27, 8 марта 2008&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 385:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 385:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;сложную и мощную работу.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;сложную и мощную работу.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;---&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;-&lt;/ins&gt;---&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Полезные советы ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Полезные советы ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 08 Mar 2008 17:27:41 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF81:OOo_Basic</comments>		</item>
		<item>
			<title>Yaleks: /* Полезные советы */</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;diff=164&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Полезные советы&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 17:27, 8 марта 2008&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 384:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 384:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;наверное, согласитесь: основываясь на нем, можно затевать достаточно&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;наверное, согласитесь: основываясь на нем, можно затевать достаточно&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;сложную и мощную работу.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;сложную и мощную работу.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;---&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Полезные советы ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* И спользуйте CreateUnoService для доступа к различным интерфейсам OpenOffice.org (или Универсальным Сетевым Объектам)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Если вам лень все время писать thisComponent, можете заменить его псевдонимом:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; dim doc as object&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; doc = thisComponent&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Помните разницу между функцией и процедурой – функция выполняет код и возвращает значение. Процедура выполняет код, но не возвращает никакого результата.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Заметив, что какой-либо участок вашего кода неоднократно повторяется, обдумайте, можно ли вынести его в процедуру или функцию.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Если вы пишете код для выполнения командным интерпретатором, отлаживайте его методом просмотра в msgbox&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Объекты, которые вам нужны===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Доступ к Универсальным Сетевым&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Объектам OpenOffice.org можно&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;получить с помощью метода&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;CreateUnoService. Эти объекты&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;обычно называют «Сервисы».&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 08 Mar 2008 17:27:08 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF81:OOo_Basic</comments>		</item>
		<item>
			<title>Yaleks: /* Слушай мою команду… */</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;diff=163&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Слушай мою команду…&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 17:22, 8 марта 2008&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 316:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 316:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; thisComponent.Sheets.insertByName(sheetNames(i), Sheet)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; thisComponent.Sheets.insertByName(sheetNames(i), Sheet)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; next&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; next&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Слушай мою команду…==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;==Слушай мою команду…&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Наконец, мы можем объединить все, что мы рассмотрели в этом руководстве (плюс кое-что из прошлого выпуска). Следующий код запускает&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Наконец, мы можем объединить все, что мы рассмотрели в этом руководстве (плюс кое-что из прошлого выпуска). Следующий код запускает&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;команды интерпретатора (в нашем случае это df и du), сохраняет результаты в файле, а затем загружает их в таблицу.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;команды интерпретатора (в нашем случае это df и du), сохраняет результаты в файле, а затем загружает их в таблицу.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 08 Mar 2008 17:22:21 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF81:OOo_Basic</comments>		</item>
		<item>
			<title>Yaleks: Новая: == OOo Basic. Макросы в Calc == ''часть 2 Держите таблицы на расстоянии вытянутой руки и работайте с данными из к...</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF81:OOo_Basic&amp;diff=162&amp;oldid=prev</link>
			<description>&lt;p&gt;Новая: == OOo Basic. Макросы в Calc == ''часть 2 Держите таблицы на расстоянии вытянутой руки и работайте с данными из к...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая статья&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== OOo Basic. Макросы в Calc ==&lt;br /&gt;
''часть 2 Держите таблицы на расстоянии вытянутой руки и работайте с данными из консоли – просто следуйте за '''Марком Бэйном!'''''&lt;br /&gt;
&lt;br /&gt;
Со времен разностной машины Чарльза Бэббиджа и до&lt;br /&gt;
появления табличного процессора Calc люди стараются изобретать средства автоматизации зубодробительных вычислений. Один из способов избежать монотонной работы – использование&lt;br /&gt;
электронных таблиц, легко управляющихся с нудными столбцами цифр.&lt;br /&gt;
Благодаря комбинации OOo Basic и Calc возможно не только автоматизировать выполнение сложных задач, но и, как я продемонстрирую,&lt;br /&gt;
манипулировать данными прямо из командной строки.&lt;br /&gt;
Как и в прошлый раз, первый шаг – создание документа. Код для&lt;br /&gt;
открытия нового пустого документа Writer:&lt;br /&gt;
 sub main&lt;br /&gt;
 loadNewFile&lt;br /&gt;
 end sub&lt;br /&gt;
 sub loadNewFile&lt;br /&gt;
 dim doc as object, desk as object, myFile as string, Dummy()&lt;br /&gt;
 myFile = “private:factory/sWriter”&lt;br /&gt;
 desk = CreateUnoService(“com.sun.star.frame.Desktop”)&lt;br /&gt;
 doc = desk.loadComponentFromUrl(myFile,”_blank”, 0,Dummy())&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Просмотрев код, вы увидите, что тип открываемого файла&lt;br /&gt;
определяется строкой&lt;br /&gt;
 myFile = “private:factory/sWriter”&lt;br /&gt;
&lt;br /&gt;
Теперь надо бы знать, что подставить вместо swriter. Для открытия&lt;br /&gt;
таблицы необходимо сделать замену на sCalc:&lt;br /&gt;
 myFile = “private:factory/sCalc”&lt;br /&gt;
===Будьте ленивее===&lt;br /&gt;
Понимаю вашу мысль: не писать же отдельную процедуру для каждого&lt;br /&gt;
типа файла! Вам хочется, чтобы одна процедура выполняла всю работу.&lt;br /&gt;
Так должен думать каждый уважающий себя программист, и вот как это&lt;br /&gt;
можно реализовать:&lt;br /&gt;
 sub main&lt;br /&gt;
 loadNewFile(“sCalc”)&lt;br /&gt;
 end sub&lt;br /&gt;
 sub loadNewFile (filetype as string)&lt;br /&gt;
 dim doc as object, desk as object, myFile as string, Dummy()&lt;br /&gt;
 myFile = “private:factory/” &amp;amp; filetype&lt;br /&gt;
 desk = CreateUnoService(“com.sun.star.frame.Desktop”)&lt;br /&gt;
 doc = desk.loadComponentfromurl(myFile,”_blank”,0,Dummy())&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Благодаря тому, что наша процедура принимает тип файла в&lt;br /&gt;
качестве аргумента, она становится гораздо более гибкой. Что еще&lt;br /&gt;
более важно, можно обойтись всего одной процедурой для открытия и&lt;br /&gt;
документа Writer, и таблицы Calc. При желании можно даже задать тип&lt;br /&gt;
по умолчанию, используя опциональный параметр и метод isMissing:&lt;br /&gt;
 sub loadNewFile (optional filetype as string)&lt;br /&gt;
 if isMissing(filetype) then&lt;br /&gt;
 filetype = “sCalc”&lt;br /&gt;
 end if&lt;br /&gt;
&lt;br /&gt;
Хорошо, теперь мы умеем открывать пустую таблицу – а как насчет&lt;br /&gt;
записи в ячейку? Следующая процедура поможет это сделать:&lt;br /&gt;
 sub writeToCell&lt;br /&gt;
 dim sheet as object, cell as object&lt;br /&gt;
 sheet = thisComponent.sheets(0)&lt;br /&gt;
 cell = sheet.getCellByPosition(0,0)&lt;br /&gt;
 cell.string = ”Hello World”&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Запомните, что эту процедуру необходимо вызывать из процедуры&lt;br /&gt;
Main.&lt;br /&gt;
&lt;br /&gt;
Не мешает просмотреть процедуру writeToCell, чтобы как следует&lt;br /&gt;
понять ее работу. thisComponent мы уже видели (когда рассматривали&lt;br /&gt;
OOo Basic и документ Writer): это просто ссылка на текущий документ&lt;br /&gt;
(в нашем случае – на таблицу). Далее мы выбираем лист, с которым&lt;br /&gt;
будем работать; sheet(0) является первым листом (или Sheet1) в&lt;br /&gt;
Calc. Sheet(1) будет ссылаться на второй лист, и так далее. Наконец,&lt;br /&gt;
мы выбираем нужную ячейку с помощью метода getCellByPosition,&lt;br /&gt;
который требует в качестве входных параметров номер столбца и номер&lt;br /&gt;
строки. Position(0,0) ссылается на ячейку A1, (1,0) соответствует B1,&lt;br /&gt;
(0,2) – А2, и так далее.&lt;br /&gt;
&lt;br /&gt;
Все это здорово, но порядок ваших листов может меняться; что если&lt;br /&gt;
вы хотите обращаться к ним по именам? Нет проблем – вместо sheets&lt;br /&gt;
можно использовать метод getByName:&lt;br /&gt;
 sheet=thisComponent.sheets.getByName(“Sheet1”)&lt;br /&gt;
&lt;br /&gt;
Теперь, когда мы знаем, как легко добавлять текст в документ (даже&lt;br /&gt;
легче, чем в Writer), давайте попробуем сделать что-нибудь полезное:&lt;br /&gt;
 sub simple_maths&lt;br /&gt;
 dim sheet as object, cell as object&lt;br /&gt;
 sheet = thisComponent.sheets.getByName(“Sheet1”)&lt;br /&gt;
 cell = sheet.getCellByPosition(0,0)&lt;br /&gt;
 cell.value = 10&lt;br /&gt;
 cell = sheet.getCellByPosition(0,1)&lt;br /&gt;
 cell.value = 10&lt;br /&gt;
 cell = sheet.getCellByPosition(0,2)&lt;br /&gt;
 cell.formula =”= A1+A2”&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Особой пользы тут нет, но зато этот пример показывает, что&lt;br /&gt;
загружать данные в таблицу и затем совершать над ними операции&lt;br /&gt;
очень просто. Можно улучшить процедуру, разрешив ввод чисел в&lt;br /&gt;
процедуру в качестве аргументов:&lt;br /&gt;
 sub simple_maths(numbA as double, numbB as double)&lt;br /&gt;
 dim sheet as object, cell as object&lt;br /&gt;
 sheet=thisComponent.sheets.getByName(“Sheet1”)&lt;br /&gt;
 cell=sheet.getCellByPosition(0,0)&lt;br /&gt;
 cell.value=numbA&lt;br /&gt;
 cell=sheet.getCellByPosition(0,1)&lt;br /&gt;
 cell.value=numbB&lt;br /&gt;
 cell=sheet.getCellByPosition(0,2)&lt;br /&gt;
 cell.formula=”=A1+A2”&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Теперь надо немного изменить процедуру Main:&lt;br /&gt;
 simple_maths(12.5,35.7)&lt;br /&gt;
&lt;br /&gt;
Пример, конечно, тривиальный: было бы куда быстрее вбить цифры&lt;br /&gt;
в таблицу вручную. Но ведь это только начало – вы можете приняться&lt;br /&gt;
за любые усложнения обработки данных согласно вашим потребностям.&lt;br /&gt;
По-вашему, 2 числа – это слишком мало: а вдруг понадобится передать&lt;br /&gt;
10, 100 или 1000 значений? К счастью, в процедуру очень легко&lt;br /&gt;
передать массив:&lt;br /&gt;
 sub main&lt;br /&gt;
 loadNewFile&lt;br /&gt;
 simple_maths_array(array(45,67,89,34))&lt;br /&gt;
 end sub&lt;br /&gt;
 sub simple_maths_array(numbers)&lt;br /&gt;
 dim sheet as object, cell as object, r as integer, sum as double&lt;br /&gt;
 sheet = thisComponent.sheets.getByName(“Sheet1”)&lt;br /&gt;
 sum = 0&lt;br /&gt;
 for r = 0 to ubound(numbers)&lt;br /&gt;
 sum = sum + numbers(r)&lt;br /&gt;
 cell = sheet.getCellByPosition(0,r)&lt;br /&gt;
 cell.value = numbers(r)&lt;br /&gt;
 next&lt;br /&gt;
 cell = sheet.getCellByPosition(0,r+1)&lt;br /&gt;
 cell.value = sum&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Процедура simple_maths_array заполняет первую колонку&lt;br /&gt;
Sheet1 содержимым массива, а затем внизу подсчитывает сумму всех&lt;br /&gt;
элементов.&lt;br /&gt;
&lt;br /&gt;
Записав данные в таблицу, вы заинтересуетесь: можно ли&lt;br /&gt;
использовать данные из существующей таблицы? Естественно, можно,&lt;br /&gt;
а то бы я и упоминать об этом не стал. Следующая процедура открывает&lt;br /&gt;
существующую таблицу (~/test.ods) и отображает содержимое ячейки&lt;br /&gt;
A1 листа Sheet1:&lt;br /&gt;
 sub dataFromExistingFile&lt;br /&gt;
 dim doc as object, desk as object, sheet as object, cell as object&lt;br /&gt;
 dim url as string, contents as double, Dummy()&lt;br /&gt;
 desk = CreateUnoService(“com.sun.star.frame.Desktop”)&lt;br /&gt;
 url=file://~/test.ods&lt;br /&gt;
 doc = desk.loadComponentfromurl(url,”_blank”,0,Dummy())&lt;br /&gt;
 sheet = thisComponent.sheets.getByName(“Sheet1”)&lt;br /&gt;
 cell = sheet.getCellByPosition(0,0)&lt;br /&gt;
 contents = cell.value&lt;br /&gt;
 msgbox(contents)&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Тут вы, видимо, спросите: а что будет, если ячейка содержит текст,&lt;br /&gt;
а не число? Наверное, команда contents = cell.value вызовет ошибку,&lt;br /&gt;
и процедура не выполнится? А вот и нет: если ячейка содержит текст,&lt;br /&gt;
то параметр value будет установлен в ноль, таким образом, проблема&lt;br /&gt;
будет устранена.&lt;br /&gt;
===Немного математики===&lt;br /&gt;
Пока что мы всего-навсего писали и читали данные из ячеек. Пора&lt;br /&gt;
заняться чем-нибудь поинтереснее. Как насчет использования встроенных математических функций OpenOffice.org Calc? Допустим, мы хотим&lt;br /&gt;
посчитать сумму, среднее чисел и стандартное отклонение. Это можно&lt;br /&gt;
сделать, используя сервис FunctionAccess:&lt;br /&gt;
 sub usingOOoFunctions(iArray)&lt;br /&gt;
 dim service as object, sheet as object, cell as object&lt;br /&gt;
 service = createUnoService( “com.sun.star.sheet.FunctionAccess” )&lt;br /&gt;
 sheet = thisComponent.sheets.getByName(“Sheet1”)&lt;br /&gt;
 cell = sheet.getCellByPosition(0,0)&lt;br /&gt;
 cell.value = service.callFunction( “STDEV”, iArray )&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Как всегда, не забудьте изменить процедуру Main, чтобы новая&lt;br /&gt;
процедура смогла выполниться:&lt;br /&gt;
 usingOOoFunctions(array(45,67,89,34))&lt;br /&gt;
&lt;br /&gt;
Не сомневаюсь, что вы немедля найдете кучу недостатков у&lt;br /&gt;
usingOOoFunctions – на данный момент она умеет считать только&lt;br /&gt;
стандартное отклонение, использует только Sheet1 и пишет только в&lt;br /&gt;
ячейку A1. Но, используя входные параметры, ее можно сделать весьма&lt;br /&gt;
адаптивной:&lt;br /&gt;
 sub usingOOoFunctions( fType as string, sName as string, _c as integer,r as integer, iArray )&lt;br /&gt;
 dim service as object, sheet as object, cell as object&lt;br /&gt;
 service = createUnoService( “com.sun.star.sheet.FunctionAccess” )&lt;br /&gt;
 sheet = thisComponent.sheets.getByName(sName)&lt;br /&gt;
 cell = sheet.getCellByPosition(c,r)&lt;br /&gt;
 cell.value = service.callFunction( fType, iArray )&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Модифицируйте Main следующим образом:&lt;br /&gt;
 usingOOoFunctions(“STDEV”,”Sheet1”, 1, 1, array(45,67,89,34))&lt;br /&gt;
&lt;br /&gt;
Возникает серьезный вопрос: как обрабатывать неверные операции&lt;br /&gt;
или входные данные? Например, что произойдет при попытке&lt;br /&gt;
выполнить&lt;br /&gt;
 usingOOoFunctions(“SQRT”,”Sheet1”, 1, 1, array(-1))&lt;br /&gt;
* то есть извлечь квадратный корень из «-1»? (Надеюсь, вы в курсе, что так делать нельзя [ну, по крайней мере, на множестве действительных чисел, – прим.ред.].) Ошибочные ситуации можно отсечь, написав следующий код:&lt;br /&gt;
 if (fType &amp;lt;&amp;gt; “SQRT” and iArray(0) &amp;lt;&amp;gt; -1 ) then&lt;br /&gt;
* но тогда выходит, что вы обязаны предусмотреть все возможные комбинации функций и их аргументов, способные вызвать ошибку.&lt;br /&gt;
&lt;br /&gt;
Самым эффективным решением будет написание обработчика&lt;br /&gt;
ошибок. Рассмотрим пример (он завершится аварийно):&lt;br /&gt;
 function dummy as double&lt;br /&gt;
 dim service as object&lt;br /&gt;
 service = createUnoService( “com.sun.star.sheet.FunctionAccess” )&lt;br /&gt;
 dummy = service.callFunction( “SQRT”, array(-1) )&lt;br /&gt;
 end function&lt;br /&gt;
&lt;br /&gt;
Запустите ее с&lt;br /&gt;
 msgbox (dummy)&lt;br /&gt;
&lt;br /&gt;
На последней строке функция начнет ругаться, но это можно&lt;br /&gt;
предотвратить, вставив в ее начало выражение, которое при наличии&lt;br /&gt;
ошибки просто отошлет к выполнению следующей строки кода. Вы,&lt;br /&gt;
видимо, заявите (довольно верно), что нам незачем продолжать&lt;br /&gt;
выполнение кода – лучше изящно выйти вон. Значит, потребуется&lt;br /&gt;
добавить кое-какой код для правильной обработки ошибки:&lt;br /&gt;
 function dummy as double&lt;br /&gt;
 dim service as object&lt;br /&gt;
 on error goto errorFound&lt;br /&gt;
 service = createUnoService( “com.sun.star.sheet.FunctionAccess” )&lt;br /&gt;
 dummy = service.callFunction( “SQRT”, array(-1) )&lt;br /&gt;
 exit function&lt;br /&gt;
 errorFound:&lt;br /&gt;
 msgbox(“Invalid input. Result set to -1”)&lt;br /&gt;
 dummy=-1&lt;br /&gt;
 end function&lt;br /&gt;
&lt;br /&gt;
Теперь функция не продолжит выполнение, а перескочит на метку&lt;br /&gt;
errorFound: (двоеточие означает, что данная лексема является меткой).&lt;br /&gt;
Заметим, что exit function стоит ДО кода обработки ошибки, иначе&lt;br /&gt;
этот код будет выполняться всегда, хоть бы ошибки и не было – а нам-&lt;br /&gt;
то надо, чтобы ошибка обрабатывалась, только если она действительно&lt;br /&gt;
возникла.&lt;br /&gt;
===Функция не есть процедура===&lt;br /&gt;
В приведенных примерах мы использовали функции и процедуры. Вы&lt;br /&gt;
спросите: а в чем разница? Функция и процедура – почти одно и то же,&lt;br /&gt;
только функция еще и возвращает результат. Это значит, что, определяя&lt;br /&gt;
функцию, вы должны указать, какой тип результата она возвратит. Вот&lt;br /&gt;
простой пример, который вам все объяснит.&lt;br /&gt;
&lt;br /&gt;
Сначала установим значение переменной с помощью процедуры:&lt;br /&gt;
 dim sheet as object, cell as object&lt;br /&gt;
 sub main&lt;br /&gt;
 loadNewFile&lt;br /&gt;
 sheet=thisComponent.sheets(0)&lt;br /&gt;
 cell=sheet.getCellByPosition(0,0)&lt;br /&gt;
 simple_sub&lt;br /&gt;
 end sub&lt;br /&gt;
 sub simple_sub&lt;br /&gt;
 cell.value = 1&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Теперь сделаем то же самое, но уже с помощью функции:&lt;br /&gt;
 dim sheet as object, cell as object&lt;br /&gt;
 sub main&lt;br /&gt;
 loadNewFile&lt;br /&gt;
 sheet=thisComponent.sheets(0)&lt;br /&gt;
 cell=sheet.getCellByPosition(0,0)&lt;br /&gt;
 cell.value = simple_function&lt;br /&gt;
 end sub&lt;br /&gt;
 function simple_function as integer&lt;br /&gt;
 simple_function = 1&lt;br /&gt;
 end function&lt;br /&gt;
&lt;br /&gt;
Заметили? Процедура записывает напрямую в ячейку, а функция&lt;br /&gt;
возвращает значение, а уж оно затем записывается в ячейку.&lt;br /&gt;
&lt;br /&gt;
Следует заметить еще одно: некоторые переменные (sheet и cell)&lt;br /&gt;
объявлены глобальными. Это значит, что они доступны из любой&lt;br /&gt;
функции и процедуры. Если переменная определена внутри процедуры,&lt;br /&gt;
то она существует только на время выполнения функции или процедуры&lt;br /&gt;
(их часто называют областью видимости переменной). Вещь полезная,&lt;br /&gt;
но из-за этого вы должны быть очень внимательны, назначая имена&lt;br /&gt;
переменным:&lt;br /&gt;
 dim sheet_number as integer&lt;br /&gt;
 dim sheet as object, cell as object&lt;br /&gt;
 sub main&lt;br /&gt;
 loadNewFile&lt;br /&gt;
 set_sheetnumber&lt;br /&gt;
 sheet = thisComponent.sheets(sheet_number)&lt;br /&gt;
 cell = sheet.getCellByPosition(0,0)&lt;br /&gt;
 cell.value = sheet_number&lt;br /&gt;
 end sub&lt;br /&gt;
 sub set_sheetnumber&lt;br /&gt;
 sheet_number = 1&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Число 1 записывается в ячейку А1 листа Sheet2.&lt;br /&gt;
&lt;br /&gt;
Если бы мы вставили строку dim sheet_number as integer в&lt;br /&gt;
процедуру set_sheetnumber в вышеописанном примере, то создалась&lt;br /&gt;
бы новая переменная sheet_number, доступная только из процедуры&lt;br /&gt;
set_sheetnumber. Хотя имена в обеих процедурах совпадают, это две&lt;br /&gt;
разных переменных, содержащих разные значения.&lt;br /&gt;
&lt;br /&gt;
Теперь мы можем легко и просто читать и записывать любую&lt;br /&gt;
ячейку на любом листе таблицы. Значит, настало время заняться&lt;br /&gt;
именами листов. Они не оригинальны – Sheet1, Sheet2, Sheet3 – и не&lt;br /&gt;
информативны. К тому же их всего три.&lt;br /&gt;
 sub changeSheetNames&lt;br /&gt;
 dim sheet as object&lt;br /&gt;
 sheet = thisComponent.createInstance(“com.sun.star.sheet.Spreadsheet”)&lt;br /&gt;
 thisComponent.Sheets.insertByName(“MySheet”, Sheet)&lt;br /&gt;
 thisComponent.sheets.removebyname(“Sheet1”)&lt;br /&gt;
 thisComponent.sheets.removebyname(“Sheet2”)&lt;br /&gt;
 thisComponent.sheets.removebyname(“Sheet3”)&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Легко и просто – но малость ограниченно. Было бы действительно&lt;br /&gt;
полезно передавать имена листов в качестве массива – смотрите:&lt;br /&gt;
 dim i as integer&lt;br /&gt;
 for i = 0 to ubound(sheetNames)&lt;br /&gt;
 sheet = thisComponent.createInstance(“com.sun.star.sheet.Spreadsheet”)&lt;br /&gt;
 thisComponent.Sheets.insertByName(sheetNames(i), Sheet)&lt;br /&gt;
 next&lt;br /&gt;
==Слушай мою команду…==&lt;br /&gt;
Наконец, мы можем объединить все, что мы рассмотрели в этом руководстве (плюс кое-что из прошлого выпуска). Следующий код запускает&lt;br /&gt;
команды интерпретатора (в нашем случае это df и du), сохраняет результаты в файле, а затем загружает их в таблицу.&lt;br /&gt;
&lt;br /&gt;
Выполняем:&lt;br /&gt;
 const tmpFile as string = “/tmp/myfile.tmp”&lt;br /&gt;
 const bshFile as string = “/tmp/runme.bsh”&lt;br /&gt;
 sub main&lt;br /&gt;
 theFullWorks&lt;br /&gt;
 end sub&lt;br /&gt;
 function buildCommand (ipCommand as string) as string&lt;br /&gt;
 buildCommand = “rm -f “ &amp;amp; tmpFile &amp;amp; “;” _&lt;br /&gt;
 &amp;amp; ipCommand &amp;amp; “ | sed s/’\t’/’ ‘/g &amp;gt;” &amp;amp; tmpFile &amp;amp; “;” _&lt;br /&gt;
 &amp;amp; “while [ “”$(grep ‘ ‘ “ &amp;amp; tmpFile &amp;amp; “)”” != “””” ];” _&lt;br /&gt;
 &amp;amp; “do cat “ &amp;amp; tmpFile &amp;amp; “ | sed s/’ ‘/’ ‘/g &amp;gt; “ &amp;amp; tmpFile &amp;amp; “1;” _&lt;br /&gt;
 &amp;amp; “mv “ &amp;amp; tmpFile &amp;amp; “1 “ &amp;amp; tmpFile &amp;amp; “;” &amp;amp; “done”&lt;br /&gt;
 end function&lt;br /&gt;
 sub theFullWorks&lt;br /&gt;
 dim command as string&lt;br /&gt;
 loadNewFile&lt;br /&gt;
 changeSheetNames (array(“Disk Space Usage”,”File Usage”))&lt;br /&gt;
 command = buildCommand(“df|grep -v Filesystem”)&lt;br /&gt;
 reportSheet(command,”Disk Space Usage”)&lt;br /&gt;
 command = buildCommand(“du /| sort -nr”)&lt;br /&gt;
 reportSheet(command,”File Usage”)&lt;br /&gt;
 end sub&lt;br /&gt;
 sub reportSheet (command as string, sheetName as string)&lt;br /&gt;
 dim sheet as object, cell as object&lt;br /&gt;
 dim iNumber As Integer, oNumber As Integer, iLine As String&lt;br /&gt;
 dim i as integer, c as integer&lt;br /&gt;
 iNumber = Freefile&lt;br /&gt;
 oNumber = Freefile&lt;br /&gt;
 Open bshFile For output As #oNumber&lt;br /&gt;
 print #oNumber,command&lt;br /&gt;
 close #oNumber&lt;br /&gt;
 shell(“bash -c “”” &amp;amp; bshFile &amp;amp; “”””,,,true)&lt;br /&gt;
 i = 1&lt;br /&gt;
 sheet=thisComponent.sheets.getByName(sheetName)&lt;br /&gt;
 Open tmpFile For Input As #iNumber&lt;br /&gt;
 While not EOF(iNumber)&lt;br /&gt;
 dim cArray&lt;br /&gt;
 Line Input #iNumber, iLine&lt;br /&gt;
 cArray = split(iLine)&lt;br /&gt;
 for c=0 to ubound(cArray)&lt;br /&gt;
 cell=sheet.getCellByPosition(c,i)&lt;br /&gt;
 cell.string=cArray(c)&lt;br /&gt;
 next&lt;br /&gt;
 i = i + 1&lt;br /&gt;
 wend&lt;br /&gt;
 Close #iNumber&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
Большая часть кода вполне понятна, но несколько мест выглядят&lt;br /&gt;
слегка пугающе. Например, что означают &amp;amp; и зачем они нужны? С&lt;br /&gt;
их помощью строятся команды, предназначенные для выполнения&lt;br /&gt;
командным интерпретатором Linux. Если вы хотите увидеть, что именно&lt;br /&gt;
будет выполняться, просто добавьте msgbox следующим образом:&lt;br /&gt;
 Sub main&lt;br /&gt;
 dim command as string&lt;br /&gt;
 command = buildCommand(“df|grep –v Filesystem”)&lt;br /&gt;
 msgbox(command)&lt;br /&gt;
 end sub&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;(см. пример в верху страницы)&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Код, который мы рассмотрели, выглядит достаточно просто, но вы,&lt;br /&gt;
наверное, согласитесь: основываясь на нем, можно затевать достаточно&lt;br /&gt;
сложную и мощную работу.&lt;/div&gt;</description>
			<pubDate>Sat, 08 Mar 2008 17:22:00 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF81:OOo_Basic</comments>		</item>
	</channel>
</rss>