![]() |
Word über Late Binding aufrufen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe gerade auf meiner Datensicherungs DVD gestöbert und ein altes D4 Programm gefunden, dass die Rechtschreibkorrektur von Word verwendet. Komischerweise kommt nur die Meldung Das angegebene Modul wurde nicht gefunden. Ich bin mir sicher das es mal funktioniert hat. Ich bin mir auch sicher, dass Word korrekt installiert ist. (Siehe Bild) Weiss jemand Rat? Hier versuche ich mit D7 Word über die Säte Bindung zu starten. Geht auch nicht.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } FWord : OleVariant; public { Public-Deklarationen } end; var Form1: TForm1; implementation uses ComObj; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin FWord := CreateOleObject('Word.Application'); // <<- funktioniert nicht mehr end; end. |
Re: Word über Late Binding aufrufen
Hast Du es auch schon mal über die frühe Bindung versucht. Was passiert, wenn in Excel ein Word eingefügt wird bzw. ein Word-Dokument im IE geöffnet wird.
Es richt nach einer zerschossenen Word-Installation (wobei nur die COM-Registrierung defekt ist). |
Re: Word über Late Binding aufrufen
Zitat:
Werde es mal ausprobieren. Excel Automation läuft einwandfrei. |
Re: Word über Late Binding aufrufen
Zitat:
|
Re: Word über Late Binding aufrufen
Zitat:
|
Re: Word über Late Binding aufrufen
Hallo Bernhard,
Mist - über die Serverkomponente geht es auch nicht. |
Re: Word über Late Binding aufrufen
Zitat:
|
Re: Word über Late Binding aufrufen
Hallo Bernhard,
jetzt habe ich keine Ideen mehr. Ich habe alle Registry Eintrage zwischen Excel und Winword verglichen. Insbesondere alle die mit Excel.Application und Word.Application zusammenhängen. Unter Excel.Application findet man den Key "CLSID". Den Wert des Schlüssel interpretiert man dann als neuen Key. Dort findet man dann den Key "LocalServer32". (Excel und Winword werden ja als Localserver ausgeführt) Die Werte dieses Schlüssel enthalten die korrekten Verzeichnisse für Winword o. Excel. D.h. die Registryeinträge Winword's entsprechen denen von Excel. Deshalb kann ich mir nicht erklären warum Winword nicht gefunden wird. Eine Installationsreparartur hat nix gebracht. Eine Neuinstallation war ebenfalls erfolglos. Hinweis: wenn ich in Excel ein Word-Document einbetten will kommt die Meldung: Objekt kann nicht eingefügt werden |
Re: Word über Late Binding aufrufen
Hallo Bernhard,
nach dem ich das vorherige gepostet hatte, habe ich mich dran gemacht und noch einaml alles zwischen Excel.Applicaiton und Word.Application verglichen. Ich habe einen Unterschied im Key [HKEY_CLASSES_ROOT\CLSID\{000209FF-0000-0000-C000-000000000046}\InprocServer32 gefunden!
Code:
Den Wert für den Standardeintrag
[HKEY_CLASSES_ROOT\CLSID\{000209FF-0000-0000-C000-000000000046}\InprocServer32]
"Assembly"="Microsoft.Office.Interop.Word, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" "Class"="Microsoft.Office.Interop.Word.ApplicationClass" "RuntimeVersion"="v1.1.4322" @="C:\\Programme\\Gemeinsame Dateien\\Symantec Shared\\Script Blocking\\ScrBlock.dll"
Code:
gibt es für Excel nicht.
@="C:\\Programme\\Gemeinsame Dateien\\Symantec Shared\\Script Blocking\\ScrBlock.dll"
Nach dem den Standardeintrag gelöscht habe startet Winword. Fazit: Problem vorerst gelöst |
Re: Word über Late Binding aufrufen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 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