Problem mit CreateObject("Word. Application ") + Normal.Dot

Einbindung von Office-Komponenten wie Word, Excel usw.

Moderator: Moderatoren

Thanquol
Rookie
Rookie
Beiträge: 11
Registriert: Di, 24. Feb 2009 10:08

Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Thanquol »

Hallo,

ich bin mir sicher, dass meine Anfrage hier falsch ist - bitte mag die ein Mod verschieben?
Aber ich bin leider kein Programmierer und kanns daher nicht besser zuordnen! Danke :)

Vielleicht könnt ihr mir weiterhelfen:

Ein Kunde von uns hat einen windows 2003 Terminalserver mit Office 2003.
In einer Kundenapplikation wird (lt. dem zuständigen Programmierer) nur die Zeile
oWord := CreateObject("Word. Application ") aufgerufen
Das ganze schreibt er in eine Variable
lt. seiner Aussage: ist die Variable leer ist Word nicht installiert, ist die Variable vorhanden ist Word installiert.
Eine Speicherung oder Änderung macht diese Funktion angeblich nicht.

Allerdings erscheint bei geöffnetem Outlook (und damit gestartetem Winword.exe) im Hintergrund die Meldung:
normal.dot bereits geöffnet ... anderen Speicherort angeben...

Das ist auf dauer natürlich störend :(

Könntet ihr mir bitte auf "Nicht-programmierer-deutsch" kurz erklären, was diese Funktion wirklich macht und ob der Normal.dot Speicherversuch durch diese Funktion angetoßen werden könnte, oder obs doch ein anderes Problem ist?

Für mich sieht's nach einem Programmier"Problem" aus und nicht nach einem Fehler auf Windowsseite!


Vielen dank im vorraus,
Florian H.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16555
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Martin Altmann »

Hallo Florian,
ich gehe mal davon aus, dass in dem Outlook WinWord als Maileditor eingestellt ist - richtig?
Wenn Ihr dann Outlook entsprechend umkonfiguriert, sollte das Problem eigentlich weg sein.
Ob man das jetzt programmtechnisch abfangen könnte, kann ich Dir leider nicht sagen.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Thanquol
Rookie
Rookie
Beiträge: 11
Registriert: Di, 24. Feb 2009 10:08

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Thanquol »

Hi,

danke für die schnelle Antwort!

Aber das Problem ansich bleibt bestehen wenn ich nebenbei gerade noch ein Worddokument offen habe um dort irgendetwas zu schreiben :(

Was macht denn die Funktion CreateObject("Word. Application ") genau? Gibts dafür eine frei zugängliche Beschreibung?


Danke,
Flo
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16555
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Martin Altmann »

Hallo Florian,
sorry.
Wundert mich aber - von anderen habe ich diese Problematik so noch nicht gehört...
CreateObject("Word. Application ") bereit (instanziiert) das Word-Objekt vor, so dass Du damit im Anschluß dann arbeiten kannst. Also Drucken einer Datei oder Editieren oder...

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Thanquol
Rookie
Rookie
Beiträge: 11
Registriert: Di, 24. Feb 2009 10:08

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Thanquol »

ok danke schonmal!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16555
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Martin Altmann »

Andere Idee: Du musst bei dem PC wohl eine temporäre Datei der normal.dot liegen haben - wahrscheinlich nach einem Absturz nicht ordentlich entfernt.
Suche mal in dem Verzeichnis, in dem auch die normal.dot liegt, nach einer Datei namens ~$Normal.dot
Wenn Du eine solche findest, beende ein ggf. laufendes Winword komplett und lösche diese Datei dann manuell.
Danach sollte es eigentlich gehen!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Thanquol
Rookie
Rookie
Beiträge: 11
Registriert: Di, 24. Feb 2009 10:08

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Thanquol »

Danke für den Tipp! Würd ja eigentlich logisch klingen...
aber der Fehler bleibt leider der gleiche :/

Mfg,
Florian
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16555
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Martin Altmann »

Hallo Florian,
das Problem liegt an dem PC - dort muss irgendwas "quer" sein.
Wird WinWord (oder eine Komponente davon) mehrmals gestartet? Z.B. im Autostart? Irgendeine andere Software, die permanent im Hintergrund läuft und auch Winword-Komponenten nutzt?
Wenn Dein Problem "normal" wäre, hätten viele andere, die WinWord aus Xbase++ ansteuern, diese Fehlermeldung auch schon gemeldet.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Thanquol
Rookie
Rookie
Beiträge: 11
Registriert: Di, 24. Feb 2009 10:08

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Thanquol »

Da es sich hierbei um einen Terminalserver handelt ist die winword instanz mehrfach geöffnet - aber pro User natürlich in seinem eigenem Arbeitsbereich.

Wenn ich Winword im Taskmanager beende und das Programm starte gibts kein Problem
nur wenn ich Winword offen habe (manuell als einziges laufendes Programm) kommt diese Meldung.

Mal der Vollständigkeithalber:
Bild
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16555
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Martin Altmann »

Hallo Florian,
ah! Terminal Server!
Wie ist denn die Konfiguration für den Speicherort der Normal.dot?
Gehen alle User auf die selbe oder hat jeder User seine eigene? Ist der Pfad also in ein absolutes Verzeichnis gelegt oder in ein Verzeichnis analog dem %USERPROFILE%\Vorlagen?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Thanquol
Rookie
Rookie
Beiträge: 11
Registriert: Di, 24. Feb 2009 10:08

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Thanquol »

Ist bei jedem User sein eigener Pfad unter C:\dok..\user\vorlagen
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16555
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Martin Altmann »

OK - und wo liegt die Normal.dot? Im zentralen Verzeichnis oder bei jedem im eigenen Benutzervorlagenverzeichnis?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Thanquol
Rookie
Rookie
Beiträge: 11
Registriert: Di, 24. Feb 2009 10:08

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Thanquol »

jeder User hat seine eigene normal.dot in dem Verzeichnis:

C:\Dokumente und Einstellungen\%username%\Anwendungsdaten\Microsoft\Vorlagen

also keine Überschneidungen oder doppelte Verwendungen....
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16555
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Martin Altmann »

Gut - und eine Normal.dot im normalen Anwendungspfad gibt es nicht mehr - hoffe ich!
Oder doch? Wenn ja, weg damit...

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Thanquol
Rookie
Rookie
Beiträge: 11
Registriert: Di, 24. Feb 2009 10:08

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Thanquol »

nein das ist die einzige Normal.dot die's gibt :(
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16555
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Martin Altmann »

Hmm - dann bin ich mit meinem ferndiagnostischen Latein auch erst mal am Zenit angelangt...

Sorry,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Thanquol
Rookie
Rookie
Beiträge: 11
Registriert: Di, 24. Feb 2009 10:08

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Thanquol »

kein Problem! Danke dir
Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Muecke »

Hallo,
Ich bin mir da nicht ganz sicher, aber öffnet jeder User sein eigenes *.dot?
Prüf dies doch mal.
Was ist, wenn du jedem User ein eigenes *.dot gibts? (normal1.dot,normal2.dot usw.)

Gruss Thomas
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15707
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 71 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von brandelh »

Hallo,

hier ein Auszug aus einem Beispielprogramm ...

Code: Alles auswählen

oWord := CreateObject("Word.Application")
IF Empty( oWord )
    MsgBox( "Microsoft Word ist nicht installiert" )
ENDIF
wie der Programmierer sagte erzeugt der Aufruf eine Referenz (eine Art von Fernsteuerung) auf das installierte Word.
Wenn oWord leer (empty()) ist, dann gibt es die Fehlermeldung.
Wenn nicht dann dürfte in diesem Falle Word ein neues Dokument (DOC) auf Grundlage von normal.dot erzeugt haben.
So wie wenn man Word normal startet (bitte prüfen was passiert bei normalem Start).

Ab und zu habe ich aber schon erlebt, dass Änderungen an Formaten etc. den NORMAL.DOT ändern wollten ...
warum war mir nicht klar und letzten habe ich eine Ewigkeit gebraucht dieses Verhalten (laden eines ganz anderen Textes) abzuschalten, weil meine Frau unbewusst den normal.dot überschrieben hatte :?

Lange Rede kurzer Sinn, entweder öffnet das Xbase++ Programm nach dieser Befehlszeile z.B. so

Code: Alles auswählen

oWord:documents:open( "normal.dot" )
(das Verhalten kann man nachstellen in dem man das per Hand auch so in Word macht.)

oder und das scheint mir wahrscheinlicher, der Admin hat verschiedene Startvorgaben für Word festgelegt, die ihrerseits den normal.dot öffnen. Dann muss man mit speichern unter unter einem neuen Namen speichern um normal.dot freizugeben.
Eventuell sind auch Startup Macros (VBA) aktiv ?

Mit solchen Startmakros habe ich einmal Word Pro als Formatübersetzer ferngesteuert ... aber das ist ein anderes Thema.
Gruß
Hubert
Benutzeravatar
Muecke
1000 working lines a day
1000 working lines a day
Beiträge: 623
Registriert: Di, 24. Okt 2006 7:19
Wohnort: Samstagern CH
Hat sich bedankt: 3 Mal
Danksagung erhalten: 9 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Muecke »

Hi,
aber es ist einfach wichtig, dass man sicher stellt, dass auch Word richtig geschlossen wurde.
Ist dies nicht der Fall und man öffnet wieder Word, dann kann es sein, das dann der Fehler auftritt, da das *.dot File ja schon bereits geöffnet ist von dem Word das nicht sauber geschlossen wurde.


Gruss Thomas
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12913
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 46 Mal

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von AUGE_OHR »

hi,

Frage : Kann man überhaupt 1x Word mit mehreren Usern ? ... Ich dachte immer man braucht pro
User 1x Word ...

ansonsten würde ich mich Thomas anschliessen und meinen das ein User noch Word "in Benutzung"
hat und/oder Word nicht richtig geschlossen wurde da es sich ja um Word 2003 handelt (incl. SP3).

Wenn ich mich richtig erinnere gab es dort ein Problem bei Dynamiccast mit dem "Click" Event.
Workaround : upgrade auf Word 2007

... aber damit ist meine Anfangsfrage noch nicht gelöst ob es überhaupt geht ?
gruss by OHR
Jimmy
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16555
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Martin Altmann »

Jimmy,
klar geht es im Prinzip - sonst könnte man unter keinem Terminalserver Word nutzen!!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15707
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 71 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von brandelh »

Hi,
bei uns im Büro läuft Windows Office 2003 komplett über Terminal Server, ob die dafür eine "Spezialversion" brauchten weiß ich nicht, sicher braucht man aber die vielen Lizenzen ;-) . Stell dir mal vor die müssten auf den Servern 1000 Einzellizenzen installieren :D
Gruß
Hubert
Thanquol
Rookie
Rookie
Beiträge: 11
Registriert: Di, 24. Feb 2009 10:08

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von Thanquol »

ein spezielles Office gibt es nicht, theoretisch geht: 1x Office installieren - jeder nutzts! Genug Lizenzen müssen halt vorhanden sein!

Inzwischen bin ich auf die Lösung gekommen:
auf dem Server war das Office Live Plugin installiert... (Der Kunde bastelt leider viel selbst rum...)
-> deinstalliert -> Die CreateObject Zeile ruft das Phänoment nicht mehr hervor :)


Vielen Dank für eure Mithilfe!!!!

Florian
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15707
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 71 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Re: Problem mit CreateObject("Word. Application ") + Normal.Dot

Beitrag von brandelh »

Thanquol hat geschrieben:auf dem Server war das Office Live Plugin installiert... (Der Kunde bastelt leider viel selbst rum...)
-> deinstalliert -> Die CreateObject Zeile ruft das Phänoment nicht mehr hervor :)
das erinnert mich irgendwie an die Anfänge von Windows NT Servern.
Was waren das schöne 3D-Bildschirmschoner, die dem Serveradmin etwas fürs Auge boten ...
während alle Anwender verzweifelt auf die Antwort des Servers warteten :D
Gruß
Hubert
Antworten