Я создал документ Excel, который импортирует файл CSV с данными из AD, который в основном создает телефонную книгу, после чего он экспортируется в PDF. Тем не менее, меня просят создать способ легко переходить к фамилиям на основе букв.
Я пытаюсь создать гиперссылки в Excel, которые выдержат преобразование PDF. Они должны быть динамичными, так как местоположение фамилии будет меняться ежедневно. Таким образом, гиперссылка должна искать в листе «Фонелист» первую ячейку в столбце A с первой буквой A-Z, а затем гиперссылку на эту ячейку. Я застрял и едва знаю, с чего начать.
Преобразование PDF осуществляется с помощью Powershell, а импорт данных - через связанный CSV-файл, который обновляет данные каждый раз при открытии. То, что я теоретически мог бы сделать, это попытаться создать новый лист для каждой буквы алфавита, но я бы предпочел этого избегать, поскольку данные были бы более сегментированными, чем мы хотели бы.
Сохранить как PDF
$workbook.ExportAsFixedFormat($xlFixedFormat::xlTypePDF, 'C:\users\aricci\Phonebook\Telephonebook.pdf')
Вот моя рабочая ссылка прямо сейчас. 2 проблемы, во-первых, мне нужно, чтобы диапазон начинался с ячейки A2, а не с A1, который является заголовком. Во-вторых, он не выдерживает преобразования PDF.
=HYPERLINK("#" & CELL("address",INDEX(Phonelist!A:A,MATCH("A*",Phonelist!A:A,0))),"A")
Я бы предположил, что VBA будет похож на это, но я не уверен, как отредактировать его для того, что мне нужно.
Sub CreateHyperlinks()
Dim cl As Range
For Each cl In Range("B1:B100").Cells '## Modify as needed
cl.Hyperlinks.Add cl, cl.Value, , , cl.Offset(0,-1).Value
Next
End Sub