Робота з Microsoft Office Word і Microsoft Office Excel за допомогою ASP.NET 2.0, Різне, Програмування, статті

Стаття описує спосіб створення офісних документів, можливий при розробці веб-додатків, використання яких будуть дозволено певного (заздалегідь відомому) кількості користувачів (наприклад: корпоративний сайт, певні види звітів).
Попередження:
Згідно з інформацією зі статті Consideration for server-side Automation of Office використання технологій Automation на стороні сервера (server-side) може спричинити за собою непередбачувані проблеми при великих навантаженнях і, тим більше, при неправильному налаштуванні використовуваних компонентів. Також Microsoft не рекомендує і, тим більше, не підтримує використання Automation of Microsoft Office.

Тим не менш, при розробці веб-додатків, використання яких будуть дозволено певного (заздалегідь відомому) кількості користувачів (наприклад: корпоративний сайт, певні види звітів) можна застосувати спосіб створення офісних документів, описаний в даній статті.

Стаття присвячена методам автоматичної генерації документів у форматах Word і Excel за допомогою технології ASP.NET 2.0. Описано деякі методи, що використовуються для одержання працюючими через веб-інтерфейс користувачами звітів або інших документів з збереженої на сервері інформації (наприклад, з бази даних), або на підставі даних, введених користувачем у веб-форму.

Описані методи реалізовані на мові Visual Basic 8 в модулі, розробленому в середовищі Microsoft Visual Studio 2005 з використанням ASP.NET 2.0.

Для управління програмами Word і Excel з розроблюваної прикладної системи необхідно до відповідного проект додати COM-об’єкти:
Microsoft Excel 11.0 Object Library – для роботи з Excel

 

 
Microsoft Word 11.0 Object Library – для роботи з Word

 

Додавання здійснюється в середовищі Microsoft Visual Studio 2005 через пункт Add Reference меню Website.


Рисунок 1 Додавання посилання на COM-об’єкт для роботи з Excel



Рисунок 2 Додавання посилання на COM-об’єкт для роботи з Word


Після додавання посилань на COM-об’єкти в Visual Studio будуть доступні відповідні простору імен:
Microsoft.Office.Interop.Word – простір імен Word

 
Microsoft.Office.Interop.Excel – простір імен Excel

 

Далі створюється прикладна веб-форма для роботи з документами Office. Нижче наведено приклад вихідного коду:
<%@ Page Language=”VB” AutoEventWireup=”false” CodeFile=”Default.aspx.vb” Inherits=”_Default” %>

 

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
 “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml”>

<head runat=”server”>

Робота в Word і Excel </ title><br /> <P></head><br /> <P><body><br /> <P>  <form id=”form1″ runat=”server”><br /> <P>  <div><br /> <P>  <table><br /> <P>  <tr><br /> <P>  <td rowspan=”2″ style=”width: 186px”><br /> <P>  <asp:TextBox ID=”TextBox1″ runat=”server” <br />Height=”49px” TextMode=”MultiLine” Width=”231px”></asp:TextBox></td><br /> <P>  <td><br /> <P>  <asp:Button ID=”bttnSendToWord” runat=”server” <br />Text = “Відправити в WORD” /> </ td><br /> <P>  </tr><br /> <P>  <tr><br /> <P>  <td><br /> <P>  <asp:Button ID=”SendToExcel” runat=”server” <br />Text = “Відправити в Excel” Width = “177px” /> </ td><br /> <P>  </tr><br /> <P>  </table><br /> <P>  </div><br /> <P>  </form><br /> <P></body><br /> <P></html><br /> <P>Лістинг 1 Код веб-форми для роботи з документами Office<br /> <P> <br /> <P>Далі для даної веб-форми створюється клас “обробник подій”:<br />Imports Microsoft.Office.Interop<br />Partial Class _Default<br />  Inherits System.Web.UI.Page<br /> <P># Region “Функції для роботи з Word”<br />  “”” <summary><br />“” “Функція створення нового екземпляра Word<br />  “”” </summary><br />“” “<returns> Об’єкт Word.Applicetion </ returns><br />  Public Function CreateWordObj() As Word.Application<br />  Dim obj As Object<br />  Try<br />obj = CreateObject (“Word.Application”) “Пробуємо отримати новий<br />примірник Word<br />  Catch ex As Exception<br />  obj = Nothing<br />Throw New Exception (“Помилка створення екземпляра MS Word”)<br />  End Try<br />  Return obj<br />  End Function<br />  “”” <summary><br />“” “Функція створює об’єкт документа Word<br />  “”” </summary><br />“” “<param Name="Path"> Шлях до документа </ param><br />“” “<param Name="objWord"> Об’єкт Word </ param><br />“” “<returns> Об’єкт документа Word </ returns><br />  Public Function OpenWordFile(ByVal Path As String, ByVal objWord As <br /> Word.Application) As Word.Document<br />  Dim WordFile As String = CopyFileToTmp(Path)<br />  Dim WordDoc As Word.Document<br />  Try<br />  WordDoc = objWord.Documents.Open(WordFile)<br />  Catch ex As Exception<br />  WordDoc = Nothing<br />  Throw ex<br />  End Try<br />  Return WordDoc<br />  End Function<br />#End Region<br /># Region “Функції для роботи з Excel”<br />  “”” <summary><br />“” “Функція створення нового екземпляра Excel<br />  “”” </summary><br />“” “<returns> Об’єкт Excel.Applicetion </ returns><br />  Public Function CreateExcelObj() As Excel.Application<br />  Dim obj As Object<br />  Try<br />obj = CreateObject (“Excel.Application”) “Пробуємо отримати новий<br />примірник Excel<br />  Catch ex As Exception<br />  obj = Nothing<br />Throw New Exception (“Помилка створення екземпляра MS Excel”)<br />  End Try<br />  Return obj<br />  End Function<br />  “”” <summary><br />“” “Функція створює об’єкт листа Excel<br />  “”” </summary><br />“” “<param Name="Path"> Шлях до документа </ param><br />“” “<param Name="objExcel"> Об’єкт Excel </ param><br />“” “<returns> Об’єкт листа Excel </ returns><br />  Public Function OpenExcelFile(ByVal Path As String, ByVal objExcel As<br />  Excel.Application) As Excel.Workbook<br />  Dim ExcelFile As String = CopyFileToTmp(Path)<br />  Dim ExcelBook As Excel.Workbook<br />  Try<br />  ExcelBook = objExcel.Workbooks.Open(ExcelFile)<br />  Catch ex As Exception<br />  ExcelBook = Nothing<br />  Throw ex<br />  End Try<br />  Return ExcelBook<br />  End Function<br />#End Region<br /> <P># Region “Загальні функції”<br />  “”” <summary><br />“” “Функція створює тимчасову копію файлу,, для того щоб<br />провести зміни в ньому<br />  “”” </summary><br />“” “<param Name="Path"> Шлях до файлу </ param><br />“” “<returns> Шлях до тимчасового файлу </ returns><br />  Private Function CopyFileToTmp(ByVal Path As String) As String<br />  Dim WordFile As New IO.FileInfo(Path)<br />  Dim WordFileTmp As String = “”<br />  If Not WordFile.Exists Then<br />  Throw New IO.FileNotFoundException<br />  End If<br />  WordFileTmp = FileIO.FileSystem.GetTempFileName()<br />  FileIO.FileSystem.CopyFile(Path, WordFileTmp, True)<br />  Return WordFileTmp<br />  End Function<br />  “”” <summary><br />“” “Функція відправляє користувачу створений тимчасовий файл<br />  “”” </summary><br />“” “<param Name="Path"> Шлях до файлу, який необхідно надіслати </ param><br />“” “<param Name="FileName"> Файл, який отримає користувач </ param><br />  Public Sub SendFileToUser(ByVal Path As String, ByVal FileName As String)<br />  Response.HeaderEncoding = Text.UnicodeEncoding.Default<br />  Response.AddHeader(“Content-Disposition”, “attachment; filename=” & FileName)<br />  Response.ContentType = “application/octet-stream”<br />  Response.Clear()<br />  Response.Cache.SetCacheability(HttpCacheability.Public)<br />  Response.BufferOutput = False<br />  Try<br />  Response.WriteFile(Path)<br />  FileIO.FileSystem.DeleteFile(Path)<br />  Catch ex As Exception<br />  Throw ex<br />  End Try<br />  End Sub<br />#End Region<br /># Region “Обробка подій кнопок”<br />  Protected Sub bttnSendToWord_Click(ByVal sender As Object, ByVal e As <br /> System.EventArgs) Handles bttnSendToWord.Click<br />Dim WordObj As Word.Application = CreateWordObj () “Створюємо екземпляр<br />Word<br />  Dim WordDoc As Word.Document = OpenWordFile(“c:1.doc”, WordObj) <br />“Отримуємо примірник відкритого документа<br />Dim WordFileTmp As String = WordDoc.FullName “Отримуємо повний шлях до<br />тимчасовому документу<br />WordDoc.Range.Text = TextBox1.Text “Заносимо текст з textbox1 в<br />відкритий документ<br />WordDoc.Save () “Зберігаємо змінений документ<br />WordDoc.Close () “Закриваємо документ<br />WordObj.Quit () “Виходимо з програми<br />WordDoc = Nothing “Знищуємо посилання на екземпляр документа<br />WordObj = Nothing “Знищуємо посилання на екземпляр Word<br />SendFileToUser (WordFileTmp, “WordDocument.doc”) “Відправляємо користувачеві<br />даний файл<br />  End Sub<br /> <P>  Protected Sub SendToExcel_Click(ByVal sender As Object, ByVal e As <br /> System.EventArgs) Handles SendToExcel.Click<br />Dim ExcelObj As Excel.Application = CreateExcelObj () “Створюємо<br />примірник Excel<br />  Dim ExcelBook As Excel.Workbook = OpenExcelFile(“c:1.xls”, ExcelObj) <br />“Отримуємо примірник відкритій книзі<br />Dim ExcelFileTmp As String = ExcelBook.FullName “Отримуємо повний шлях<br />до тимчасової книзі<br />ExcelBook.ActiveSheet.Cells (1, 1) = TextBox1.Text “Заносимо текст з<br />textbox1 в клітинку (1,1) активного листа книги<br />ExcelBook.Save () “Зберігаємо змінену книгу<br />ExcelBook.Close () “Закриваємо книгу<br />ExcelObj.Quit () “Виходимо з програми<br />ExcelBook = Nothing “Знищуємо посилання на екземпляр книги<br />ExcelObj = Nothing “Знищуємо посилання на екземпляр Excel<br />SendFileToUser (ExcelFileTmp, “ExcelSheet.xls”) “Відправляємо<br />користувачеві даний файл<br />  End Sub<br />#End Region<br />End Class<br /> <P>Лістинг 2 Код класу “обробник подій” веб-форми<br /> <P> <br /> <P>Після цих дій необхідно створити шаблони документів, на підставі яких будуть генеруватися результуючі документи.<br /> <P>Якщо потрібно побудувати документи складної форми, наприклад насичені елементами форми Excel, то є два способи їх створення:<br />Створювати елементи форми безпосередньо в коді прикладної програми (наприклад, присвоювати кордону осередкам, задавати шрифти і т.д.)<br /> <P> <br />Створити шаблонну форму в Excel, тобто розмітити її області, задати шрифти, встановити потрібні розміри. Зберігши такий шаблон, далі достатньо в прикладній програмі просто заносити дані в потрібні комірки.<br /> <P>Такий же підхід застосуємо і до побудови документів у форматі Word.<br /> <P>У наведеному вище прикладі показано використання тестових шаблонів TestWord.doc і TestExcel.xls.</P></p> <p> <div class="ad-top2"> <!-- Top article #956715 --> <script>(function(e){var t="DIV_DA_"+e+"_"+parseInt(Math.random()*1e3); document.write('<div id="'+t+'" class="directadvert-block directadvert-block-'+e+'"></div>'); if("undefined"===typeof loaded_blocks_directadvert){loaded_blocks_directadvert=[]; function n(){var e=loaded_blocks_directadvert.shift(); var t=e.adp_id; var r=e.div; var i=document.createElement("script"); i.type="text/javascript"; i.async=true; i.charset="windows-1251"; i.src="//code.directadvert.ru/data/"+t+".js?async=1&div="+r+"&t="+Math.random(); var s=document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]; s.appendChild(i); var o=setInterval(function(){if(document.getElementById(r).innerHTML&&loaded_blocks_directadvert.length){n(); clearInterval(o)}},50)} setTimeout(n)}loaded_blocks_directadvert.push({adp_id:e,div:t})})(956715)</script> </div> <div style="float:right"> <div class="yashare-auto-init" data-yashareL10n="ua" data-yashareType="icon" data-yashareQuickServices="yaru,vkontakte,facebook,twitter,odnoklassniki,moimir,lj,moikrug,gplus"></div> </div> <h4>Схожі статті:</h4><ul><li><a href="http://easy-code.com.ua/2010/10/web-2-0-za-viknom/" title="Web 2.0 за вікном.">Web 2.0 за вікном.</a> (0)</li><li><a href="http://easy-code.com.ua/2010/11/yak-stati-vidminnim-dizajnerom-50-rad/" title="Як стати відмінним дизайнером. 50 рад.">Як стати відмінним дизайнером. 50 рад.</a> (1)</li><li><a href="http://easy-code.com.ua/2010/11/html-i-xhtml/" title="HTML і XHTML">HTML і XHTML</a> (0)</li><li><a href="http://easy-code.com.ua/2010/12/chas-vikonannya-skripta-na-php/" title="Час виконання скрипта на PHP.">Час виконання скрипта на PHP.</a> (0)</li><li><a href="http://easy-code.com.ua/2010/10/cookies-v-php/" title="Cookies в PHP.">Cookies в PHP.</a> (0)</li><li><a href="http://easy-code.com.ua/2010/12/biznes-po-optimizatorskix-abo-yak-pracyuyut-studi%d1%97-po-optimizaci%d1%97-sajtiv/" title="Бізнес по-оптимізаторських, або як працюють студії по оптимізації сайтів">Бізнес по-оптимізаторських, або як працюють студії по оптимізації сайтів</a> (0)</li><li><a href="http://easy-code.com.ua/2010/10/stvoryuyuchi-svij-veb-sajt-ne-peretvoryujte-jogo-na-primaru/" title="Створюючи свій веб-сайт, не перетворюйте його на примару">Створюючи свій веб-сайт, не перетворюйте його на примару</a> (0)</li></ul> <!--for paginate posts--> <hr/> <p><strong><em> Сподобалася стаття? Ви можете <a href="#comments"> залишити відгук </a> або <a href = "http://easy-code.com.ua/feed/" > підписатися на RSS </a>, щоб автоматично отримувати інформацію про нові статтях. </em></strong></p> <!--Post Meta--> <div class="post-meta"> <strong>Метки: </strong><a href="http://easy-code.com.ua/tag/microsoft/" rel="tag">Microsoft</a>, <a href="http://easy-code.com.ua/tag/office/" rel="tag">Office</a>, <a href="http://easy-code.com.ua/tag/response/" rel="tag">Response</a>, <a href="http://easy-code.com.ua/tag/string/" rel="tag">string</a>, <a href="http://easy-code.com.ua/tag/dokumentiv/" rel="tag">документів</a>, <a href="http://easy-code.com.ua/tag/roboti/" rel="tag">роботи</a>, <a href="http://easy-code.com.ua/tag/stvorennya/" rel="tag">створення</a><br /> <strong>Рубрики:</strong> <a href="http://easy-code.com.ua/category/rizne/" rel="category tag">Різне</a> </div> <!--include comments template--> <div id="comments-wrap"> <p>Коментарів поки що немає.</p> <!-- <p><a href="http://easy-code.com.ua/2012/09/robota-z-microsoft-office-word-i-microsoft-office-excel-za-dopomogoyu-asp-net-2-0-rizne-programuvannya-statti/feed/">RSS-стрічка коментарів.</a> <a href="http://easy-code.com.ua/2012/09/robota-z-microsoft-office-word-i-microsoft-office-excel-za-dopomogoyu-asp-net-2-0-rizne-programuvannya-statti/trackback/" rel="trackback">Адреса для трекбек</a> </p> --> <h3 class="postcomment">Ваш отзыв</h3> <p>Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <code><a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> </code></p> <form action="http://easy-code.com.ua/wp-comments-post.php" method="post" id="commentform"> <p> <input type="text" name="author" id="author" class="textarea" value="" size="28" tabindex="1" /> <label for="author">Им'я</label> * </p> <p> <input type="text" name="email" id="email" value="" size="28" tabindex="2" /> <label for="email">E-mail</label> * </p> <p> <input type="text" name="url" id="url" value="" size="28" tabindex="3" /> <label for="url">Сайт</label> </p> <p> <label for="comment">Повідомлення</label> <br /> <textarea name="comment" id="comment" cols="60" rows="10" tabindex="4"></textarea> </p> <p> <input name="submit" id="submit" type="submit" tabindex="5" value="відправити" /> <input type="hidden" name="comment_post_ID" value="11931" /> <input type="hidden" name="redirect_to" value="/2012/09/robota-z-microsoft-office-word-i-microsoft-office-excel-za-dopomogoyu-asp-net-2-0-rizne-programuvannya-statti/" /> </p> <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="e44f9ef59d" /></p><p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="233"/></p></form> </div> <!--do not delete--> <!--single.php end--> </div> <!--include sidebar--> <!--sidebar.php--> <div id="sidebar"> <div class="sidebar-rss"> <h3>Подписка через RSS</h3> <p><a href="http://easy-code.com.ua/feed/"><img src="http://easy-code.com.ua/wp-content/themes/elegantblue/images/rss.jpg" alt="Подписка на RSS" ></img></a>Якщо вам сподобалася інформація на нашому сайті, ви можете підписатися на оновлення через RSS.</p> </div> <BR> <div class="something"> <a href='http://easy-code.com.ua/tag/download/' class='tag-link-563 tag-link-position-1' title='648 topics' style='font-size: 12.328358208955pt;'>Download</a> <a href='http://easy-code.com.ua/tag/microsoft/' class='tag-link-66 tag-link-position-2' title='772 topics' style='font-size: 13.522388059701pt;'>Microsoft</a> <a href='http://easy-code.com.ua/tag/oracle/' class='tag-link-18322 tag-link-position-3' title='357 topics' style='font-size: 8.4477611940299pt;'>Oracle</a> <a href='http://easy-code.com.ua/tag/windows/' class='tag-link-18319 tag-link-position-4' title='1,383 topics' style='font-size: 17.253731343284pt;'>Windows</a> <a href='http://easy-code.com.ua/tag/internet/' class='tag-link-132 tag-link-position-5' title='366 topics' style='font-size: 8.5970149253731pt;'>Інтернет</a> <a href='http://easy-code.com.ua/tag/merezhi/' class='tag-link-143 tag-link-position-6' title='438 topics' style='font-size: 9.7910447761194pt;'>Мережі</a> <a href='http://easy-code.com.ua/tag/modeli/' class='tag-link-530 tag-link-position-7' title='360 topics' style='font-size: 8.5970149253731pt;'>моделі</a> <a href='http://easy-code.com.ua/tag/mozhete/' class='tag-link-3 tag-link-position-8' title='569 topics' style='font-size: 11.582089552239pt;'>можете</a> <a href='http://easy-code.com.ua/tag/mozhut/' class='tag-link-311 tag-link-position-9' title='384 topics' style='font-size: 9.044776119403pt;'>можуть</a> <a href='http://easy-code.com.ua/tag/dopomogoyu/' class='tag-link-273 tag-link-position-10' title='731 topics' style='font-size: 13.074626865672pt;'>допомогою</a> <a href='http://easy-code.com.ua/tag/dozvolyaye/' class='tag-link-542 tag-link-position-11' title='664 topics' style='font-size: 12.477611940299pt;'>дозволяє</a> <a href='http://easy-code.com.ua/tag/kompani%d1%97/' class='tag-link-554 tag-link-position-12' title='546 topics' style='font-size: 11.283582089552pt;'>компанії</a> <a href='http://easy-code.com.ua/tag/koristuvachiv/' class='tag-link-137 tag-link-position-13' title='337 topics' style='font-size: 8.1492537313433pt;'>користувачів</a> <a href='http://easy-code.com.ua/tag/potribno/' class='tag-link-18 tag-link-position-14' title='566 topics' style='font-size: 11.432835820896pt;'>потрібно</a> <a href='http://easy-code.com.ua/tag/programi/' class='tag-link-387 tag-link-position-15' title='1,547 topics' style='font-size: 18pt;'>програми</a> <a href='http://easy-code.com.ua/tag/prosto/' class='tag-link-99 tag-link-position-16' title='328 topics' style='font-size: 8pt;'>просто</a> <a href='http://easy-code.com.ua/tag/vikoristannya/' class='tag-link-690 tag-link-position-17' title='368 topics' style='font-size: 8.7462686567164pt;'>використання</a> <a href='http://easy-code.com.ua/tag/vikoristovuvati/' class='tag-link-890 tag-link-position-18' title='427 topics' style='font-size: 9.6417910447761pt;'>використовувати</a> <a href='http://easy-code.com.ua/tag/znachennya/' class='tag-link-198 tag-link-position-19' title='1,003 topics' style='font-size: 15.164179104478pt;'>значення</a> <a href='http://easy-code.com.ua/tag/roboti/' class='tag-link-123 tag-link-position-20' title='1,104 topics' style='font-size: 15.761194029851pt;'>роботи</a> <a href='http://easy-code.com.ua/tag/rozrobki/' class='tag-link-1235 tag-link-position-21' title='328 topics' style='font-size: 8pt;'>розробки</a> <a href='http://easy-code.com.ua/tag/sistemi/' class='tag-link-476 tag-link-position-22' title='1,131 topics' style='font-size: 15.910447761194pt;'>системи</a> <a href='http://easy-code.com.ua/tag/upravlinnya/' class='tag-link-556 tag-link-position-23' title='760 topics' style='font-size: 13.373134328358pt;'>управління</a> <a href='http://easy-code.com.ua/tag/server/' class='tag-link-197 tag-link-position-24' title='650 topics' style='font-size: 12.328358208955pt;'>сервер</a> <a href='http://easy-code.com.ua/tag/stvorennya/' class='tag-link-439 tag-link-position-25' title='460 topics' style='font-size: 10.089552238806pt;'>створення</a> <a href='http://easy-code.com.ua/tag/tablici/' class='tag-link-496 tag-link-position-26' title='469 topics' style='font-size: 10.238805970149pt;'>таблиці</a> <a href='http://easy-code.com.ua/tag/tilki/' class='tag-link-6 tag-link-position-27' title='1,295 topics' style='font-size: 16.805970149254pt;'>тільки</a> <a href='http://easy-code.com.ua/tag/fajliv/' class='tag-link-293 tag-link-position-28' title='410 topics' style='font-size: 9.3432835820896pt;'>файлів</a> <a href='http://easy-code.com.ua/tag/funkci%d1%97/' class='tag-link-218 tag-link-position-29' title='439 topics' style='font-size: 9.7910447761194pt;'>функції</a> <a href='http://easy-code.com.ua/tag/informaci%d1%97/' class='tag-link-24 tag-link-position-30' title='368 topics' style='font-size: 8.7462686567164pt;'>інформації</a></div> <!--l_sidebar.php--> <div id="l_sidebar"> <ul> <br> <!--favorite posts--> <li> <h2>Нове на сайті</h2> <ul> <li><a href='http://easy-code.com.ua/2015/11/keruyuchi-klavishi-i-menyu-informix/'>Керуючі клавіші і меню INFORMIХ</a></li> <li><a href='http://easy-code.com.ua/2015/10/vipushheno-reliz-fastreport-fmx/'>Випущено реліз FastReport FMX</a></li> <li><a href='http://easy-code.com.ua/2015/10/oracle/'>Oracle</a></li> <li><a href='http://easy-code.com.ua/2015/09/func-hgi-35i-vertolit-z-keruvannyam-vid-iphone/'>Func HGI-35i: вертоліт з керуванням від iPhone</a></li> <li><a href='http://easy-code.com.ua/2015/08/faq-po-grafiku-i-animaciyu-dlya-web/'>FAQ по графіку і анімацію для Web</a></li> <li><a href='http://easy-code.com.ua/2015/07/funkciya-viznachennya-kilkosti-robochix-dniv/'>Функція визначення кількості робочих днів</a></li> <li><a href='http://easy-code.com.ua/2015/07/inshi-mozhlivosti-obyednannya-fajliv/'>Інші можливості об’єднання файлів</a></li> <li><a href='http://easy-code.com.ua/2015/07/oglyad-navushnikiv-z-aktivnim-shumozaglushennyam-asus-nc1/'>Огляд навушників з активним шумозаглушенням ASUS NC1</a></li> <li><a href='http://easy-code.com.ua/2015/06/net-service-oriented-architecture-soa/'>.NET: Service Oriented Architecture (SOA)</a></li> <li><a href='http://easy-code.com.ua/2015/06/oglyad-behold-betab-7004/'>Огляд Behold BeTAB 7004</a></li> </ul> </li> <li> <h2>Реклама</h2> <ul> <div class="adcontentcen1"> <!-- Sidebar 160x600 #956693 --> <script>(function(e){var t="DIV_DA_"+e+"_"+parseInt(Math.random()*1e3); document.write('<div id="'+t+'" class="directadvert-block directadvert-block-'+e+'"></div>'); if("undefined"===typeof loaded_blocks_directadvert){loaded_blocks_directadvert=[]; function n(){var e=loaded_blocks_directadvert.shift(); var t=e.adp_id; var r=e.div; var i=document.createElement("script"); i.type="text/javascript"; i.async=true; i.charset="windows-1251"; i.src="//code.directadvert.ru/data/"+t+".js?async=1&div="+r+"&t="+Math.random(); var s=document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]; s.appendChild(i); var o=setInterval(function(){if(document.getElementById(r).innerHTML&&loaded_blocks_directadvert.length){n(); clearInterval(o)}},50)} setTimeout(n)}loaded_blocks_directadvert.push({adp_id:e,div:t})})(956693)</script> </div> </ul> </li> </ul> </div> <!--l_sidebar.php end--> <!--r_sidebar.php--> <div id="r_sidebar"> <ul> <br> <li> <h2>Популярне</h2> <ul> <!-- 2017-08-24 05:10:04 --> <li><a href="http://easy-code.com.ua/2011/01/riznovidi-printeriv-zvichajni-ta-nezvichajni-printeri/">Різновиди принтерів. Звичайні та незвичайні принтери (7)</a></li> <li><a href="http://easy-code.com.ua/2012/09/yak-vidaliti-numeraciyu-storinok-ms-office-programni-kerivnictva-statti/">Як видалити нумерацію сторінок, MS Office, Програмні керівництва, статті (7)</a></li> <li><a href="http://easy-code.com.ua/2011/02/ustanovka-movnix-paketiv-windows-7-vruchnu/">Установка мовних пакетів Windows 7 вручну (8)</a></li> <li><a href="http://easy-code.com.ua/2010/11/velika-kognitivna-revolyuciya/">Велика когнітивна революція (13)</a></li> <li><a href="http://easy-code.com.ua/2012/08/nalashtuvannya-ekrannix-zastavok-v-windows-7-za-dopomogoyu-reyestru-windows-operacijni-sistemi-statti/">Налаштування екранних заставок в Windows 7 за допомогою реєстру, Windows, Операційні системи, статті (13)</a></li> <li><a href="http://easy-code.com.ua/2012/08/suputnikovij-internet-ta-telebachennya-na-noutbuci-za-dopomogoyu-prof-dvb-s-1100-usb-gadzheti-oglyadi/">Супутниковий інтернет та телебачення на ноутбуці за допомогою Prof DVB-S 1100 USB, Гаджети, огляди (13)</a></li> <li><a href="http://easy-code.com.ua/2014/11/pereklad-pdf-dokumentiv-za-dopomogoyu-google-translate/">Переклад PDF-документів за допомогою Google Translate (15)</a></li> <li><a href="http://easy-code.com.ua/2014/07/kalkulyator-teplotexnichnij-rozraxunok/">Калькулятор «Теплотехнічний розрахунок» (21)</a></li> <li><a href="http://easy-code.com.ua/2012/06/formatuvannya-abzaciv-u-word-2010-ms-office-programni-kerivnictva-statti/">Форматування абзаців у Word 2010, MS Office, Програмні керівництва, статті (24)</a></li> <li><a href="http://easy-code.com.ua/2012/08/gibernaciya-son-i-gibridnij-splyachij-rezhim-v-windows-7-pitannya-i-vidpovidi-windows-operacijni-sistemi-statti/">Гібернація, сон і гібридний сплячий режим в Windows 7 – питання і відповіді, Windows, Операційні системи, статті (11)</a></li> <!-- 2017-08-24 05:10:04 --></ul> </li> </ul> </div> <!--r_sidebar.php end--> </div> <!--sidebar.php end--><!--include footer--> </div> <div id="footer"> <p> При використанні матеріалів даного сайту пряме і явне посилання на сайт <a href="http://www.easy-code.com.ua/"> www.easy-code.com.ua </a> є обов'язковим. </p> <!--footer.php--> <div id="footer-wrap"> <noindex> <!--LiveInternet counter--><script type="text/javascript"><!-- document.write("<a href='http://www.liveinternet.ru/click' "+ "target=_blank><img src='//counter.yadro.ru/hit?t19.6;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";"+Math.random()+ "' alt='' title='LiveInternet: показано число просмотров за 24"+ " часа, посетителей за 24 часа и за сегодня' "+ "border='0' width='88' height='31'><\/a>") //--></script><!--/LiveInternet--> <!-- Yandex.Metrika counter --> <div style="display:none;"><script type="text/javascript"> (function(w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter10604395 = new Ya.Metrika({id:10604395, enableAll: true}); } catch(e) { } }); })(window, "yandex_metrika_callbacks"); </script></div> <script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript" defer="defer"></script> <noscript><div><img src="//mc.yandex.ru/watch/10604395" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <script type="text/javascript" src="//yandex.st/share/share.js" charset="utf-8"></script> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"> {lang: 'ru'} </script> </noindex> <BR><strong>ЕasyСode</strong> <!--necessary--> <script type='text/javascript' src='http://easy-code.com.ua/wp-content/plugins/akismet/_inc/form.js?ver=3.3'></script> <script type='text/javascript' src='http://easy-code.com.ua/wp-includes/js/wp-embed.min.js?ver=4.7.5'></script> <script type='text/javascript' src='http://easy-code.com.ua/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script> <script type='text/javascript' src='http://easy-code.com.ua/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1'></script> <script type='text/javascript' src='http://easy-code.com.ua/wp-content/plugins/easy-fancybox/fancybox/jquery.fancybox-1.3.8.min.js?ver=1.5.8.2'></script> <script type='text/javascript' src='http://easy-code.com.ua/wp-content/plugins/easy-fancybox/js/jquery.easing.min.js?ver=1.3.2'></script> <script type='text/javascript' src='http://easy-code.com.ua/wp-content/plugins/easy-fancybox/js/jquery.mousewheel.min.js?ver=3.1.12'></script> <script type="text/javascript"> jQuery(document).on('ready post-load', function(){ jQuery('.nofancybox,a.pin-it-button,a[href*="pinterest.com/pin/create/button"]').addClass('nolightbox'); }); jQuery(document).on('ready post-load',easy_fancybox_handler); jQuery(document).on('ready',easy_fancybox_auto);</script> </div> </div> <div class="soc-buttons"> <div class="yashare-auto-init" data-yashareL10n="ru" data-yashareQuickServices="vkontakte,facebook,twitter,odnoklassniki,moimir,gplus" data-yashareTheme="counter"></div> </div> <script>!window.jQuery && document.write('<script src="http://yastatic.net/jquery/2.1.3/jquery.min.js"><\/script>');</script> <script src="http://easy-code.com.ua/wp-content/themes/elegantblue/js/jquery.hc-sticky.min.js"></script> <script> jQuery(document).ready(function($){ $('.soc-buttons').hcSticky({ top: 25, bottomEnd: 90, wrapperClassName: 'sidebar-sticky2', noContainer: false }); }); </script> <script type="text/javascript" src="//yastatic.net/share/share.js" charset="utf-8"></script> </body> </html>