Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Excel oder Word über einen Button starten

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.11.2005, 13:50 Uhr
~Moz-Tec
Gast


Hallo Leute,

habe mal wieder ein Problem und brauche eure Hilfe.


Ich möchte über ienen Button auf einer Form die Anwendung Excel sterten.

Ich habe mir aus dem Internet auch mal ein Beispiel gezogen aber irgendwie funzt des net.


C++:
void __fastcall TForm1::BitBtnRunClick(TObject *Sender)
{
    // Excel starten
    vEx = CreateOleObject("Excel.Application");

    // Excel sichtbar machen.
    vEx.OlePropertySet("Visible", true);
}


Beim compilieren bekomme ich immer die Fehler:

[C++ Fehler] sysvari.h(2579): E2451 Undefiniertes Symbol 'TAutoArgs'.
[C++ Fehler] sysvari.h(2579): E2451 Undefiniertes Symbol 'args'.
[C++ Fehler] sysvari.h(2579): E2451 Undefiniertes Symbol 'args'.

Die Datei sysvari.h wird geöffnet und es wird diese Zeile hinterlegt:

emplate <class P1>
void Variant::OlePropertySet(const String& name, P1 p1)
{
TAutoArgs<1> args;
args[1] = p1;
// HIER BLEIB DER COMPILER STEHEN.
OlePropertySet(name, static_cast<TAutoArgsBase&>(args));

Ich Verwende noch den Borland Builder 4.0 Prof. und die Version von Excel ist 97. das Gleiche Problem stellt sich auch wenn ich das mit Word probiere. Kann mir jemand helfen bin auf diesem Gebiet sehr unerfahren und möchte doch gerne Excel und Word über einen Button starten lassen damit ich in den Apllictionen Tabellen oder Dokumente bearbeiten kann.

Bin für jede Hilfe dankbar.

Im voraus schon mal Danke

Gruß Moz-Tec
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.11.2005, 20:46 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
willst du nur Excel startén? Wen ja reicht ShellExecute()
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.11.2005, 08:01 Uhr
~Moz-Tec
Gast


Hallo Uwe,

Ja, ich möchte einfach nur Excel oder Word Starten und über Excel oder Word die entsprechende Tabelle oder das Dokument bearbeiten, jedoch mit allen Optionen die die Programmen anbieten.

Ich probiere mal, ob ich das hin bekomme mit ShellExecute().
Danke! Wenn ich´s nicht hin bekomme melde ich mich noch mal.

Bis dann Moz-Tec

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.11.2005, 10:44 Uhr
~Moz-Tec
Gast


Hallo Uwe,

Na das hat ja ganz gut geklappt DANKE!!!

ABER:
Jetzt bin ich überrascht über einen Fehler den mit Excel beim Starten ausgibt.
Excel sagt es kann die Datei nicht offnen!!! Die Datei existiert jedoch sonst würde das Programm ja auch nicht in die IF Bedingung eintreten. Was mache ich denn jetzt noch falsch??? Die Forschleife ist nur mal ein Test für mich gewesen, den ich weiter ausprogrammieren will.

C++:
// In der Listbox ausgewälte Logbuchdatei öffnen zum bearbeiten
for ( int i = 0 ; i < Form6->ListBox1->Items->Count ; i++ )
  {
  if ( Form6->ListBox1->Selected[i] )
    {
    char Aufmachen[250] = "I:\\P R O J E K T E\\Sander\\021 204_09-12\\Logbuch\\LOG_021 204.xls";
    // Datei im Rich Text Format öffenen
    if ( FileExists(Aufmachen))
      {
      ShellExecute(NULL,"open","Excel",Aufmachen ,NULL,SW_SHOWNORMAL);
      return;
      }
    else
      {
      MessageBeep(0);
      Application->MessageBox("Logbuch konnte nicht geöffnet werden!!! ", "Hinweis!!!", MB_OK);
      break;
      }
    }
  }
}



Für eine Hilfestellung wäre ich sehr dankbar.

Im voraus schon mal Danke.

Gruß Moz-Tec
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.11.2005, 11:27 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
ShellExecute(NULL,"open",Aufmachen,NULL ,NULL,SW_SHOWNORMAL);
zweiter Param LPCTSTR lpOperation öffnet hier die Awendung mit welcher
der dritte Param LPCTSTR lpFile verödelt ist. Dann müsste es eigenlich funzen.

Bearbeitung von Uwe:

Letzten Satz angefügt:


Schau mal im Task-Manager nach ob ggf. Excel noch eine Instanz offen hat, bei einem Fehler wird Excel nicht immer richtig beendet.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 08.11.2005 um 11:42 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.11.2005, 12:58 Uhr
~Moz-Tec
Gast


Hallo Uwe,

ganz herzlichen Dank, es funzt.

Gruß Moz-Tec
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: