VBA Excel - открыть файл Word с подстановочным знаком - PullRequest
0 голосов
/ 27 апреля 2020

Добрый день,

Мне интересно, как открыть файл Word, в имени которого есть некоторая фиксированная часть строки.

Ранее я пытался открыть ее под фиксированной name:

VBA Excel проблема с открытием файла Word

Теперь я иду на шаг дальше и хочу сделать мой файл более гибким.

Я попробовал следующий код:

  Sub Rams()
  Dim appWD As Word.Application
  Set appWD = New Word.Application
   Dim docWD As Word.Document
  Dim DocName As String
  DocName = "*RAMS*"

  Set docWD = appWD.Documents.Open(ActiveWorkbook.path & "\" DocName & ".docx.docm")
  appWD.Visible = True

Но отладчик устанавливает, что это синтаксическая ошибка (здесь отсутствуют некоторые скобки, но я не знаю, где.

Я также пытался :

 Sub Rams()
 Dim appWD As Word.Application
  Set appWD = New Word.Application
  Dim docWD As Word.Document

  Set docWD = appWD.Documents.Open(ActiveWorkbook.path & "\*RAMS*.docx.docm")
  appWD.Visible = True

Но я получаю довольно похожую ошибку с предыдущей ситуацией. Теоретически я знаю, что этих символов не должно быть, хотя я не знаю, как правильно их написать. enter image description here

ОБНОВЛЕНИЕ:

Со ссылкой на подсказки в комментариях я попробовал вот что:

 Sub Rams2()
 Dim appWD As Word.Application
 Dim iIndex As Integer
 Dim strPath As String
 Dim strFile As String
 strPath = ActiveWorkbook.path
 strFile = Dir(strPath & "*RAMS*.docx.docm")
 Do While strFile <> ""
 Set wb = Workbooks.Open(filename:=strPath & strFile)

  For iIndex = 1 To wb.Worksheets.Count
    Set ws = wb.Worksheets(iIndex)

    'Do something here.

Next Index

strFile = Dir 'This moves the value of strFile to the next file.
 Loop
 Set appWD = New Word.Application
 Dim docWD As Word.Document
 appWD.Visible = True
 End Sub

СЛЕДУЮЩЕЕ ОБНОВЛЕНИЕ:

Я нашел несколько решений здесь:

https://www.techonthenet.com/excel/formulas/dir.php

an d здесь

https://www.exceltrick.com/formulas_macros/vba-dir-function/

и, наконец, использовал следующий код:

 Sub Rams3()
 path = ActiveWorkbook.path & "\RAMS*.docm"
 File = Dir(path)
 Dim appWD As Word.Application
 Set appWD = New Word.Application
 Dim docWD As Word.Document
 If Len(File) > 0 Then
 Set docWD = appWD.Documents.Open(File)
 appWD.Visible = True
 Else
  MsgBox ("File Doesn't Exist")
 End If
 End Sub

В основном функция DIR работает правильно так же, как и файл команда открытия, но я не знаю, почему путь перенаправляется в WINDOWS / System32 /, а я задаю путь для своей книги?

enter image description here

Только приложение Word открывается без документов ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...