Получить номер строки активной ячейки:
prow = ActiveCell.row
Получить значение в столбце 1 этой строки:
num = Cells(prow, 1).Value
Прочитать имя активной рабочей таблицы (естьздесь должна появиться ошибка wsheet
, а не wshet
):
wshet = ActiveSheet.Name
Проверить, если num
больше 0, а ячейка A4 содержит "#" и активная рабочая таблица равнапеременная или константа с именем People_wsheet
.И если это так, подпрограмма с именем people_select_link_to_Document
вызывается с параметрами process_wbook_path
и prow
If (Val(num) > 0) _
And (Cells(4, 1).Value = "#") _
And (wsheet = People_wsheet) _
Then
people_select_link_to_Document process_wbook_path, prow
End If
Теперь эта подпрограмма в первую очередь проверяет, является ли столбец DocumentFile
активной строкипустой.На самом деле это довольно слабый способ проверки пустоты, но, вероятно, он подойдет.
If Len(Cells(prow, DocumentFile).Value) = 0 Then
А если он пуст, мы покажем диалоговое окно для получения имени файла:
Fname = Application.GetOpenFilename("Document Files (*.doc;*.pdf),*.doc;*.pdf", 1, "Select the Document file..")
Если имя файла было выбрано (то есть диалоговое окно не отменено), мы сохраняем это имя файла в столбце DocumentFile
активной строки для дальнейшего использования:
If Fname <> False Then
Cells(prow, DocumentFile).Value = Fname 'global path
End If
И это все!