Тема: Ошибка файлера

Здравствуйте.

Dim newODwg As AcadDocument
Set newODwg = Application.Documents.Add()

вторая строка кода у сотрудника переодически вызывает ошибку: "ошибка файлера" 
У меня она не проявляется. (у меня AutoCad 2006, у сотрудника AutoCad 2009)
Подскажите пожалуйста в чем проблема? И как ещё решить?

Re: Ошибка файлера

Одна из возможных проблем - значение системной переменной SDI - Управляет режимом работы программы (одно- или многодокументный интерфейс)
Цитаты из Help:

Documents collection: You cannot use the Add method for the Documents collection
while in SDI mode. When in SDI mode, use the Open method on the Document object.

When working in MDI mode, you should always use the Open method from the Documents collection.
When working in SDI mode, use the Open method from the Document object.

Возможное решение проблемы:

Public Sub testAdd()
Dim newODwg As AcadDocument
Dim TemplatePath As String
'Путь к файлу,который будет открыт в случае SDI<>0
TemplatePath = "D:\Рабочая\NewDoc.dwg"

On Error Resume Next
    Set newODwg = Application.Documents.Add()
    If newODwg Is Nothing Then 'SDI<>0
        Set newODwg = ThisDrawing.Open(TemplatePath) '!Текущий рисунок при этом будет закрыт без предупреждения о сохранении изменений
    End If
    
    If newODwg Is Nothing Then
        MsgBox "Не удалось создать новый документ" + vbCr + "Дальнейшая работа невозможна"
        Exit Sub
    End If
On Error GoTo 0
end sub

Re: Ошибка файлера

Дело в том, что новый документ создаетс для того, чтобы в него копировать объекты с открытого документа.

PS: после того как выполенние было прервано ошибкой файлера, после нажатия "Debug" эта же строка кода обрабатываетс ябез ошибок.  %(

Re: Ошибка файлера

> Alexandr
Какое значение переменной SDI на компьютере,на котором возникает эта ошибка?
Лучше выложи полностью код процедуры, в которой возникает ошибка,будет проще понять что к чему.

Re: Ошибка файлера

Ошибка проявлялась в течении одного дня. На следующий день (и по сей день) она больше ниразу не проявилась. В тот день значение переменной SDI не посмотрел, и понать в чем тогда была причина уже нет возможности.