Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2013, 21:18   #1
Вадим12091965
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 143
По умолчанию Открыть word из excel

Здравствуйте. Excel и word находятся в одной папке. На листе Excel находится кнопка "Справка" для вызова word "Справка". Как будет выглядеть код? Спасибо.
Вадим12091965 вне форума Ответить с цитированием
Старый 17.10.2013, 21:22   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Открыть word из excel
ну это уже перебор.
Да таких тем на форуме (и не только нашем) несколько десятков, а может и сотен.
Неужели сложно воспользоваться поиском?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 17.10.2013, 21:23   #3
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Excel и word находятся в одной папке
А это что?
Документы или сами программы?
Да и что за справка?
Справка по Word?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 18.10.2013, 14:43   #4
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

Вариант 1. Удобен для написания макроса, т.к. когда будем ставить точку, будет появляться список с членами.
Для работы кода нужно в VBA сделать: Tools - References... - Microsoft Word версия Object Library.
Код:
Sub Procedure_1()
    
    'Tools - References... - Microsoft Word версия Object Library.
    'Создание переменной "myWord".
    'Эта переменная будет именем программы "Word".
    'Через эту переменную можно работать с программой "Word"
        'как будто мы находимся в программе "Word".
    Dim myWord As Word.Application
    
    'Запуск программы "Word".
    'Назначение программе "Word" имени "myWord" .
    Set myWord = CreateObject(Class:="Word.Application")
    
    'Отображение программы "Word" на мониторе,
        'чтобы если произойдёт какая-нибудь ошибка, мы
        'могли закрыть программу "Word" крестиком в правом верхнем углу.
    myWord.Visible = True
    
    'Открытие Word-файла.
    myWord.Documents.Open Filename:=ActiveWorkbook.Path & "\" & "Doc1.docx"
    
End Sub
Вариант 2. Нужно использовать тогда, когда макрос будет протестирован с помощью Варианта 1. Этот Вариант позволяет использовать макрос на разных компьютерах без настройки каждого компьютера.
Код:
Sub Procedure_2()
    
    Dim myWord As Object
    
    
    Set myWord = CreateObject(Class:="Word.Application")
    myWord.Visible = True
    myWord.Documents.Open Filename:=ActiveWorkbook.Path & "\" & "Doc1.docx"
    
End Sub

Последний раз редактировалось Скрипт; 18.10.2013 в 16:22.
Скрипт вне форума Ответить с цитированием
Старый 18.10.2013, 16:15   #5
Вадим12091965
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 143
По умолчанию

Скрипт. Спасибо. 2 вариант работает отлично.
VictorM. На форумах я искал, и на нашем форуме нашел вариант
Код:
Private Sub CommandButton1_Click()

    Dim WordApp As Object
    Dim wrdDoc As Object
    Dim tmpDoc As Object
    Dim WDoc As String
'   Dim myDoc As String
'    myDoc = "onoie?eainou-aaoi"
    WDoc = ThisWorkbook.Path & "\" & Справка & ".doc"
'    Debug.Print WDoc
    Err.Number = 0
    On Error Resume Next

    Set WordApp = GetObject(, "Word.Application")
 
'   Debug.Print "WordApp " & WordApp
   
    'If WordApp Is Nothing Then
    If Err.Number <> 0 Then
         ' no current word application
        Set WordApp = CreateObject("Word.application")
        Set wrdDoc = WordApp.Documents.Open(WDoc)
   ' WordApp.Visible = True
    Else
         ' word app running
        For Each tmpDoc In WordApp.Documents
            If StrComp(tmpDoc.FullName, WDoc, vbTextCompare) = 0 Then
                 ' this is your doc
                Set wrdDoc = tmpDoc
                Exit For
            End If
        Next
        If wrdDoc Is Nothing Then
             ' not open
            Set wrdDoc = WordApp.Documents.Open(WDoc)
        End If
    End If
    WordApp.Visible = True
WordApp.DisplayAlerts = False
WordApp.ActiveWindow.Selection.WholeStory
'open_word = WordApp

End Sub
, но он открывал не конкретный документ, а оболочку Word. Я не знал что добавить в код, чтобы открыть конкретный документ. "Справка" - это название документа.
Вадим12091965 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открыть файл Word мимо Общие вопросы Delphi 0 16.11.2012 19:13
перенести документ Word (таблица) в MS Excel c сохранением форматирования или обеспечить всплывающие подсказки в Word Serge_Bliznykov Microsoft Office Word 6 11.07.2011 11:02
Открыть Word документ dmitriegorovih Общие вопросы Delphi 10 04.03.2011 22:00
Открыть документ WORD Maxx Microsoft Office Excel 0 15.02.2010 17:37
Не могу открыть Word Mishina Помощь студентам 1 16.06.2008 12:44