Показать сообщение отдельно
  #1  
Старый 20.12.2010, 13:36
Аватар для Paskal
Paskal Paskal вне форума
Новичок
 
Регистрация: 28.09.2010
Сообщения: 93
Репутация: 12
Вопрос Как сохранить документ по шаблону .dot

Здравствуйте! Ув. Программисты.
Я уж наверно утомил вас своими вопросами.
Такой вопрос
Открываю в св.программе шаблон dot(M.WordOffice) как сделать чтобы
все изменения записывались в новый документ с форматом .doc
а шаблон не изменялся.
мой кодинг записывает в тот же шаблон.
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, Menus, ComObj, ToolWin, OleServer,
  WordXP, Buttons;

type
  TForm2 = class(TForm)
    StaticText3: TStaticText;
    Edit24: TEdit;
    Edit25: TEdit;
    Edit26: TEdit;
    Edit27: TEdit;
    Edit28: TEdit;
    Edit29: TEdit;
    Edit30: TEdit;
    Edit31: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Edit2: TEdit;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Edit44: TEdit;
    Edit45: TEdit;
    Edit46: TEdit;
    Edit47: TEdit;
    Edit48: TEdit;
    Edit49: TEdit;
    PopupMenu1: TPopupMenu;
    Timer1: TTimer;
    Bevel1: TBevel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    WordApplication1: TWordApplication;
    SaveDialog1: TSaveDialog;
    Bevel2: TBevel;
    SpeedButton1: TSpeedButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Timer1Timer(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
   // procedure SpeedButton2Click(Sender: TObject);


 

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}



procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 Form1.TabSet1.Tabs.Delete(Form1.TabSet1.TabIndex);
 action:=cafree;
end;
procedure TForm2.Timer1Timer(Sender: TObject);
begin
//if  Form1.TabSet1.TabIndex >= 0 then
begin
//if ActiveMDIChild.Tag = Form1.TabSet1.TabIndex then
//form1.TabSet1.TabIndex:= ActiveMDIChild.Tag;
//Form1.MDIChildren[i].
//Form1.TabSet1.TabIndex:= ActiveMDIChild;
end;
end;

procedure TForm2.BitBtn2Click(Sender: TObject);

var
WordApp, doc :Variant;
adrSaveStr: String;
kodEdrop: String;
RezultPlus: Integer;
i, sam : Integer;
TextStr, Rezul2: String;
sTempStr, sTempStr1 , sTempStr2, sTempStr3,
sTempStr4, sTempStr5, sTempStr6: AnsiString;
begin

if SaveDialog1.Execute then
   adrSaveStr:=SaveDialog1.FileName;
   WordApplication1.Connect;
   Form1.Panel1.Visible:=True;
   Form1.Gauge1.MaxValue:= 26;
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;

   {
if FileExists('\data\doc\workdoc\IdentificationCode EDRPOY.doc') then
   adrSaveStr:='data\doc\workdoc\IdentificationCode EDRPOY.doc';
   WordApplication1.Connect;
   }
//try
   WordApp:=CreateOleObject('Word.Application');//
   doc:=WordApp.Documents.open(adrSaveStr);
sTempStr := Edit2.Text;
  while ( length( sTempStr ) < 75 ) do sTempStr := sTempStr + '_';
  Edit2.Text := sTempStr;
  //----------------------------------------------------------------
   sTempStr1 := Edit44.Text;
  while ( length( sTempStr1 ) < 55 ) do sTempStr1 := sTempStr1 + '_';
  Edit44.Text := sTempStr1;
  //----------------------------------------------------------------
   sTempStr2 := Edit45.Text;
  while ( length( sTempStr2 ) < 90 ) do sTempStr2 := sTempStr2 + '_';
  Edit45.Text := sTempStr2;
  //----------------------------------------------------------------
   sTempStr3 := Edit46.Text;
  while ( length( sTempStr3 ) < 90 ) do sTempStr3 := sTempStr3 + '_';
  Edit46.Text := sTempStr3;
  //----------------------------------------------------------------
   sTempStr4 := Edit47.Text;
  while ( length( sTempStr4 ) < 10 ) do sTempStr4 := sTempStr4 + '_';
  Edit47.Text := sTempStr4;
  //----------------------------------------------------------------
   sTempStr5 := Edit48.Text;
  while ( length( sTempStr5 ) < 90 ) do sTempStr5 := sTempStr5 + '_';
  Edit48.Text := sTempStr5;
  //----------------------------------------------------------------
   sTempStr6 := Edit49.Text;
  while ( length( sTempStr6 ) < 90 ) do sTempStr6 := sTempStr6 + '_';
  Edit49.Text := sTempStr6;
    Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 10;
//-------------------------------------Ідентифікаційний код  ЄДРПОУ 1
WordApp.Selection.GoTo(-1,,,'q1');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.TypeText(Edit24.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//----------------------------------------  2 E/9
WordApp.Selection.GoTo(-1,,,'q2');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.TypeText(Edit25.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//----------------------------------------  3 E/10
WordApp.Selection.GoTo(-1,,,'q3');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.TypeText(Edit26.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//---------------------------------------- 4 E/11
WordApp.Selection.GoTo(-1,,,'q4');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.TypeText(Edit27.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//---------------------------------------- 5 E/12
WordApp.Selection.GoTo(-1,,,'q5');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.TypeText(Edit28.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//---------------------------------------- 6 E/13
WordApp.Selection.GoTo(-1,,,'q6');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.TypeText(Edit29.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//---------------------------------------- 7 E/14
WordApp.Selection.GoTo(-1,,,'q7');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.TypeText(Edit30.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//---------------------------------------- 8 E/15
WordApp.Selection.GoTo(-1,,,'q8');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.TypeText(Edit31.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//--------------------------------------------------
kodEdrop:= Edit24.Text+Edit25.Text+Edit26.Text+Edit27.Text+Edit28.Text+Edit29.Text+Edit30.Text+Edit31.Text;
//-------------------------------------Найменування      char-74  fun .SelStart
WordApp.Selection.GoTo(-1,,,'q9');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.Font.Underline:= True;
WordApp.Selection.TypeText (Edit2.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//-------------------------------------Місцезнаходження (юридична адреса)
WordApp.Selection.GoTo(-1,,,'q10');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.Font.Underline:= True;
WordApp.Selection.TypeText (Edit44.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//--------------------------------------(поштовий індекс, область/ АР Крим,
WordApp.Selection.GoTo(-1,,,'q11');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.Font.Underline:= True;
WordApp.Selection.TypeText (Edit45.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//--------------------------------------№ будинку/ корпусу, № квартири/ офісу)
WordApp.Selection.GoTo(-1,,,'q12');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.Font.Underline:= True;
WordApp.Selection.TypeText (Edit46.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//--------------------------------------Адреса здійснення діяльності
WordApp.Selection.GoTo(-1,,,'q13');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.Font.Underline:= True;
WordApp.Selection.TypeText (Edit47.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//--------------------------------------(поштовий індекс, область/ АР Крим, район
WordApp.Selection.GoTo(-1,,,'q14');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.Font.Underline:= True;
WordApp.Selection.TypeText (Edit48.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//--------------------------------------№ будинку/ корпусу, № квартири/ офісу)
WordApp.Selection.GoTo(-1,,,'q15');
WordApp.Selection.Font.bold:= False;
WordApp.Selection.Font.Underline:= True;
WordApp.Selection.TypeText (Edit49.Text);
   Form1.Gauge1.Progress:= Form1.Gauge1.Progress + 1;
//++++++++++++++++++++++++++++++++++++++ and
//=============Количество символов===========
 beep;
 Form1.Panel1.Visible:=False;



//except
{WordApp.Documents.close(adrSaveStr);//C:\Documents and Settings\Admin\Мои документы\Модуль Delphi\word\Новая папка\xw.doc
//WordApp.ActiveDocument.Close (adrSaveStr);
//WordApplication1.
WordApplication1.Disconnect; }
 //variant 2

WordApp.ActiveDocument.SaveAs(FileName:=adrSaveStr, FileFormat:=wdFormatDocument);
 WordApp.ActiveDocument.Close;
  WordApp.Quit;
  WordApp:=null;




end;


procedure TForm2.BitBtn1Click(Sender: TObject);
begin
Edit24.Clear;
Edit25.Clear;
Edit26.Clear;
Edit27.Clear;
Edit28.Clear;
Edit29.Clear;
Edit30.Clear;
Edit31.Clear;
Edit2.Clear;
Edit44.Clear;
Edit45.Clear;
Edit46.Clear;
Edit47.Clear;
Edit48.Clear;
Edit49.Clear;
end;
end.


Зар. Поклон и уважение.
Ответить с цитированием