Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 9807 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 ..
Ähnliche Inhalte
Basic
gelöst Mit vb.net PDF in Word-Dok einfügen (10)

Frage von ahstax zum Thema Basic ...

Visual Studio
gelöst Vb.net: Word-Doc seitenweise durchsuchen nach Textmarke (7)

Frage von ahstax zum Thema Visual Studio ...

Visual Studio
Vb.net Datenfelder aus Word 2003 Dokument auslesen (3)

Frage von Herbrich19 zum Thema Visual Studio ...

Visual Studio
Srv records aus dem dns abfragen unter vb.net (14)

Frage von Herbrich19 zum Thema Visual Studio ...

Neue Wissensbeiträge
Viren und Trojaner

Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Externe IP von innen erreichbar machen (15)

Frage von Windows10Gegner zum Thema Router & Routing ...

Windows Installation
Windows 10 neu installieren (12)

Frage von imebro zum Thema Windows Installation ...

Windows Server
Frage zu Server Rack (11)

Frage von rainergugus zum Thema Windows Server ...