03.01.2007, 13:14
общий
это ответ
Здравствуйте, Edhart!
Вообще то, GetObject и нужен для того, чтобы получить уже существующий ActiveX объект из файла(если файл указан)
Посмотрите, в приложении функция GetDoc пытается получить объект из файла path, если такого файла не существует, то создается новый документ, и сохраняется в path, если и это не возможно, то выводится сообщение об ошибке и возвращается Nothing.
В Sub CommandButton1_Click() документ "D:\Macros\Forma_Doc.doc" открывается(если еще не открыт) и становится активным.
Успехов.
Приложение:
Private Sub CommandButton1_Click()Dim wrd As Word.DocumentSet wrd = GetDoc("D:\Macros\Forma_Doc.doc")If Not wrd Is Nothing Then wrd.Application.Visible = True AppActivate wrd.NameEnd IfEnd SubFunction GetDoc(path As String) As Word.DocumentOn Error GoTo GetObjectErrorSet GetDoc = GetObject(path)GetDocExit:On Error GoTo 0Exit Function‘пытаемся сохранить в pathTrySaveAs:On Error GoTo ErrorMsg GetDoc.SaveAs path GoTo GetDocExitGetObjectError:If Err.Number = 440 Or Err.Number = 432 Then‘GetObject не прошел, создаем новый и сохраняем в path Set GetDoc = CreateObject("Word.Application").Documents.Add Resume TrySaveAsEnd If‘ErrorMsg: Set GetDoc = Nothing MsgBox Err.Description Resume GetDocExitEnd Function