Макрос Excel: сравнить значение ячейки с внешним именем файла / содержимым папки - PullRequest
0 голосов
/ 14 января 2019

Мне нужно заполнить этот код, вы можете мне помочь? Я должен использовать его внутри макроса Excel. Этот макрос должен проверить, присутствует ли то, что написано в каждой ячейке (внутри них есть названия песен) в определенной папке в виде файлов. Например, если в ячейке есть «Nothing Else Matter», скрипт должен проверить, есть ли в этой папке файл с таким именем. Это сценарий, который должен позволить мне сэкономить время, я прошу прощения за ошибки, но я впервые прикладываю руку к этому языку (не моя работа, я говорю это по справедливости).

Выдается следующая ошибка:

Ошибка компиляции:

Синтаксическая ошибка

Проблема в строке " If Dir (имя песни)" "Then "

Sub Test_if_File_exists_in_dir()

Dim RangeOfCells As Range
Dim Cell As Range
Dim songname As String

Dim TotalRow As Long

TotalRow = Range("A" & Rows.Count).End(xlUp).Row

Set RangeOfCells = Range("A2:A" & TotalRow)

For Each Cell In RangeOfCells
    songname = "C:\Alessio\Songs\" & Cell & ".*"

        If Dir(songname)  "" Then 
            Cell.Font.Color = vbRed
        Else
            Cell.Font.Color = vbBlack
        End If

Next Cell
MsgBox "Done, verify data first time"

End Sub

Спасибо,

Alessio

1 Ответ

0 голосов
/ 15 января 2019

Попробуйте это:

Sub Test_if_File_exists_in_dir()

    Dim RangeOfCells As Range
    Dim Cell As Range
    Dim songname As String

    Dim TotalRow As Long

    TotalRow = Range("A" & Rows.Count).End(xlUp).Row

    Set RangeOfCells = Range("A2:A" & TotalRow)

    For Each Cell In RangeOfCells
        'edit: include artist
        songname = "C:\Alessio\Songs\" & _
                    Cell.Offset(0, 1) & " - " & Cell & ".*"
        Debug.print "Checking: " & songname
        Cell.Font.Color = IIf(Len( Dir(songname) ) = 0, vbRed, vbBlack)

    Next Cell
    MsgBox "Done, verify data first time"

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