Ошибка the remote server machine does not exist

First problem : Run-time error ‘462’ : The remote server machine does not exist or is unavailable.

The issue here is the use of :

  1. Late Biding : Dim Smthg As Object or
  2. Implicit references : Dim Smthg As Range instead of
    Dim Smthg As Excel.Range or Dim Smthg As Word.Range

So you need to fully qualified all the variables that you set (I’ve done that in your code)



Second problem

You work with multiple instances of Word and you only need one to handle multiple documents.

So instead of creating a new one each time with :

Set WordApp = CreateObject("Word.Application")

You can get an open instance (if there is one) or create one with that code :

On Error Resume Next
Set WordApp = GetObject(, "Word.Application")
If Err.Number > 0 Then Set WordApp = CreateObject("Word.Application")
On Error GoTo 0

And once you’ve put this at the start of your proc, you can use this instance until the end of the proc and before the end, quit it to avoid having multiple instances running.


Here is your code reviewed and cleaned, take a look :

Sub Docs()

Dim WordApp As Word.Application
Dim WordDoc As Word.Document

' Control if folder exists, if not create folder
If Len(Dir("F:documents" & Year(Date), vbDirectory)) = 0 Then MkDir "F:documents" & Year(Date)

' Get or Create a Word Instance
On Error Resume Next
Set WordApp = GetObject(, "Word.Application")
If Err.Number > 0 Then Set WordApp = CreateObject("Word.Application")
On Error GoTo 0

Workbooks("exampleworkbook.xlsm").Sheets("examplesheet").Range("A1:C33").Copy

With WordApp
    .Visible = True
    .Activate
    Set WordDoc = .Documents.Add
    .Selection.PasteSpecial Link:=False, DataType:=wdPasteRTF, _
                Placement:=wdInLine, DisplayAsIcon:=False
End With

With Application
    .Wait (Now + TimeValue("0:00:02"))
    .CutCopyMode = False
End With

With WordDoc
    .PageSetup.TopMargin = WordApp.CentimetersToPoints(1.4)
    .PageSetup.LeftMargin = WordApp.CentimetersToPoints(1.5)
    .PageSetup.BottomMargin = WordApp.CentimetersToPoints(1.5)
    .SaveAs "F:documents" & Year(Date) & "examplename " & Format(Now, "YYYYMMDD") & ".docx"
    .Close
End With

' export sheet 2 to Word
Workbooks("exampleworkbook.xlsm").Sheets("examplesheet2").Range("A1:C33").Copy

Set WordDoc = WordApp.Documents.Add
WordApp.Selection.PasteSpecial Link:=False, DataType:=wdPasteRTF, _
                        Placement:=wdInLine, DisplayAsIcon:=False
Application.Wait (Now + TimeValue("0:00:02"))

With WordDoc
    .PageSetup.LeftMargin = WordApp.CentimetersToPoints(1.5)
    .PageSetup.TopMargin = WordApp.CentimetersToPoints(1.4)
    .PageSetup.BottomMargin = WordApp.CentimetersToPoints(1.5)
    .SaveAs "F:files" & Year(Date) & "name" & Format(Now, "YYYYMMDD") & ".docx"
    .Close
End With

Application.CutCopyMode = False
WordApp.Quit
Set WordDoc = Nothing
Set WordApp = Nothing

' Variables Outlook
Dim objOutlook As Outlook.Application
Dim objMail As Outlook.MailItem
Dim rngTo As Excel.Range
Dim rngCc As Excel.Range
Dim rngSubject As Excel.Range
Dim rngBody As Excel.Range
Dim rngAttach1 As Excel.Range
Dim rngAttach2 As Excel.Range
Dim numSend As Integer


On Error Resume Next
Set objOutlook = GetObject(, "Outlook.Application")
If Err.Number > 0 Then Set objOutlook = CreateObject("Outlook.Application")
On Error GoTo 0


Set objMail = objOutlook.CreateItem(0)

' Outlook
On Error GoTo handleError

With Sheets("Mail")
    Set rngTo = .Range("B11")
    Set rngCc = .Range("B12")
    Set rngSubject = .Range("B13")
    Set rngBody = .Range("B14")
    Set rngAttach1 = .Range("B15")
    Set rngAttach2 = .Range("B16")
End With

With objMail
    .To = rngTo.Value
    .Subject = rngSubject.Value
    .CC = rngCc.Value
    '.Body = rngBody.Value
    .Body = "Hi," & _
            vbNewLine & vbNewLine & _
            rngBody.Value & _
            vbNewLine & vbNewLine & _
            "Kind regards,"
    .Attachments.Add rngAttach1.Value
    .Attachments.Add rngAttach2.Value
    .Display
     Application.Wait (Now + TimeValue("0:00:01"))
     Application.SendKeys "%s"
  ' .Send       ' Instead of .Display, you can use .Send to send the email _
                or .Save to save a copy in the drafts folder
End With

numSend = numSend + 1

GoTo skipError

handleError:
numErr = numErr + 1
oFile.WriteLine "*** ERROR *** Email for account" & broker & " not sent. Error: " & Err.Number & " " & Err.Description
skipError:

On Error GoTo 0

MsgBox "Sent emails: " & numSend & vbNewLine & "Number of errors: " & numErr, vbOKOnly + vbInformation, "Operation finished"

GoTo endProgram

cancelProgram:
MsgBox "No mails were sent.", vbOKOnly + vbExclamation, "Operation cancelled"

endProgram:
Set objOutlook = Nothing
Set objMail = Nothing
Set rngTo = Nothing
Set rngSubject = Nothing
Set rngBody = Nothing
Set rngAttach1 = Nothing
Set rngAttach2 = Nothing

End Sub

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
Private Function funOutputWord(strPathDot As String, strPathWord As String, arr_data As Variant, cnt_rows As Variant) As Boolean
'
'--------------------------------------------------------------------------
Dim objWord As Word.Application
Dim objDoc As Word.Document
Dim DlgUser As Integer
Dim myTable As Word.Table
Dim objRange As Object
 
On Error GoTo 0
 
    
    Set objWord = New Word.Application
 
    
    If Dir(strPathWord) <> "" Then
        DlgUser = MsgBox("Документ с таким именем ранее уже был создан. Заменить его?", vbYesNo, "admin")
        Select Case DlgUser
            Case vbNo
                objWord.Documents.Open strPathWord
                GoTo funOutputWord_End
            Case Else
                Kill strPathWord
        End Select
    End If
    
    'Открываем НОВЫЙ документ сформированный по заданному шаблону
    Set objDoc = objWord.Documents.Add(strPathDot)
    
    Set myTable = objWord.Selection.Range.Tables.Add(objDoc.Bookmarks("таблица").Range, cnt_rows, 6)
    
    With myTable
 
        .AutoFormat 16
        
        .Columns(1).Width = CentimetersToPoints(1.19)
        .Columns(2).Width = CentimetersToPoints(2.75)
        .Columns(3).Width = CentimetersToPoints(2.25)
        .Columns(4).Width = CentimetersToPoints(6.75)
        .Columns(5).Width = CentimetersToPoints(3)
        .Columns(6).Width = CentimetersToPoints(2.79)
 
        For i = 1 To 6
        
            myTable.Cell(1, i).Range.ParagraphFormat.Alignment = 1
            myTable.Cell(1, i).Range.Cells.VerticalAlignment = 1
            
            ' строка заголовков - жирным
            myTable.Cell(1, i).Range.Bold = True
        
        Next i
        
        
        myTable.Cell(1, 1).Range.Text = "№ п/п"
        
        myTable.Cell(1, 2).Range.Text = "Столбик 2"
        
        myTable.Cell(1, 3).Range.Text = "Столбик 3"
        
        myTable.Cell(1, 4).Range.Text = "Столбик 4"
        
        myTable.Cell(1, 5).Range.Text = "Столбик 5"
        
        myTable.Cell(1, 6).Range.Text = "Столбик 6"
        
 
        For i = 1 To UBound(arr_data)
 
            For j = 0 To UBound(arr_data, 2)
 
                If i = 1 Then
 
                    myTable.Cell(j + 2, i).Range.Text = arr_data(i, j) & "."
 
                Else
 
                    myTable.Cell(j + 2, i).Range.Text = arr_data(i, j)
 
                End If
 
 
                Select Case i
 
                    Case 1, 4, 5, 6
                    ' от левого
                        myTable.Cell(j + 2, i).Range.ParagraphFormat.Alignment = 0
 
                    Case 2
                    ' центр
                        myTable.Cell(j + 2, i).Range.ParagraphFormat.Alignment = 1
 
                    Case 3
                    ' от правого
                        myTable.Cell(j + 2, i).Range.ParagraphFormat.Alignment = 2
 
                End Select
                
                myTable.Cell(j + 2, i).Range.Cells.VerticalAlignment = 1
 
 
            Next j
 
 
        Next i
        
        '.SaveAs strPathWord
        
    End With
 
    
    
    funOutputWord = True
 
 
funOutputWord_End:
    On Error Resume Next
    objWord.Visible = True
    objWord.Activate
 
    Set myTable = Nothing
    Set objRange = Nothing
    Set objDoc = Nothing
    Set objWord = Nothing
    
    Err.Clear
    Exit Function
 
funOutputWord_Err:
 
 
    funOutputWord = False
    MsgBox "Error: " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
    "in Function: funOutputWord in module: Form_Form1", vbCritical, "Error in Application"
    Err.Clear
    Resume funOutputWord_End
 
End Function
Icon Ex Номер ошибки: Ошибка во время выполнения 462
Название ошибки: The remote server machine does not exist or is unavailable
Описание ошибки: The CreateObject function requires a valid server.
Разработчик: Microsoft Corporation
Программное обеспечение: Windows Operating System
Относится к: Windows XP, Vista, 7, 8, 10, 11

Определение «The remote server machine does not exist or is unavailable»

«The remote server machine does not exist or is unavailable» — это стандартная ошибка времени выполнения. Программисты работают через различные уровни отладки, пытаясь убедиться, что Windows Operating System как можно ближе к безошибочным. Хотя эти превентивные действия принимаются, иногда ошибки, такие как ошибка 462, будут пропущены.

В выпуске последней версии Windows Operating System может возникнуть ошибка, которая гласит: «The CreateObject function requires a valid server.». Если возникает ошибка 462, разработчикам будет сообщено об этой проблеме через уведомления об ошибках, которые встроены в Windows Operating System. Затем Microsoft Corporation может исправить эти ошибки в исходном коде и подготовить обновление для загрузки. Если есть уведомление об обновлении Windows Operating System, это может быть решением для устранения таких проблем, как ошибка 462 и обнаруженные дополнительные проблемы.

Что генерирует ошибку времени выполнения 462?

Ошибки выполнения при запуске Windows Operating System — это когда вы, скорее всего, столкнетесь с «The remote server machine does not exist or is unavailable». Следующие три наиболее значимые причины ошибок выполнения ошибки 462 включают в себя:

Ошибка 462 Crash — Ошибка 462 остановит компьютер от выполнения обычной программной операции. Это возникает, когда Windows Operating System не реагирует на ввод должным образом или не знает, какой вывод требуется взамен.

Утечка памяти «The remote server machine does not exist or is unavailable» — этот тип утечки памяти приводит к тому, что Windows Operating System продолжает использовать растущие объемы памяти, снижая общую производительность системы. Возможные искры включают сбой освобождения, который произошел в программе, отличной от C ++, когда поврежденный код сборки неправильно выполняет бесконечный цикл.

Ошибка 462 Logic Error — Логическая ошибка вызывает неправильный вывод, даже если пользователь дал действительные входные данные. Неисправный исходный код Microsoft Corporation может привести к этим проблемам с обработкой ввода.

Такие проблемы The remote server machine does not exist or is unavailable обычно вызваны повреждением файла, связанного с Windows Operating System, или, в некоторых случаях, его случайным или намеренным удалением. Как правило, решить проблему позволяет получение новой копии файла Microsoft Corporation, которая не содержит вирусов. В качестве дополнительного шага по устранению неполадок мы настоятельно рекомендуем очистить все пути к неверным файлам и ссылки на расширения файлов Microsoft Corporation, которые могут способствовать возникновению такого рода ошибок, связанных с The remote server machine does not exist or is unavailable.

Типичные ошибки The remote server machine does not exist or is unavailable

Обнаруженные проблемы The remote server machine does not exist or is unavailable с Windows Operating System включают:

  • «Ошибка приложения The remote server machine does not exist or is unavailable.»
  • «The remote server machine does not exist or is unavailable не является приложением Win32.»
  • «Извините, The remote server machine does not exist or is unavailable столкнулся с проблемой. «
  • «Не удается найти The remote server machine does not exist or is unavailable»
  • «Отсутствует файл The remote server machine does not exist or is unavailable.»
  • «Ошибка запуска в приложении: The remote server machine does not exist or is unavailable. «
  • «Файл The remote server machine does not exist or is unavailable не запущен.»
  • «Ошибка The remote server machine does not exist or is unavailable. «
  • «Ошибка пути программного обеспечения: The remote server machine does not exist or is unavailable. «

Ошибки The remote server machine does not exist or is unavailable EXE возникают во время установки Windows Operating System, при запуске приложений, связанных с The remote server machine does not exist or is unavailable (Windows Operating System), во время запуска или завершения работы или во время установки ОС Windows. Документирование проблем The remote server machine does not exist or is unavailable в Windows Operating System является ключевым для определения причины проблем с электронной Windows и сообщения о них в Microsoft Corporation.

Истоки проблем The remote server machine does not exist or is unavailable

Проблемы Windows Operating System и The remote server machine does not exist or is unavailable возникают из отсутствующих или поврежденных файлов, недействительных записей реестра Windows и вредоносных инфекций.

Более конкретно, данные ошибки The remote server machine does not exist or is unavailable могут быть вызваны следующими причинами:

  • Недопустимый The remote server machine does not exist or is unavailable или поврежденный раздел реестра.
  • Вирус или вредоносное ПО, повреждающее The remote server machine does not exist or is unavailable.
  • Другая программа (не связанная с Windows Operating System) удалила The remote server machine does not exist or is unavailable злонамеренно или по ошибке.
  • Другое программное обеспечение, конфликтующее с Windows Operating System, The remote server machine does not exist or is unavailable или общими ссылками.
  • Поврежденная установка или загрузка Windows Operating System (The remote server machine does not exist or is unavailable).

Продукт Solvusoft

Загрузка
WinThruster 2023 — Проверьте свой компьютер на наличие ошибок.

Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11

Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление

Permalink

Cannot retrieve contributors at this time

description title ms.date f1_keywords ms.assetid

Learn more about: The remote server machine does not exist or is unavailable (Visual Basic)

The remote server machine does not exist or is unavailable

07/20/2015

vbrID462

fa2cf36e-2169-42db-8449-6aca579e8303

The remote server machine does not exist or is unavailable (Visual Basic)

You are trying to connect to a remote server that is unavailable or does not exist. This error may be caused by your network connection being lost.

To correct this error

  • Reconnect to the network and try again.

See also

  • Error Types
  • Remove From My Forums
  • Question

  • I have several modules that read and write data to and from Excel 2010 worksheets. I am noticing that the Excel process does not end aven though Excel is not running on my PC. It is like an orphan process. If I try running the Access module again I get the
    message «error 462 — The remote server machine does not exist or is unavailable». Here is the code I am running. When I click the Debug button on the message box the line «rowNum = objXLAppln.Range(«A» & Rows.Count).End(xlUp).Row»
    is highlighted.

    Option Compare Database
    Option Explicit
    
    Function ImportImportanceScores()
        Dim RecSet As DAO.Recordset
        Dim objXLAppln As Excel.Application
        Set objXLAppln = New Excel.Application
        Dim objWBook As Excel.Workbook
        Dim rowNum As Variant
        Dim i As Integer
        Dim j As Integer
        Dim StrPathFile As String, strFile As String, strPath As String
        Dim strBrowseMsg As String, strInitialDirectory As String, strFilter As String
        'show dialogue box
        strBrowseMsg = "Select the EXCEL file:"
        'set directory to load files from
        strInitialDirectory = "C:Bridge_CIP_Part-A_B"
        'run strFilter function
        strFilter = ahtAddFilterItem(strFilter, "Excel Files (*.xlsx)", "*.xlsx")
    
        StrPathFile = ahtCommonFileOpenSave(InitialDir:=strInitialDirectory, _
           Filter:=strFilter, OpenFile:=True, _
           DialogTitle:=strBrowseMsg, _
           Flags:=ahtOFN_HIDEREADONLY)
    
        If StrPathFile = "" Then
           MsgBox "No file was selected.", vbOK, "No Selection"
           Exit Function
        End If
        'Set Excel application object. Critical for macro to run properly. Do not change.
    
        'Open workbook and worksheet to load data.
        With objXLAppln
            Set objWBook = objXLAppln.Workbooks.Open(StrPathFile)
            objXLAppln.Visible = True
        End With
        Set RecSet = CurrentDb.OpenRecordset("Importance_Scores")
        'Copy data from Excel cells to Access fields
        objXLAppln.Sheets("Importance_Scores").Select
        rowNum = objXLAppln.Range("A" & Rows.Count).End(xlUp).Row
        objXLAppln.Range("A6").Select
        'Add records to table from Excel
        With RecSet
        For i = 0 To rowNum - 6
            RecSet.AddNew
            RecSet.Fields("CIP_ID").value = objXLAppln.ActiveCell.Offset(i, 0).value
            RecSet.Fields("Target_Timeframe_for_Construction").value = objXLAppln.ActiveCell.Offset(i, 2).value
            RecSet.Fields("ImportanceFactor_TI-1").value = objXLAppln.ActiveCell.Offset(i, 21).value
            RecSet.Fields("ImportanceFactor_TI-2").value = objXLAppln.ActiveCell.Offset(i, 22).value
            RecSet.Fields("ImportanceFactor_TI-3").value = objXLAppln.ActiveCell.Offset(i, 23).value
            RecSet.Fields("ImportanceFactor_TI-4").value = objXLAppln.ActiveCell.Offset(i, 24).value
            RecSet.Fields("ProjectRank").value = objXLAppln.ActiveCell.Offset(i, 33).value
            RecSet.Update
        Next i
        End With
        'Close everything
        RecSet.Close
        objWBook.Close SaveChanges:=False
        objXLAppln.Quit
        Set RecSet = Nothing
        Set objWBook = Nothing
        Set objXLAppln = Nothing
    End Function
    
    
    

Answers

  • In the line

        rowNum = objXLAppln.Range(«A» & Rows.Count).End(xlUp).Row

    Rows does not refer to objXLAppln or to objWBook. Change it to

        rowNum = objXLAppln.Range(«A» & objWBook.Sheets(«Importance_Scores«).Rows.Count).End(xlUp).Row


    Regards, Hans Vogelaar (http://www.eileenslounge.com)

    • Marked as answer by

      Wednesday, April 1, 2015 5:15 AM

Понравилась статья? Поделить с друзьями:
  • Ошибка the program will now terminate
  • Ошибка the procedure entry point uplay user
  • Ошибка the procedure entry point setdefaultdlldirectories
  • Ошибка the parameter is incorrect 0x80070057
  • Ошибка the operation is insecure