Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Word unter vb.net Dienst fernsteuern

Frage Entwicklung Visual Studio

Mitglied: ChrFriedel

ChrFriedel (Level 1) - Jetzt verbinden

21.09.2010 um 15:03 Uhr, 9523 Aufrufe, 4 Kommentare

Hallo liebe Administratoren,

also ich bin aktuell dabei einen Windows-Dienst zu programmieren der diverse Worddokumente bearbeiten soll. Allerdings bin ich dabei auf ein mir unerklärliches Problem gestossen:

Hier erstmal ein Codeausschnitt:

01.
 
02.
Dim Word as new Microsoft.Office.Interop.Word.Application 
03.
word.documents.open(FileString) 
04.
msgbox(word.documents.count)  'Anzeige der in Word geöffneten Dokumente 
05.
 
06.
'Änderungen 
07.
 
08.
word.activeDocument.Save() 
09.
 
Dieser Code funktioniert einwandfrei wenn ich ihn in einer Windows-Forms Anwendung ausführe. Der selbe Code aber als Windows-Dienst funktioniert nicht. Das Problem ist das öffnen des Dokumentes. Die Zeile zum Öffnen des Dokuments wird zwar ohne Exception ausgeführt aber die Ausgabe word.documents.count zeigt 0 (Keine Exception also antwortet das Wordobject wie vorgesehen) wohingegen in einer Forms-Anwendung die erwartete 1 angezeigt wird. Alle Versuche auf Word.ActiveDocument zuzugreifen lösen eine Exception aus (Der Befehl ist nicht verfügbar weil kein Dokument geöffnet ist).

Mein Frage ist nun wieso Word aus dem Dienst zwar erfolgreich gestartet wird aber dann seinerseits kein Dokument öffnet.
Wenn ich es mit der Zeile

01.
Dim Doc = word.documents.open(FileString)
versuche wird diese zwar korrekt ausgeführt aber danach ist Doc trotzdem nicht referenziert.

Der Dienst lief schon unter verschiedenen Konten. Aktuell sogar unter dem Administrator. Auch habe ich mit diesem Konto bereits Word gestartet und die diversen Fenster beim Erststart geschlossen so das Word sich daran nicht stören sollte.
Weiterhin ist mir aufgefallen das Word laut Taskmanager läuft und sogar ziemlich viele Ressourcen benötigt. Leider bekomme ich es auch nicht hin Word sichtbar zu machen um zu sehen ob es etwas tut... Word.visible= true bringt in einem Dienst nicht den gewünschten Erfolg. Auch in diese Richtung wäre ich für einen Tipp dankbar.

Das Betriebssystem ist Windows Server 2008 (nicht R2), das verwendete Office 2007 und kompilliert wird mittels Visual Studio 2010 fürs .Net Framework 2.0

Wer hat eventuell eine Idee was ich noch versuchen könnte um Word mittels VB.Net Dienst fernzusteuern?

Bin für jeden Gedanken dankbar!

Viele Grüße
Mitglied: SlainteMhath
21.09.2010 um 15:52 Uhr
Moin,

grundsätzlich können Dienste ab Vista nicht mehr direkt mit dem Desktop interagieren (also auch keine Fenster usw öffnen). Nennt sich "Session 0 isolation" => http://www.microsoft.com/whdc/system/sysinternals/Session0Changes.mspx

Evtl. lliegt hier dein Problem.

lg,
Slainte
Bitte warten ..
Mitglied: ChrFriedel
21.09.2010 um 16:06 Uhr
Vielen Dank erstmal für den Tipp. Das war mir neu.
Aber das es mit dem Problem zu tun hat glaube ich (noch) nicht, da ich aus dem gleichen Dienst heraus auch eine andere Anwendung per API fernsteuere die ebenfalls Dokumente öffnet und verändert. Ich gehe deswegen mal davon aus das das auch mit Word funktionieren sollte. Aber die Session-Thematik schaue ich mir auf jeden Fall an.

Auch für eine Workaround-Idee wäre ich offen.
Bitte warten ..
Mitglied: ChrFriedel
23.09.2010 um 14:08 Uhr
Also das Thema würde ich als gelöst bezeichnen auch wenn die Lösung schlicht und ergreifend nur ist das es nicht funktioniert. Für alle suchenden habe ich einem anderen Forum noch den Tipp zu "Aspose Word" oder "TX Text Control" als kostenpflichtige Komponenten für .Net erhalten. Vielleicht nützt das jemandem etwas.

Grüße
Bitte warten ..
Mitglied: ChrFriedel
19.01.2012 um 15:51 Uhr
Das Mitglied Avantis hat mir zu diesem Thread noch eine alternative Lösung gesendet die vielleicht einigen helfen könnte:


Solution

32-bit systems:

1) browse to the folder: C:\Windows\System32\config\systemprofile

2) create a new folder and name it "Desktop".

3) you're done.



64-bit systems:

1) Do what I described for 32-bit systems.

2) browse to the folder: C:\Windows\SysWOW64\config\systemprofile

3) create a new folder and name it "Desktop".

4) you are done.
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Visual Studio
gelöst VB.Net - Problem mit Umleitung der Standard-Ausgabe (4)

Frage von emeriks zum Thema Visual Studio ...

Visual Studio
gelöst Vb.net Pfadangabe mit Wildcards wie Stern Regex Pattern (2)

Frage von Pilger83 zum Thema Visual Studio ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...