Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2016, 10:34   #1
nyqpblcTuk
Пользователь
 
Регистрация: 05.06.2016
Сообщений: 37
По умолчанию Гиперсылки на файлы не зная расширения

Люди знающие, подскажите как можно реализовать следующие:

Есть например страница EXcel в нем строки с данными, все эти данные начинаются с ячейки с именем накладной.
Например: 555-6736 2222
Далее есть ячейка с гиперсылкой на сканы этих накладных.

Сканы все содержатся в одной папке! все сканы с именем совпадающим с название в книге excel.

ссылка выгляди вот так: =ГИПЕРССЫЛКА("scan\vnes\"&RC[-9]&".jpg";">>")
Вся загвоздка заключается в том, что агентов много, менеджеров мнгого, и все сканы в эту папку падают с разными расширениями.

Как сделать, чтобы файл открывался игнорируя расширения, или выбирал нужное значение из списка, ведь расширений графических не так много....
nyqpblcTuk вне форума Ответить с цитированием
Старый 18.08.2016, 10:40   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
ведь расширений графических не так много....
ну, с десяток популярных наберётся.

а кроме этого, вашу задачу так просто не решить.
нужно или
- административное решение (все заливают строго с одним расширением)
- макрос на VBA, который будет перебирать имена и вставлять нужную ссылку.
- внешняя тулза, которая будет следить за папкой и конвертировать все сканы в единый формат.

выбирать Вам.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.08.2016, 10:55   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

В подобных случаях я использую макрос, который находит в указанной папке требуемый файл (игнорируя расширение) и открывает его с помощью API-функции ShellExecute, которая позволяет открывать файл, ассоциированный с приложением.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 18.08.2016, 11:38   #4
nyqpblcTuk
Пользователь
 
Регистрация: 05.06.2016
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
- внешняя тулза, которая будет следить за папкой и конвертировать все сканы в единый формат.
Об этом я задумавылся, но гемора тоже хватает,
Цикличная проверка папки, куда сливаются файлы каждую секунду/минуту, убьет сервак.

А извините за выражение каждому дибилу объяснить что файлы сохранять в нужном расширении не получится....


Думал может можно просто функциями типа ИЛИ или ЕСЛИ сделать, но не тут то было, поковыряв в интернете, не найдя ничего подходящего, написал сюда.
nyqpblcTuk вне форума Ответить с цитированием
Старый 18.08.2016, 11:51   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от nyqpblcTuk
А извините за выражение каждому дибилу объяснить что файлы сохранять в нужном расширении не получится....
Вы не поняли или пропустили слово "административное".
Это означает, что издаётся приказ (желательно письменный - форма любая - приказ, распоряжение, разъяснение, указание, правила сканирования и т.п.)
за подписью начальства, где указывается что надо делать и что запрещено.
Там указывается нужное расширение и ответственное лицо (начальник отдела IT, например, или сам руководитель). При нарушениях - тому, кто нарушил - первый раз делают замечание. При повторном - пишут служебную записку и лишают премии. Действует очень тонизирующе!
В конце концов имена файлов даются правильно - номер накладной в имя скана вбивают не забывают?

Ладно. Это жесткий путь.

Тогда берите и вешайте макрос на книгу, который будет открывать файл по имени, вне зависимости от расширения (см. пост #3, например).
Это самое простое решение, не требующее административного ресурса.

Цитата:
Цикличная проверка папки, куда сливаются файлы каждую секунду/минуту, убьет сервак.
тут всё зависит от множества факторов.
Во-первых, есть функции Win API для слежения за каталогом. Винда сама будет сообщать вашей программе, что в папке изменилось. Примеры таких программ имеются.

во-вторых, не поверю, что у Вас задача такая, что промедление в пару минут - смерти подобно и поэтому проверять раз в 5-10 минут сервер точно не убьёт.

Но, насчёт программы это, на мой взгляд, самое последнее решение.
я бы выбрал или административное или макрос.

Кстати, а кто заполняет строки в Excel файле? Кто туда вбивает номер накладной?
При заполнении данных в MS Excel как раз и можно делать ссылку на нужный скан.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.08.2016, 12:22   #6
nyqpblcTuk
Пользователь
 
Регистрация: 05.06.2016
Сообщений: 37
По умолчанию

Там все немного запутанне, сканы попадают позже внесения в отчет.
Т.е. пришел например оригинал накладной, с него все данные внесли, потом делают скан, потом кидают его в систему бронирования, потом скан уже перемещают в папку, мол отработали, далее этот отчет попадает в бухгалтерию, и бухгалтерия лопатает от всех менеджеров единый отчет.

Бывают и другие моменты, приходит скан с региона от партенра, все так же вбивается в отчет.

Бывает скидывает клиент скан, когда клиент лично ездил на терминал сдавать груз, т.к. зажал денег на экспедирование...

Т.е. как понимаете скан может упасть от куда угодно=)

И в этом случаии административный вариант не подходит.

я как понимаете обычный менеджер этой компании, с некими знаниями компьютера...=)

И как говорится хочется и себе и другим облегчить немного жизнь...
nyqpblcTuk вне форума Ответить с цитированием
Старый 18.08.2016, 13:59   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Т.е. как понимаете скан может упасть от куда угодно=)
И в этом случаи административный вариант не подходит.
да, согласен.

слушайте, а как Вы боретесь с тем, что в этой схеме:
Цитата:
апример оригинал накладной, с него все данные внесли, потом делают скан, потом кидают его в систему бронирования, потом скан уже перемещают в папку, мол отработали,
где-то косяк - ну, например, данные внесли неверно.
или данные внесли, скан забыли сделать или переместить в папку?

Просто любопытно, кто следит за косяками и исправляет их?
Менеджеры?

Цитата:
я как понимаете обычный менеджер этой компании, с некими знаниями компьютера...=)
И как говорится хочется и себе и другим облегчить немного жизнь...
лично я, на вашем месте, поступил бы так:
открывал документ Excel, открывал макросы (которые у меня в отдельном файле),
запускал макрос, который проверяет документы и правит ссылки.

При этом,
1) правятся только документы за определённый срок (ну, например, за последние два рабочих дня) и/или не имеющие некоторых аттрибутов (например, какой-то отметки о визировании или о завершении и т.п. - Вам виднее).

2) по каждому такому документу находится нужное изображение и правится гиперссылка.
Если файла изображения не найдено (или, допустим, несколько файлов с нужными именем и разнымы расширениями) - то ссылка заливается красным цветом (ошибка! файла нет).

3) дальше либо запускал данный макрос каждый раз, когда работаю с документом Excel, либо подумывал об автоматизации его запуска.

преимущества - сам документ не содержит макросов, это не нарушает безопасность и нет проблем с антивирусами.

возможны и другие алгоритмы. Можно сделать так, как предлагал SAS888
(тем более, что он может поделиться с вами макросом).
А выбирать Вам.
Подумайте, какой из них лучше для Вас.


а что, предложения в теме "отслеживание изменений в папке при попадании изображения замена разрешения файла например на jpg и уменьшения размера файла до 1мб" ничем не помогли?

Последний раз редактировалось Serge_Bliznykov; 18.08.2016 в 14:02.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.08.2016, 08:20   #8
nyqpblcTuk
Пользователь
 
Регистрация: 05.06.2016
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
да, согласен.

слушайте, а как Вы боретесь с тем, что в этой схеме:

где-то косяк - ну, например, данные внесли неверно.
или данные внесли, скан забыли сделать или переместить в папку?

Просто любопытно, кто следит за косяками и исправляет их?
Менеджеры?


лично я, на вашем месте, поступил бы так:
открывал документ Excel, открывал макросы (которые у меня в отдельном файле),
запускал макрос, который проверяет документы и правит ссылки.

При этом,
1) правятся только документы за определённый срок (ну, например, за последние два рабочих дня) и/или не имеющие некоторых аттрибутов (например, какой-то отметки о визировании или о завершении и т.п. - Вам виднее).

2) по каждому такому документу находится нужное изображение и правится гиперссылка.
Если файла изображения не найдено (или, допустим, несколько файлов с нужными именем и разнымы расширениями) - то ссылка заливается красным цветом (ошибка! файла нет).

3) дальше либо запускал данный макрос каждый раз, когда работаю с документом Excel, либо подумывал об автоматизации его запуска.

преимущества - сам документ не содержит макросов, это не нарушает безопасность и нет проблем с антивирусами.

возможны и другие алгоритмы. Можно сделать так, как предлагал SAS888
(тем более, что он может поделиться с вами макросом).
А выбирать Вам.
Подумайте, какой из них лучше для Вас.


а что, предложения в теме "отслеживание изменений в папке при попадании изображения замена разрешения файла например на jpg и уменьшения размера файла до 1мб" ничем не помогли?
Косяки конечно есть, вот дальше то и работа бухгалтеров, они открывают сканы смотрят данные и находят косяки, и дают по шапке менеджеру чтобы исправлял.
Там данные суммы клиенту и себестоимости, зависят от данных с накладной.
Причем отчет по себестоимости проходят через авиакомпании.

А отчеты в таком виде, у каждого менеджера свой отчет, отчет разделен на 2 раздела на странице, то что уже внесли, и то что вводится новое.

В конце дня бухгалтерия собирает отчет свой ОДИН из всех, и то что было внесено новое они убирают в раздел что уже внесенно, и чтобы внести изменения в старое мы вводим данные в накладную спускаю ее во второй раздел,

Короче говоря если ты вбил накладную правильно то ты о ней уже и не вспоминаешь, дальше с ней работает бухгалтерия.

А бухгалтеру важно чтобы все было правильно.

Вот и получается такая схема полная:
Пришел скан от куда не важно.
Менеджер взял его "в руки"
Внес в одну строку по заданным ячейкам все данные, перевозчик номер накладной, клиента, кол мест, кг, объем, затраты, денежные средства от клиента,

Далее он берет этот скан открывает вторую программу, и почти теже данные копируют в систему бронирования перевозчика.

Далее этот скан закидывает в папку на сервер.

Далее закрыл отчет.

В конце дня бухгалтерия "забрала" отчет.

Отверила все твои накладные.

Отчиталась перед перевозчиком.

Выставила клиенту счет.

В отчете уже у себя напротив накладной прописала номер счета

И только после всех этих манипуляций перевозка считается оконченной.

Но это так думается.
Через день неделю, пол года...и тд,

Кому-то может понадобится одна накладная любая

Может клиент всплыть какой-то
Может перевозчик косяк найти
Может в системе бронирования не пройти данные (сбой в программе) и нужно по новой вбить данные со скана
Может метиорит упасть.......

И накладную необходимо поднять заново.

у нас айтишники такие, что я им объясняю как настроить маршрутники.
и тд и тп.

Можно конечно на все это забить и пусть работа идет как идет, т.к. мне за это все и копейки не светит.

Да что там говорить до моего прихода они стоки номеров электронные вбивали вручную 400 шт =)
Не зная как правильно прописать формулу в excel.

Но чисто для себя хочется хоть один гемор с себя свалить.

Но фактор того, что я не работал с макросами, и будет ли это все работать при такой схеме, что отчетов штук 10 в компании, которые потом собираются в один.

Возьму уроки на дому как это все реализовать=)

По теме созданной ранее, я так почему то и не смог найти подходящию утилиту...
nyqpblcTuk вне форума Ответить с цитированием
Старый 19.08.2016, 11:18   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

схема более менее понятна.
непростая, согласен.

мне всё таки хочется разобраться - чей труд Вы хотите облегчить с помощью программы/макроса...

Цитата:
Но чисто для себя хочется хоть один гемор с себя свалить.
вот, а расскажите, а какой лично Ваш гемор в этой схеме?
Вы свои сканы выкладываете с правильным расширением?
Тогда у Вас всё работает, ссылки на сканы открываются.
Так?

А у кого не работает? У бухгалтеров?
Вы за них переживаете и им хотите облегчить работу?
А какие они в этом случае предпринимают шаги, конкретно?


А ещё, Вы в прошлой теме спрашивали про уменьшение размера сканов.
А это ещё зачем? Места в сетевой папке не хватает?

кстати, сетевая папка где расположена? на сервере? отдельный постоянно включённый компьютер? Админы его бэкапят периодически?
А что на нём за операционнка?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.08.2016, 07:36   #10
nyqpblcTuk
Пользователь
 
Регистрация: 05.06.2016
Сообщений: 37
По умолчанию

Файл меньшего размера требуется для второй программы бронирования, т.к. ограничение на заливку скана стоит 1000 кб

Облегчить работу всем.
Т.к. накладных в день вносится одним менеджером порядка штук 50, и в каждой накладной отслеживать правильное расширение, глаз иногда ломается.

Пропустил какой-то, бухгалтерия вызывает к себе давай ищи меняй и тд и тп.

А пропускаешь потому что перевозки из этих 50 штук 30, почти похожи 30 вчерашним, тот же клиент, таже авиакомпания, только по самому грузу расхождение.
Скопировал, не углядел что ссылка битая, все косяк=)


На сервере, на отдельном постоянно включенном компьютере в соседнем офисе, Windows server, бэкап кажется раз в неделю, на машину айтишников.
И я не вдавался в подробности, но у них бэкапы хранятся, что-то около 5 месяцев, потом перетераются, новыми.

Последний раз редактировалось nyqpblcTuk; 24.08.2016 в 07:38.
nyqpblcTuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Гиперсылки на формулы не работают hitakiry Microsoft Office Word 0 22.10.2013 09:45
Как отправить файл на сервер через FTP не зная имени, а зная только расширение файла? Самуйлов Э.В. Общие вопросы Delphi 2 03.03.2013 13:15
Открытие файла из BLOB поля не зная расширения ZBEP БД в Delphi 5 13.11.2011 18:44
Расширения Кристинка89 Общие вопросы Delphi 4 26.08.2011 19:38
Расширения к Firefox Altera Софт 0 22.11.2008 13:49