AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi OLE - Excel schließt sich nach Create
Thema durchsuchen
Ansicht
Themen-Optionen

OLE - Excel schließt sich nach Create

Ein Thema von WizoHulk · begonnen am 2. Mai 2011 · letzter Beitrag vom 3. Mai 2011
 
WizoHulk

Registriert seit: 25. Jun 2010
198 Beiträge
 
Delphi 5 Enterprise
 
#7

AW: OLE - Excel schließt sich nach Create

  Alt 2. Mai 2011, 15:03
habe die Variablen jetzt im Privat bereich deklariert.
jetzt wirft er mir aber eine exception wenn ich excel oder word createn will.

hier mal mein code
Delphi-Quellcode:
//********************************************************************************************************
// Microsoft OLE *}
{*    Anfang     *}
type
  TOffice = class(TObject)
  private
 // Excel : OleVariant;
// Word : OleVariant;
  public
    Excel : OleVariant;
    Word : OleVariant;
    constructor Create;
    destructor destroy;override;
    procedure OeffneWord(NeuesDokument: Boolean = False);
    procedure OeffneExcel(NeueTabelle : Boolean = False);
  end;

{*     Ende      *}

implementation
//*********************************************************************************************************
// MICROSOFT
// *Anfang*
//*********************************************************************************************************

constructor TOffice.Create;
begin
// mach was
end;

destructor TOffice.destroy;
begin
//destroy
end;

procedure TOffice.OeffneExcel(NeueTabelle : Boolean = False);
const
  ERROR_MSG : string = 'Microsoft Excel kann nicht starten!';

begin
  try
    Excel := GetActiveOleObject('Excel.Application');
    Excel.Windowstate := wsNormal
  except
    {* Ist keine Vorhanden wird neu erstellt *}
    try
      screen.Cursor := crHourGlass; //SandUhr Aktiv
      Excel := CreateOleObject('Excel.Application'); //Instanz wird erstellt
      Excel.Visible := True; //Ohne Worte
      if NeueTabelle then
        Excel.Workbooks.Add; //ein Tabsheet wird hinzugefügt
      screen.Cursor :=crDefault; //Sanduhr Deaktiv
    except
      ShowMessage(ERROR_MSG);
    end;
  end;
  screen.cursor:=crDefault;
end;

procedure TOffice.OeffneWord(NeuesDokument: Boolean = False);
var
  Word : OleVariant;
begin
 try
   {* Prüfe ob instanz vorhanden ist *}
   Word := GetActiveOleObject('Word.Application');
   Word.WindowState := wsNormal;
 except
   try
     screen.Cursor := crHourGlass;
     Word := CreateOleObject('Word.Application');
     Word.Visible := True;
     if NeuesDokument then
       Word.Documents.Add;
   except
     ShowMessage('Microsoft Word kann nicht starten.');
   end;
 end;
 screen.cursor:=crDefault;

end;

//*********************************************************************************************************
// MICROSOFT
// *Ende*
//*********************************************************************************************************
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz