Очень интересным и полезным решением для решения каких-либо офисных задач является создание некоего архива документов, которым легко и быстро можно воспользоваться из рабочей таблицы Excel.
Делюсь своими наработками!
1. Что необходимо сделать, это скачать программку для сканирования iCopy1.6.3 и соответственно разместить на своем компьютере.
Оказалась весьма интересная программка позволяющая сканировать с помощью кода (или командной строки о чем далее)
2. Размещаем на своей таблице (где это для Вас будет удобным) кнопочку, только берем ее из "Элементов управления"
Соответственно настраиваем под себя размер, цвет, надпись в свойствах кнопки
Далее нам необходимо добавить код на VBA.
Открываем редактор VBA и вставляем:
Private Sub CommandButton1_Click()
Dim iStr As String
Dim Filename As String
iStr = ActiveCell.Value
Filename$ = "\\10.100.100.100\Archiv\Doc\" + Left(iStr, Len(iStr)) + ".pdf"
If Dir(Filename) = "" Then
Shell ("CMD /c X:\Soft\iCopy1.6.3\Icopy.exe /file /pdf /copyMultiplePages /adf /r 200 /path " + Filename)
Exit Sub
Else:
MsgBox "Данный документ уже есть в копиях " & Left(iStr, Len(iStr)) + ".pdf"
Shell "CMD /c " & Filename
End If
End Sub
Теперь разберем каждую строчку:
Dim iStr As String и Dim Filename As String - Создаем текстовые массивы
iStr = ActiveCell.Value - Внедряем имя документа из активной ячейки в наш массив (т.е. перед нажатием кнопки Вы должны встать курсором на требуемую ячейку с именем документа)
Filename = "\\10.100.100.100\Archiv\Doc\" + Left(iStr, Len(iStr)) + ".pdf" - добавляем к названию документа полный путь ( \\10.100.100.100\Archiv\Doc\ - у меня сетевой адрес, но можно заменить и на локальный), где будет храниться наш файлик и добавляем еще расширения файла.
If Dir(Filename) = "" Then - проверяем есть-ли в нашем архиве подобные файлы, если нет, то
Shell ("CMD /c X:\Soft\iCopy1.6.3\Icopy.exe /file /pdf /copyMultiplePages /adf /r 200 /path " + Filename) - запускаем нашу программку Icopy, ( X:\Soft\iCopy1.6.3\Icopy.exe - соответственно путь к программе у Вас будет свой) / далее идут команды непосредственно для самой программы, т.е. выбираем копирование в файл с расширением pdf далее рассматриваем вариант многостраничности, разрешение сканирования у меня стоит 200dpi и плюс сам путь из текстового массива к файлу.
Exit Sub - после выполнения закончить программу
Else: - иначе если документ с таким названием есть в архиве
MsgBox "Данный документ уже есть в копиях " & Left(iStr, Len(iStr)) + ".pdf" - выдаем предупреждение об этом
Shell "CMD /c " & Filename - и открываем данный документ
Соответственно в данном варианте у Вас должна быть установлена какая-либо программа для открытия документов pdf формата. Например AdobeReader. Ну и соответственно должен быть подключен сканер.
Надеюсь данная статья поможет Вам облегчить Ваши рутинные задачи.
Всем добра!