Страницы: 1
RSS
Как создать кнопку ,которая будет открывать Word файл?
 
Здравствуйте, подскажите пожалуйста, какой код VBA нужно написать, чтобы с кнопки ActiveX на листе Excel открывался Word файл. Файл лежит в одной папке с Excel. НО планируется распространить данный файл всем коллегам , поэтому , нужен относительный путь к файлу (то есть путь к файлу будет у каждого человека свой ) ?
Изменено: Владислав Макеев - 08.09.2022 00:41:14
 
Код
Sub Открыть_Word_Файл()
    Dim myWord As Object, myDocument As Object, WordFileName As String
    
    WordFileName = "Test.docx" 'название файла Word
    Set myWord = CreateObject("Word.Application")
    Set myDocument = myWord.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & WordFileName)
    myWord.Visible = True
End Sub
Изменено: New - 08.09.2022 00:58:02
 
Цитата
написал:
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8      Sub   Открыть_Word_Файл()          Dim   myWord   As   Object  , myDocument   As   Object  , WordFileName   As   String                   WordFileName =   "Test.docx"   'название файла Word          Set   myWord = CreateObject(  "Word.Application"  )          Set   myDocument = myWord.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & WordFileName)          myWord.Visible =   True    End   Sub   
 
Спасибо огромное ,за такой быстрый ответ!!!Код заработал!!! Но если не сложно сможете подсказать, excel открывает у меня файл, но в свернутом виде , как доработать код так , чтобы он всегда открывался в развернутом виде?  
 
пожалуйста, не нажимайте кнопку Цитировать, я помню, что я писал вам. Нажимайте кнопку "Имя"
попробуйте так

Код
Sub Открыть_Word_Файл()
    
    Dim myWord As Object, myDocument As Object, WordFileName As String
     
    WordFileName = "Test.docx" 'название файла Word
    Set myWord = CreateObject("Word.Application")
    Set myDocument = myWord.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & WordFileName)
    myWord.Visible = True
    myWord.WindowState = xlMaximized
End Sub
Изменено: New - 10.09.2022 01:14:22
 
Код
Sub Открыть_Word_Файл()
    Dim myWord As Object, myDocument As Object, WordFileName As String
     
    WordFileName = "Test.docx" 'название файла Word
    Set myWord = CreateObject("Word.Application")
    Set myDocument = myWord.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & WordFileName)
    myWord.Visible = True
    'myWord.Activate
    myWord.WindowState = 1
End Sub
 
Тимофеев, спасибо за Ваш вариант он мне подошёл, я активировал строчку кода myWord.Active и теперь файл открывается при запуске кнопки! Но вот небольшой вопрос , а если я положу Word файл в отдельную папку, он мне выдаст ошибку , как это поправить?
Изменено: Владислав Макеев - 10.09.2022 00:35:58
 
добавить в макрос диалог выбора файла
 
Код
Sub Открыть_Word_Файл()
    Dim myWord As Object, myDocument As Object, sPath As String
      
    sPath = Application.GetOpenFilename("Файлы Word (*.doc*),*.doc*", 1, "Выберите файл Word", , False)
    If sPath = "False" Then Exit Sub

    Set myWord = CreateObject("Word.Application")
    Set myDocument = myWord.Documents.Open(sPath)
    myWord.Visible = True
    myWord.WindowState = xlMaximized
End Sub
Изменено: New - 10.09.2022 01:22:02
 
Александр Моторин, New, Извините что вел вас в заблуждение , но по моему я некорректно выразился. Под словом отдельная папка я имел ввиду , то что файл excel и файл  word лежат в одной папке.И для того чтобы вордовский файл не мешался ,я для него создал отдельную папку там же , по сути файлы находятся рядом. Пример, путь к файлу excel: C:Рабочий стол\Расчёты\Расчёты закупок.xlsx , а путь к вордовскому файлу C:Рабочий стол\Расчёты\Прайсы\Актуальный прайс.docx.
Я прошу подсказать как  код из сообщения #5 доработать так, чтобы эксель искал вордовский файл именно в папке "Прайсы" ? Но при этом , как я понимаю ссылка должна быть относительная, то есть ,чтобы эксель не привязывался к определенному пути, так как я собираюсь распространить этот файл своим коллегам ,а у них пути  к файлу будут разные.
Изменено: Владислав Макеев - 10.09.2022 03:03:55
 
чувствую эта тема будет бесконечной...
Код
Sub Открыть_Word_Файл()
    Dim myWord As Object, myDocument As Object, WordFileName As String
      
    WordFileName = "\Прайсы\Актуальный прайс.docx" 'папка и название файла Word
    Set myWord = CreateObject("Word.Application")
    Set myDocument = myWord.Documents.Open(ThisWorkbook.Path & WordFileName)
    myWord.Visible = True
    myWord.Activate
    myWord.WindowState = 1
End Sub
 
New, Тимофеев. Искренне благодарю за плодотворную, качественную работу, выполненную в короткий срок на высоком профессиональном уровне. Это позволило достичь эффективных результатов. Спасибо за проявленные старания, ответственность, добросовестность, трудолюбие, за удачно примененные глубокие знания и огромный практический опыт. Надеюсь на еще более успешную работу в дальнейшем.
Изменено: Владислав Макеев - 11.09.2022 16:40:23
 
Код
Sub qq()
    Dim myDocument As Object, WordFileName As String
    WordFileName = ThisWorkbook.Path & "/Документ Microsoft Word.docx" 'папка и название файла Word
    Set myDocument = GetObject(WordFileName)
    myDocument.Parent.Visible = True
End Sub
 
Хорошая тема и код. Прошу помощи в коде. Применил данный код  #10 New, Все отлично работает.
Но у меня excel файл в папке на рабочем столе (C:\Users\Геркулес\Desktop\LogBook\Электронный журнал.xlsx). А Word файл на диске
(D:\HERCULES\2ND.ENG\2ND.ENG\7) Ежемесячные отчеты 2024 г\5) Май\4-38-ISM-ЕЖЕМЕСЯЧНЫЙ ОТЧЕТ О ВЫПОЛНЕННЫХ РАБОТАХ МО Май 2024.doc.
СПАСИБО. Как написать код если файлы размещены на разных дисках?
Изменено: Fitochai - 09.05.2024 21:28:37
Страницы: 1
Наверх