Autor Beitrag
scholei
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Di 20.09.05 14:32 
Hallo,

ich schreibe eine VCL-Formularanwendung für .NET und benutze
Delphi 2005.
Nach dem ich die Automation über Microsoft.Office.Interop.Word
für Word XP in griff habe, bin ich auf das Problem der Abwärtskompatibilität gestoßen. Sobald ich Word 2000 oder niedriger versuche anzusteuern funktioniert das ganze nicht mehr.

Wie kann ich sicherstellen, dass alle Word Varianten angesteuert werden können?

Gruß

scholei
MisterBum
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 107



BeitragVerfasst: Di 20.09.05 14:55 
Was heisst funktioniert nicht mehr??? Bitte etwas genauer...
Sollen wir Fehlerraten spielen???
scholei Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Di 20.09.05 15:04 
folgender Fehler tritt auf:

_Application faild

genauere Fehlerbeschreibung kann ich erst heute Abend schreiben, da ich momentan am Projekt sitze.

Gruß

scholei
scholei Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Di 20.09.05 18:46 
Hollo,

habe jetzt die korrekte Fehlermeldung:

Zitat:
QueryInterface for interface Microsoft.Office.Interop.Word._Application failed


auch noch mal als Dateianhang.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure TFHauptformular.ButtonClick(Sender: TObject);
var wordapp: Microsoft.Office.Interop.Word.Application;
    n : System.&Object;

begin
  wordapp:= Microsoft.Office.Interop.Word.Applicationclass.Create;

  n:= System.Reflection.Missing.Value;

  if (wordapp = nilthen
    begin
      ShowMessage('keine Verbindung!');
      Exit;
    end;
//bis hier ohne Fehler

//Fehler kommt nach Aufruf von:
  wordapp.Visible:= true;
  wordapp.Documents.Open('C:\Datei.doc',n,n,n,n,n,n,n,n,n,n,n,n,n,n);


end;



Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt.
Einloggen, um Attachments anzusehen!
MisterBum
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 107



BeitragVerfasst: Mi 21.09.05 10:44 
Versuch mal folgenden Code, obs mit dem funktioniert...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
try
  {Es wird zuerst versucht, eine laufende Word-Instanz zu verwenden}
    Word := GetActiveOleObject('Word.Application');
  except
    try
      {Läuft Word noch nicht, wird eine neue Verbindung aufgebaut}
      Word := CreateOleObject('Word.Application');
    except
      {Schlägt sie fehl (Word nicht installiert), gibt es eine Fehlermeldung}
      MessageDlg('Microsoft Word konnte nicht gestartet werden!', mtError, [mbOk], 0);
      exit;
    end;
  end;
  Word.visible := true;
scholei Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Mi 21.09.05 11:22 
Hallo

die
GetActiveOleObject('Word.Application');
CreateOleObject('Word.Application');

wird bei mir nicht erkannt. Da kommt der Fehler:
nicht deklarierter Bezeichner


obwohl ich ComObj eingebunden habe.

Gruß

scholei
MisterBum
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 107



BeitragVerfasst: Mi 21.09.05 11:33 
Hast du denn die Variable deklariert?

ausblenden Delphi-Quelltext
1:
Word: Variant;					
scholei Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Mi 21.09.05 11:42 
Ja hab ich.
Klaus27
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 31.01.06 14:07 
Vermutlich fehlt:

uses ..., ComObj, ...;