Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Remote Server Computer nicht verügbar

Remote Server Computer nicht verügbar
03.08.2021 07:16:52
Raptor
Hallo Forum,
ich erstelle mit einer Excel Datei Verträge. Ich habe in Excel eine UserForm, in welche ich Daten eingebe. Diese Daten werden dann über Verknüpfungen in meine Word Dokumente eingefügt und als PDF gespeichert. Beim 1.Versuch alles gut. aber beim 2. Versuch bringt er mir dann die Fehlermeldung: Laufzeitfehler 462 "Der Remote Server Computer ist nicht verfügbar oder existiert nicht.. Ich habe auch im Task Manager gesehen, dass Word noch im Hintergrund geöffnet ist allerdings weiß ich nicht wie ich es per Code schließe.
Gruß

Sub Button_Weiter_Click()
'Word Prozesse beenden, um fehler zu vermeiden.
'Vorgaben definieren
Dim objWindowsService As Object
Set objWindowsService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\.rootcimv2")
'Abfrage der aktiven Prozesse
Dim ProcessList As Object
Set ProcessList = objWindowsService.ExecQuery _
("SELECT * FROM Win32_Process WHERE Name = 'winword.exe'")
'Selektierte Prozessliste durchlaufen
Dim objProcess As Object
For Each objProcess In ProcessList
objProcess.Terminate 'Prozess beenden
Next objProcess
'Deklarationen
Dim Word As Object
Dim Doc1 As Object
Dim Ziel1 As String
Dim D1 As String
'Pfade angeben
D1 = Worksheets("Quellpfade").Range("B5").Value
Ziel1 = Worksheets("Speicherpfade").Range("C5").Value
Ladebalken.Show vbModeless
'Variablen zum öffnen der Dokumente erstellt.
Set Word = CreateObject("Word.Application")
Word.Visible = False
Word.DisplayAlerts = 0
Word.ScreenUpdating = False
Word.Options.SaveNormalPrompt = False
Word.Options.SavePropertiesPrompt = False
Set Doc1 = Word.Documents.Open(D1)
On Error GoTo Weiter
Dim x As Integer
Dim y As Integer
Dim a As Integer
Dim b As Integer
x = 198.25
y = Worksheets("Stammdaten").Range("D18").Value
b = x / y
'Dokumente öffnen, automatisch aktualisieren und speichern.
Doc1.SaveAs Ziel1
Doc1.Close
Set Doc1 = Nothing
Set Word = Nothing
DoEvents
Ladebalken.Label.Width = 3
Ladebalken.Caption = "Dokumente werden erstellt... 1/18"
Weiter:
'Word Prozesse beenden, da sonst der Arbeitsspeicher zu voll wird.
Set objWindowsService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\.rootcimv2")
'Abfrage der aktiven Prozesse
Set ProcessList = objWindowsService.ExecQuery _
("SELECT * FROM Win32_Process WHERE Name = 'winword.exe'")
'Selektierte Prozessliste durchlaufen
For Each objProcess In ProcessList
objProcess.Terminate 'Prozess beenden
Next objProcess
'Word Objekt schließen.
Set Word = Nothing
'Dokument1 als PDF mit Namen des Mitarbeiters speichern.
a = a + 1 'a wird bei jedem Arbeitsschritt um 1 erhöht
Ladebalken.Label.Width = b * a
Ladebalken.UnderCaption.Caption = "Lade Objektkonfiguration... "
Set Word = CreateObject("Word.Application")
'Objektkonfiguration
Word.Visible = False
Word.DisplayAlerts = 0
Word.ScreenUpdating = False
Word.Options.SaveNormalPrompt = False
Word.Options.SavePropertiesPrompt = False
a = a + 1
Ladebalken.Label.Width = b * a
Ladebalken.UnderCaption.Caption = "Speichere als PDF... "
Documents.Open D1 (Hier zeigt mir der Debugger meinen Fehler)
a = a + 1
Ladebalken.Label.Width = b * a
Ladebalken.UnderCaption.Caption = "Speichere als PDF... "
ActiveDocument.ExportAsFixedFormat OutputFileName:=Worksheets("Speicherpfade").Range("B5").Value & "" & Worksheets("Übersicht").Range("C3").Value & "_" & Worksheets("Übersicht").Range("B3").Value & "_" & Worksheets("Übersicht").Range("M3").Value & "Vertrag" & ".pdf", _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, _
OptimizeFor:=wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False
ActiveDocument.Close False
a = a + 1
Ladebalken.Label.Width = b * a
Set Word = Nothing
a = a + 1
Ladebalken.Label.Width = b * a
Ladebalken.UnderCaption.Caption = "Fertig!"
Ladebalken.Caption = "Fertig!"
Application.Wait (Now + TimeValue("0:00:02"))
Unload Ladebalken
MsgBox "Dokumente wurden erfolgreich erstellt.", vbOKOnly, "Hinweis"
'UserForm schließen, Tabellenblatt wechseln und zweite UserForm laden.
Worksheets("Start").Select
Auswahlfenster.Show vbModeless
End If
End Sub
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
lass Word aus dem Spiel...
03.08.2021 07:42:34
Oberschlumpf
Hi,
...und erstell doch in Excel eine Mustertabelle, die eben gau so wie dein (Word)Brief aussieht.
So hast du den Vorteil, dass du alle Daten aus dem (Excel)Userform(ular) auch nur innerhalb von Excel verarbeiten musst - den "Umweg" über Word kannst du dir sparen - wozu benötigst du eigtl Word?
Auch das Ausdrucken von Serienbriefen wäre in Excel mit deiner Brief-Muster-Tabelle möglich. Du müsstest die notwendige Datentabelle nur mit Excel verbinden, oder, noch besser, direkt in Excel eintragen - Tabellen gibt es da ja genug.
Hilfts?
Wenn du weiterhin an Word "festhalten" willst/musst, bin ich raus, da ich dazu keine Idee habe.
Ciao
Thorsten
Anzeige
AW: lass Word aus dem Spiel...
03.08.2021 07:48:15
Raptor
Hey Thorsten,
Dank für deine Antwort. Ich benötige Word, da ich ca. 20 - 30 Word Dokumente habe aus denen sich der Vertrag zusammensetzt, weshalb ich auch gerne bei Word bleiben würde.
Gruß
Raptor
AW: lass Word aus dem Spiel...
03.08.2021 08:02:29
Oberschlumpf
...dann setz ich mal für dich den Haken (nicht Hacken!), um die Option zu aktivieren, dass deine Frage noch nicht beantwortet ist...
Anzeige
AW: lass Word aus dem Spiel...
03.08.2021 08:39:05
Der
Hallo,
ohne irgendetwas ausprobiert zu haben, sind mir bei einer kurzen Durchsicht folgende Dinge aufgefallen:
Hier bezieht sich Documents auf das Application-Object von Excel:
Documents.Open D1 (Hier zeigt mir der Debugger meinen Fehler)
Du willst aber offensichtlich eine Word-Datei öffnen. Daher musst Du wahrscheinlich das Word-Objekt davor setzen:
Word.Documents.Open D1 (Hier zeigt mir der Debugger meinen Fehler)
Hier das gleiche Problem:
ActiveDocument.ExportAsFixedFormat ...
Oben hast Du es so gemacht:
Set Doc1 = Word.Documents.Open(D1)
Warum hier nicht auch? Dann kannst Du es (hoffentlich) mit dem folgenden Code exportieren:
Doc1.ExportAsFixedFormat ...
Excel kenn die Word-Konstanten nicht. Demnach gibt es z. B. wdExportFormatPDF, wdExportOptimizeForPrint, wdExportAllDocument etc. nicht. Diese Konstanten musst Du in Word ermittlen, z. B. im Direktfenster unter Word mit ?wdExportFormatPDF. Diese Zahlen setzt Du dann statt der Konstante ein.
Viele Grüße
Michael
Anzeige
AW: lass Word aus dem Spiel...
03.08.2021 09:08:29
Raptor
Hallo Michael,
ich habe es ausprobiert leider ohne Erfolg... Er bringt mir schon beim 1. Versuch eine Fehlermeldung
Gruß
Raptor
AW: Remote Server Computer nicht verügbar
03.08.2021 08:59:35
Luschi
Hallo Raptor,
hinsichtlich Word arbeitest Du doppelt-gemoppelt:
- Set Word = CreateObject("Word.Application") 'Ist Late Binding
- alle Word-eigenen Konstanten wie wdExportFormatPDF, wdExportOptimizeForPrint usw.
- erfordern aber einen Vba-Verweis auf Word in Excel und das ist Early Binding
- um die Wordkonstanten bei Late Binding nutzen zu können, muß man sie gegen ihren numerischen Wert austauschen
- oder besser: in Excel-Vba neu definieren, zB: Const wdExportFormatPDF As Integer = 17
- dann kann man wdExportFormatPDF auch im Excel-Vba benutzen ohne auf Early Binding umzuswitchen
- Bei Early Binding ist dieser Dim-Befehl tückisch: Dim Word As Object
- denn dann kennt Excel automatisch die Variable Word als Word.Applikations-Objekt für Winword
- da Du Word per Vba nie beendest (Quit-Anweisung) aber beim nächsten Versuch wieder 'CreateObject' verwendest
- kann hier die Ursache an der Fehlermeldung liegen, auch wenn Du zu Beginn Word killst
- Überprüfe zuerst mit 'GetObject', ob Word bereits geöffnet ist
- dieser Befehl ifunktioniert bei mir nicht und ist sicher falsch geschrieben
  Set objWindowsService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\.rootcimv2")
- bei mir unter Win10-64 funktioniert: Set objWindowsService = GetObject("winmgmts://./root/cimv2")
- und in der anschließenden Schleife werden dann alle geöffneten Word-Instanzen geschlossen
- allerdings ohne Nachfrage, ob noch nicht gespeicherte Dokumente abgespeichert werden sollen
- so ein resoluten Abschießen von Programmen macht sich nicht gut, wenn auch andere User das Makro nutzen wollen/Müssen
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Remote Server Computer nicht verügbar
03.08.2021 09:00:47
Luschi
Hallo Raptor,
hinsichtlich Word arbeitest Du doppelt-gemoppelt:
- Set Word = CreateObject("Word.Application") 'Ist Late Binding
- alle Word-eigenen Konstanten wie wdExportFormatPDF, wdExportOptimizeForPrint usw.
- erfordern aber einen Vba-Verweis auf Word in Excel und das ist Early Binding
- um die Wordkonstanten bei Late Binding nutzen zu können, muß man sie gegen ihren numerischen Wert austauschen
- oder besser: in Excel-Vba neu definieren, zB: Const wdExportFormatPDF As Integer = 17
- dann kann man wdExportFormatPDF auch im Excel-Vba benutzen ohne auf Early Binding umzuswitchen
- Bei Early Binding ist dieser Dim-Befehl tückisch: Dim Word As Object
- denn dann kennt Excel automatisch die Variable Word als Word.Applikations-Objekt für Winword
- da Du Word per Vba nie beendest (Quit-Anweisung) aber beim nächsten Versuch wieder 'CreateObject' verwendest
- kann hier die Ursache an der Fehlermeldung liegen, auch wenn Du zu Beginn Word killst
- Überprüfe zuerst mit 'GetObject', ob Word bereits geöffnet ist
- dieser Befehl ifunktioniert bei mir nicht und ist sicher falsch geschrieben
  Set objWindowsService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\.rootcimv2")
- bei mir unter Win10-64 funktioniert: Set objWindowsService = GetObject("winmgmts://./root/cimv2")
- und in der anschließenden Schleife werden dann alle geöffneten Word-Instanzen geschlossen
- allerdings ohne Nachfrage, ob noch nicht gespeicherte Dokumente abgespeichert werden sollen
- so ein resoluten Abschießen von Programmen macht sich nicht gut, wenn auch andere User das Makro nutzen wollen/Müssen
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Remote Server Computer nicht verügbar
03.08.2021 11:09:40
JoWE
Beenden/Schliessen der Word-Instanz mit Quit,
in Deinem Code würde das so aussehen: word.quit
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Remote Server Computer nicht verfügbar: Lösungen und Tipps


Schritt-für-Schritt-Anleitung

  1. Word-Prozesse beenden: Beginne damit, alle aktiven Word-Prozesse zu schließen. Verwende den folgenden VBA-Code:

    Dim objWindowsService As Object
    Set objWindowsService = GetObject("winmgmts://./root/cimv2")
    Dim ProcessList As Object
    Set ProcessList = objWindowsService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'winword.exe'")
    Dim objProcess As Object
    For Each objProcess In ProcessList
        objProcess.Terminate
    Next objProcess
  2. Überprüfen, ob Word bereits läuft: Nutze GetObject, um zu überprüfen, ob Word bereits geöffnet ist. Der Befehl könnte so aussehen:

    On Error Resume Next
    Dim Word As Object
    Set Word = GetObject(, "Word.Application")
    On Error GoTo 0
    If Word Is Nothing Then
        Set Word = CreateObject("Word.Application")
    End If
  3. Word-Dokument öffnen: Stelle sicher, dass Du das Word-Dokument richtig öffnest. Verwende:

    Set Doc1 = Word.Documents.Open(D1)
  4. Exportieren als PDF: Achte darauf, die Export-Funktion korrekt zu verwenden. Der Code sollte so aussehen:

    Doc1.ExportAsFixedFormat OutputFileName:=<dein_pfad>, _
        ExportFormat:=17, 'wdExportFormatPDF
        OpenAfterExport:=False, _
        OptimizeFor:=1, 'wdExportOptimizeForPrint
        Range:=0 'wdExportAllDocument

Häufige Fehler und Lösungen

  • Fehlermeldung "Remote Server Computer ist nicht verfügbar": Dies passiert oft, wenn Word-Prozesse nicht richtig beendet wurden. Überprüfe, ob alle Word-Instanzen geschlossen sind, bevor Du das Makro erneut ausführst.

  • Konstanten verwenden: Wenn Du Late Binding verwendest, musst Du die Word-Konstanten durch ihre numerischen Werte ersetzen. Beispiel: wdExportFormatPDF entspricht 17.

  • Word nicht korrekt beenden: Stelle sicher, dass Du Word.Quit verwendest, um die Word-Instanz zu schließen. Hier ein Beispiel:

    Word.Quit

Alternative Methoden

  • Excel für Dokumentenerstellung nutzen: Anstatt Word zu verwenden, kannst Du auch direkt in Excel eine Vorlage erstellen, die den gleichen Inhalt hat. Dies erspart den Umweg über Word und minimiert die Fehleranfälligkeit.

  • Automatisierung mit Power Automate: Wenn Du regelmäßig Dokumente generieren musst, überlege, Power Automate zu nutzen, um Deine Excel-Daten automatisch in Word oder PDF zu übertragen.


Praktische Beispiele

  1. Word-Dokumente in Excel erstellen: Verwende Excel, um eine Tabelle zu erstellen, die automatisch Daten aus einem UserForm bezieht und diese in einem Word-Dokument anzeigt.

  2. PDF-Export in Excel: Du kannst auch ein Excel-Dokument direkt als PDF speichern:

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=<dein_pdf_pfad>

Tipps für Profis

  • Verwende Early Binding: Wenn Du mit Word konstanten arbeitest, ist Early Binding oft einfacher. Setze dazu einen Verweis auf die Microsoft Word-Bibliothek in den Excel-Referenzen.

  • Fehlerprotokollierung: Implementiere eine Fehlerbehandlung, um genau zu sehen, wo ein Fehler auftritt. Nutze On Error GoTo, um spezifische Fehlermeldungen anzuzeigen.

  • Optimierung von Ladezeiten: Deaktiviere vorübergehend die Bildschirmaktualisierung mit Application.ScreenUpdating = False, um Ladezeiten zu reduzieren.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass alle Word-Prozesse beendet werden? Du kannst den Code zur Überprüfung und Beendigung von Word-Prozessen verwenden, um sicherzustellen, dass keine Word-Instanzen im Hintergrund laufen.

2. Was mache ich, wenn ich die Fehlermeldung "Remote Server Computer ist nicht verfügbar" erhalte? Prüfe, ob Word richtig beendet wird und dass Du die richtigen Objekte verwendest. Überlege auch, ob Du Word in Deinem Anwendungsfluss richtig referenzierst.

3. Ist es möglich, Word komplett zu umgehen? Ja, Du kannst alle Dokumente direkt in Excel erstellen und die benötigten Daten direkt aus dem UserForm herausziehen, um den Prozess zu vereinfachen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige