Добрый день,
Мне интересно, как открыть файл 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
Но я получаю довольно похожую ошибку с предыдущей ситуацией. Теоретически я знаю, что этих символов не должно быть, хотя я не знаю, как правильно их написать.
ОБНОВЛЕНИЕ:
Со ссылкой на подсказки в комментариях я попробовал вот что:
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 /, а я задаю путь для своей книги?
Только приложение Word открывается без документов ...