Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.64/64: Рейтинг темы: голосов - 64, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 15
1

Ошибка 462 The remote server machine does not exist or is unavailable при формировании документа Word из Access (2007)

28.09.2018, 07:51. Показов 12006. Ответов 30

Добрый день! Не силен в программировании, поэтому не судите строго. Задача следующая: необходимо из формы Access при нажатии кнопки создать документ Word и вставить данные за место меток. Все исполняется отлично, кроме части кода, который находит метку в документе и создает за место нее таблицу. При первом запуске все отлично, при последующих появляется Ошибка 462. The remote server machine does not exist or is unavailable. Знаю, что вопрос не новый, читал много по этому поводу, но проблему самостоятельно решить так и не смог, поэтому очень надеюсь на Вашу помощь, заранее спасибо!

Сам код.

Visual Basic
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
Function funOutputWord(strPathDot As String, strPathWord As String) As Boolean
On Error GoTo Err_
Dim app As Word.Application
Dim DlgUser As Integer
    If Dir(strPathWord) <> "" Then
        DlgUser = MsgBox("Документ с таким именем ранее уже был создан. Заменить его?", vbYesNo, "admin")
        If DlgUser = vbNo Then
            Set app = CreateObject("Word.Application")
            With app
                .Visible = True
                .Documents.Open strPathWord
            End With
            Set app = Nothing
        Else
            GoTo nn
        End If
    Else
nn:
        Set app = New Word.Application
        app.Visible = True
        app.Documents.Add strPathDot
        With app.ActiveDocument
            .Bookmarks.Item("Автоматизированная_система").Range.Text = Forms![Формирование документации]![Нас]
            .Bookmarks.Item("Подсистема").Range.Text = Forms![Формирование документации]![Нп]
            .Bookmarks.Item("Наименование").Range.Text = Forms![Формирование документации]![Нз]
            .Bookmarks.Item("Код_задачи").Range.Text = Forms![Формирование документации]![Кз]
            .Bookmarks.Item("Год").Range.Text = Forms![Формирование документации]![Год]
            .Bookmarks.Item("Год2").Range.Text = Forms![Формирование документации]![Год]
            .Bookmarks.Item("Код_задачи2").Range.Text = Forms![Формирование документации]![Кз2]
             .SaveAs strPathWord
        End With
        Set app = Nothing
    End If
    funOutputWord = True
Exit_:
    Exit Function
Err_:
    funOutputWord = False
    Err.Clear
    app.Quit
    Resume Exit_
End Function
 
 
Function r()
Dim rng As Range, tbl As Table
        With ActiveDocument.Range.Find           [B]Ошибка в этом месте[/B]
        .Text = "метка"
        .MatchCase = True
        .MatchWholeWord = True
        .Execute
        Set rng = .Parent
        End With
  Set tbl = ActiveDocument.Tables.Add(Range:=rng, NumRows:=[Поле134], NumColumns:=3, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed)
 
  If [Поле131] = 1 Then tbl.Cell(1, 1).Range.InsertAfter [Сокращение_Опз]
  If [Поле131] = 1 Then tbl.Cell(1, 2).Range.InsertAfter "-"
  If [Поле131] = 1 Then tbl.Cell(1, 3).Range.InsertAfter Сокр_ОПЗ.Form.Controls("Расшифровка")
  
  If [Поле133] = 1 Then tbl.Cell(2, 1).Range.InsertAfter [Сокращение_Опз1]
  If [Поле133] = 1 Then tbl.Cell(2, 2).Range.InsertAfter "-"
  If [Поле133] = 1 Then tbl.Cell(2, 3).Range.InsertAfter Сокр_ОПЗ1.Form.Controls("Расшифровка")
  
  If [Поле135] = 1 Then tbl.Cell(3, 1).Range.InsertAfter [Сокращение_Опз2]
  If [Поле135] = 1 Then tbl.Cell(3, 2).Range.InsertAfter "-"
  If [Поле135] = 1 Then tbl.Cell(3, 3).Range.InsertAfter Сокр_ОПЗ2.Form.Controls("Расшифровка")
End Function
 
 
Private Sub Кнопка5_Click()
Dim strPathDot As String, strPathWord As String
    strPathDot = CurrentProject.Path & "\Dot\Описание постановки задачи.dotm"
    strPathWord = CurrentProject.Path & "\Word\Описание постановки задачи - " & Кз & ".doc"
 
    Call funOutputWord(strPathDot, strPathWord)
    Call r
End Sub
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2018, 07:51
Ответы с готовыми решениями:

Работа с Word-ом и ошибка The remote server machine not exist or is unavailable
Моя поцедура выводит некоторые результаты в ворд по нажатию кнопки, при повторном нажатии кнопки...

Не переносится строка при формировании документа из шаблона Word
Доброго времени суток. Вот кусочек сформированного документа А вот так он выглядит в шаблоне ...

Зависает Word 2007 - 2010 (Windows 8) при сохранении редактированного документа
Доброго времени суток. Помогите с решением вот такой проблемы. На работе приобрели моноблок с...

Word (2007, 2010): как изменить размер шрифта при создании/изменении стиля таблицы готового документа
В ГОТОВОМ документе мне нужно изменить или создать стиль какой-то таблицы, например, задав разный...

30
1915 / 1036 / 221
Регистрация: 13.12.2016
Сообщений: 3,599
Записей в блоге: 3
28.09.2018, 09:00 2
Call r - обращаетесь к подпрограмме
Function r() - определяете функцию
противоречий не видите?
0
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 15
28.09.2018, 09:12  [ТС] 3
Еще раз, прошу прощения, если честно не хватает знаний, что бы осмыслить Ваш ответ. В первом случае вроде бы так же функция вызывается через Call, не могли бы подсказать, как сделать программный код верным.Спасибо.
0
Эксперт MS Access
6793 / 4382 / 282
Регистрация: 12.08.2011
Сообщений: 12,959
28.09.2018, 09:24 4
Цитата Сообщение от АЕ Посмотреть сообщение
противоречий не видите?
не вижу

Добавлено через 3 минуты
Цитата Сообщение от footb Посмотреть сообщение
strPathWord = CurrentProject.Path & "\Word\Описание постановки задачи - " & Кз & ".doc"
вот тут скорее всего не хватает ", например
Visual Basic
1
CurrentProject.Path & """\Word\Описание постановки задачи - """ & Кз & ".doc"
Чтобы убедиться закоментите эту строку и проверьте появится ошибка или нет, возможно в пробелах проблема.
0
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 15
28.09.2018, 09:34  [ТС] 5
Сделал, как Вы сказали. Теперь ошибка 91 "Object variable or With Block variable not set,
Visual Basic
1
2
3
4
5
6
 Err_:
    funOutputWord = False
    Err.Clear
    app.Quit               ошибка на этой строке
    Resume Exit_
End Function
0
Эксперт MS Access
6793 / 4382 / 282
Регистрация: 12.08.2011
Сообщений: 12,959
28.09.2018, 09:47 6
Это нормально, мы же файл не открыли. Значит точно в той строке дело. С кавычками пробовали? Может название файла сократить? Пробелы убрать? Проверьте
0
1915 / 1036 / 221
Регистрация: 13.12.2016
Сообщений: 3,599
Записей в блоге: 3
28.09.2018, 09:52 7
footb, попробуйте файл обзывать английскими буквами
0
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 15
28.09.2018, 10:49  [ТС] 8
"Это нормально, мы же файл не открыли. Значит точно в той строке дело. С кавычками пробовали? Может название файла сократить? Пробелы убрать? Проверьте"

"footb, попробуйте файл обзывать английскими буквами"

Сделал следующим образом

Visual Basic
1
strPathWord = CurrentProject.Path & "\Word\1.doc"
опять возвращает с ошибкой 462 к строке

Visual Basic
1
 With ActiveDocument.Range.Find
Добавлено через 10 минут
На сколько я понимаю, дело не в названии, а в том, что не определяется активный документ. Странно, что один раз срабатывает нормально, а потом с ошибкой, если закрыть и открыть базу заново, опять сработает нормально...
0
Эксперт MS Access
6793 / 4382 / 282
Регистрация: 12.08.2011
Сообщений: 12,959
28.09.2018, 11:05 9
Цитата Сообщение от footb Посмотреть сообщение
На сколько я понимаю
А в Диспетчер задач заглянуть и посчитать количество процессов word, чтобы развеять это "понимание"?

app.Quit не хватает в модуле перед
Set app = Nothing

Добавлено через 4 минуты
Кстати странная функция r(), откуда в ней activdocument, если мы всё позакрывали?
Переносите всё в одну функцию, не надо этого.
0
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 15
28.09.2018, 11:19  [ТС] 10
"А в Диспетчер задач заглянуть и посчитать количество процессов word, чтобы развеять это "понимание"?"
Ну с этим все просто, когда при первом запуске все нормально - 1 процесс, когда ошибка - процессов нет)

"app.Quit не хватает в модуле перед
Set app = Nothing"
Добавил

"Кстати странная функция r(), откуда в ней activdocument, если мы всё позакрывали?
Переносите всё в одну функцию, не надо этого."

Полностью согласен, честно скажу пытался перенести в одну функцию, но мозгов не хватает пока. Буду очень признателен, если поможете.
0
Эксперт MS Access
6793 / 4382 / 282
Регистрация: 12.08.2011
Сообщений: 12,959
28.09.2018, 12:27 11
Цитата Сообщение от footb Посмотреть сообщение
Буду очень признателен, если поможете.
Без файла и наугад? Не, это не моё, я практик скорее.
0
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 15
28.09.2018, 13:26  [ТС] 12
Вот, сама база
Вложения
Тип файла: zip База - рабочая - копия - копия.zip (376.3 Кб, 11 просмотров)
0
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 15
28.09.2018, 13:32  [ТС] 13
Форма, на которой кнопка формирующая документ, называется "Описание постановки задачи"
0
Заблокирован
01.10.2018, 01:50 14
Цитата Сообщение от footb Посмотреть сообщение
Форма, на которой кнопка формирующая документ, называется "Описание постановки задачи"
А название формы?
И сценарий действий, для понимания траблы, тут не помешал бы .

+ Рекомендация:
Замените в коде :
Visual Basic
1
"D:\Денисенко\База - рабочая - копия
на
Visual Basic
1
CurrentProject.Path & "
IMHO так лучше будет ...
0
Эксперт MS Access
6793 / 4382 / 282
Регистрация: 12.08.2011
Сообщений: 12,959
01.10.2018, 02:45 15
Цитата Сообщение от footb Посмотреть сообщение
называется "Описание постановки задачи"
нет такой буквы в этом слове, нету
0
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 15
01.10.2018, 07:07  [ТС] 16
"А название формы?" - Формирование документации.

"И сценарий действий, для понимания траблы, тут не помешал бы ." - При открытии базы - открывается форма "Автоматизированные системы" в которой есть определенный набор данных, при нажатии кнопки (которой пока нет), открывается форма "Формирование документации" в которую переносится часть данных с текущей записи формы "Автоматизированные системы", часть формируется в самой форме . Далее нажимаем кнопку, формируем вордовый документ, на основе данных формы "Формирование документации".

+ Рекомендация:
Замените в коде :
Visual BasicВыделить код - Спасибо, учел.

"нет такой буквы в этом слове, нету" - Прошу прощения, ее название "Формирование документации"
0
Заблокирован
01.10.2018, 11:32 17
Цитата Сообщение от footb Посмотреть сообщение
Прошу прощения, ее название "Формирование документации"
А вы с библиотечными ссылками не перемудрили?
У меня наблюдается следующая "картина маслом" (MSA 2010) :
(Естессено компиляция проекта не проходит ...)
Миниатюры
Ошибка 462 The remote server machine does not exist or is unavailable при формировании документа Word из Access (2007)  
0
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 15
01.10.2018, 13:24  [ТС] 18
"А вы с библиотечными ссылками не перемудрили?
У меня наблюдается следующая "картина маслом" (MSA 2010) :
(Естессено компиляция проекта не проходит ...)"

К сожалению, я не знаю с чем я перемудрил, а с чем не перемудрил, в этом и проблема) Можно по подробнее.
0
Заблокирован
01.10.2018, 16:12 19
Цитата Сообщение от footb Посмотреть сообщение
Можно по подробнее.
VBE > Tools > Referenсes ...
0
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 15
02.10.2018, 06:56  [ТС] 20
Где библиотеки подключаются, я знаю. Я имел ввиду, что именно там не так?)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2018, 06:56

Выгрузка данных из полей формы Access 2007 в Word 2007 шаблон dot 1997-2003 гг
Прошу помощи с примером из protokol10. Он завязан на генерацию doc-документа со вставкой...

SQL Server does not exist or access denied
Релиб, подскажите плз - что за ошибка такая: Error The database connection...

Ошибка при вставке объектов в MS Word 2007
Здравствуйте. Возникла проблема при попытке вставить объект в документе: при нажатии на кнопку...

Ошибка при открытии файла Word 2007
Файл в формате doc открывался нормально, я даже до ошибки его открывал в MS Word. Ошибки начались...

Ошибка при направлении команды приложению в Word 2007
Ошибка при направлении команды приложению. Это что за ошибка в Word2007?

Word 2007 крит ошибка при использовании буфера обмена
Добрый утрер, день, вечер, уважаемые форумчане. Проблема следующего характера. При...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru