Оценить значение ячейки в пути - PullRequest
0 голосов
/ 29 февраля 2020

У меня есть это значение "ThisWorkbook.FullName" , хранящееся в A1 ячейке Worksheets (1)

В моем макросе я нужно взять значение ячейки и оценить его по пути, например "D: ​​\ Users \ delta \ Desktop \ Projects \ Cars \ test.xlsm"

, выполнив код ниже Я получаю строку ThisWorkbook.FullName. И я хочу получить результат выполнения ThisWorkbook.FullName команды, т.е. путь (строка) к текущему местоположению рабочей книги

Есть ли способ сделать это? Я выполняю поиск в Google безуспешно.

Public Sub try()
    Debug.Print ThisWorkbook.Worksheets(1).Range("A1").Text ' this should be evaluated
End Sub

Заранее спасибо!

1 Ответ

1 голос
/ 29 февраля 2020

На основании описания вам действительно не нужно оценивать переменную, поскольку вы можете передать значение, установленное в ячейке. Ниже приведен пример, который вы можете использовать.

Public Sub Test()
    Dim strAcDb As String
    strAcDb = strAccDBPath("Test.Accdb")
    If strAcDb = "" Then
        MsgBox "Access DB not found!", vbExclamation
        Exit Sub
    End If
End Sub

Private Function strAccDBPath(strDbName As String) As String
    If Dir(ThisWorkbook.Path & Application.PathSeparator & strDbName) <> "" Then
        strAccDBPath = ThisWorkbook.Path & Application.PathSeparator & strDbName
    ElseIf Dir(ThisWorkbook.Worksheets(1).Range("A1").Value) <> "" Then
        strAccDBPath = ThisWorkbook.Worksheets(1).Range("A1").Value
    Else
        strAccDBPath = ""
    End If
End Function

Примечание: В любом случае, не используйте метод Range.Text, который может привести к неожиданным результатам! Вместо этого используйте Value или Value2.

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