Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Как сдеать макросм кнопку, чтобы открыть файл doc?


Автор: LeonM 5.6.2005, 12:12
Здравствуйте.

Подскажите, пожалуйста, можно ли сделать макрос, открывающий постоянный файл в формате Word? И как?

Автор: SPrograMMer 5.6.2005, 18:04
Цитата(LeonM @ 5.6.2005, 12:12)
Подскажите, пожалуйста, можно ли сделать макрос, открывающий постоянный файл в формате Word? И как?

Можна! даже нужно! smile

Будем макросами баловаться smile
1) на Access`овскую форму бросаем кнопочку, открывается мастер создания кнопок, в котором выбираем "Приложение" и "Запустить MS Word". "Готово"

2)смотрим получившийся макрос:
Код

Private Sub Кнопка0_Click()
On Error GoTo Err_Кнопка0_Click
    Dim oApp As Object
    Set oApp = CreateObject("Word.Application")
'
' вот сюда кое чего вставим :)
'
    oApp.Visible = True
Exit_Кнопка0_Click:
    Exit Sub
Err_Кнопка0_Click:
    MsgBox Err.Description
    Resume Exit_Кнока0_Click
End Sub

3) Открываем Word, начинаем писать макрос "Сервис / Макрос / Начать запись", Открываем нужный файлик, заканчиваем писать этот макрос, смотрим на него:
Код

    Documents.Open FileName:="2_.doc", ConfirmConversions:=False, ReadOnly:= _
        False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
        "", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
        Format:=wdOpenFormatAuto, XMLTransform:=""

тута ВСЕ кроме FileName можно выкинуть smile а в него пишем полный путь к файлу ну что-то вроде:
Код

    Documents.Open FileName:="C:\MyDocuments\Others\2_.doc"

4) Эту строчку вставляем в Access`овскую кнопку, незабывая, что Объект Documents, с помощью которого это все происходит принадлежит Объекту - приложению oApp, в результате получаем:
Код

Private Sub Кнопка0_Click()
On Error GoTo Err_Кнопка0_Click
    Dim oApp As Object
    Set oApp = CreateObject("Word.Application")
    oApp.Documents.Open FileName:="C:\MyDocuments\Others\2_.doc"    ' уже вставили :)
    oApp.Visible = True
Exit_Кнопка0_Click:
    Exit Sub
Err_Кнопка0_Click:
    MsgBox Err.Description
    Resume Exit_Кнока0_Click
End Sub



PS: у меня офис 2003, в других офисах, действия могут по другому именоваться, а сама суть остаётся smile

Автор: likhobory 5.6.2005, 18:33

Цитата(SPrograMMer @ 5.6.2005, 19:04)
в других офисах, действия могут по другому именоваться

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)