<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40490&amp;view=findpost&amp;p=262544</guid>
        <pubDate>Sat, 13 Dec 2003 08:02:10 +0000</pubDate>
        <title>Работа с MS Word через OLE</title>
        <link>https://forum.sources.ru/index.php?showtopic=40490&amp;view=findpost&amp;p=262544</link>
        <description><![CDATA[Song: [doHTML]&lt;pre&gt;&lt;br&gt;unit Unit1;&lt;br&gt;&lt;br&gt;interface&lt;br&gt;&lt;br&gt;&lt;b&gt;uses&lt;/b&gt;&lt;br&gt;  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,&lt;br&gt;  Buttons, ComCtrls, ExtCtrls, OleCtnrs;&lt;br&gt;&lt;br&gt;&lt;b&gt;type&lt;/b&gt;&lt;br&gt;  TForm1 = &lt;b&gt;class&lt;/b&gt;(TForm)&lt;br&gt;    OleContainer1: TOleContainer;&lt;br&gt;    Panel1: TPanel;&lt;br&gt;    StatusBar1: TStatusBar;&lt;br&gt;    mbLoad: TSpeedButton;&lt;br&gt;    mbPrint: TSpeedButton;&lt;br&gt;    OpenDialog1: TOpenDialog;&lt;br&gt;    &lt;b&gt;procedure&lt;/b&gt; mbLoadClick(Sender: TObject);&lt;br&gt;    &lt;b&gt;procedure&lt;/b&gt; mbPrintClick(Sender: TObject);&lt;br&gt;  &lt;b&gt;private&lt;/b&gt;&lt;br&gt;    { &lt;b&gt;Private&lt;/b&gt; declarations }&lt;br&gt;  &lt;b&gt;public&lt;/b&gt;&lt;br&gt;    { &lt;b&gt;Public&lt;/b&gt; declarations }&lt;br&gt;  &lt;b&gt;end&lt;/b&gt;;&lt;br&gt;&lt;br&gt;&lt;b&gt;var&lt;/b&gt;&lt;br&gt;  Form1: TForm1;&lt;br&gt;&lt;br&gt;&lt;b&gt;implementation&lt;/b&gt;&lt;br&gt;&lt;br&gt;{&#036;R *.DFM}&lt;br&gt;&lt;br&gt;&lt;b&gt;procedure&lt;/b&gt; TForm1.mbLoadClick(Sender: TObject);&lt;br&gt;&lt;b&gt;begin&lt;/b&gt;&lt;br&gt; //&lt;i&gt; Покажем диалог,<br>и если он отработал, то загрузим в контейнер&lt;br&gt; &lt;b&gt;if&lt;/b&gt; OpenDialog1.Execute and (OpenDialog1.FileName&lt;&gt;&#39;&#39;) &lt;b&gt;then&lt;/b&gt;&lt;br&gt;  OleContainer1.CreateObjectFromFile(OpenDialog1.FileName,false);&lt;br&gt; // Если загрузилось что-нибудь, то покажем&lt;br&gt; &lt;b&gt;if&lt;/b&gt; OleContainer1.State &lt;&gt; osEmpty &lt;b&gt;then&lt;/b&gt;&lt;br&gt;  OleContainer1.DoVerb(ovShow);&lt;br&gt;&lt;b&gt;end&lt;/b&gt;;&lt;br&gt;&lt;br&gt;&lt;b&gt;procedure&lt;/b&gt; TForm1.mbPrintClick(Sender: TObject);&lt;br&gt;&lt;b&gt;var&lt;/b&gt;&lt;br&gt; V : Variant;&lt;br&gt;&lt;b&gt;begin&lt;/b&gt;&lt;br&gt; &lt;b&gt;if&lt;/b&gt; OleContainer1.State = osEmpty &lt;b&gt;then&lt;/b&gt; &lt;b&gt;Begin&lt;/b&gt;&lt;br&gt;  MessageDlg(&#39;OLE не загружен &#33;&#33;&#39;, mtError, [mbOk],0);&lt;br&gt;  exit;&lt;br&gt; &lt;b&gt;end&lt;/b&gt;;&lt;br&gt;  // Получаем объект, который воплощает в себе WordBasic интерфейс&lt;br&gt;  V := OleContainer1.OleObject.Application.WordBasic;&lt;br&gt;  // Командуем до одурения ....&lt;br&gt;  V.FilePrint;&lt;br&gt;&lt;b&gt;end&lt;/b&gt;;&lt;br&gt;&lt;b&gt;end&lt;/b&gt;.&lt;br&gt;&lt;/i&gt;&lt;/pre&gt;[/doHTML]<br><br>Источник: рассылка delphimaster.ru]]></description>
        <author>Song</author>
        <category>ActiveX, COM, DCOM, CORBA, MIDAS, интерфейсы, OLE, DDE</category>
      </item>
	
      </channel>
      </rss>
	