Пример использования текстовых формул для трансформации ссылок Сегодня покажу вам простой пример работы текстовых формул в Excel для п...

Преобразование ссылок GoogleDrive

Пример использования текстовых формул для трансформации ссылок

Сегодня покажу вам простой пример работы текстовых формул в Excel для преображения веб-ссылок GoogleDrive.
Раз уж свой блог я решил завести на платформе blogger.com, то и использование штатного GoogleDrive для хостинга xls-файлов мне показалось логичным.
Правда, почти сразу же я столкнулся с первым неудобством. Суть его заключалась в том, что предлагаемый формат ссылок на файлы по умолчанию открывают файл, а не предлагают выбор открыть или скачать.
Возможно, кому-то так и удобней, но для части файлов, которые содержат макросы такой способ отображения может вызвать некорректную работу.

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

Например:
1) Ссылка по умолчанию (Google-Таблицы):
https://drive.google.com/file/d/0B3eOGZuGXnyDTnVLWkRFeDY4OFU/view?usp=sharing
2) Прямая ссылка:
https://drive.google.com/uc?export=download&id=0B3eOGZuGXnyDTnVLWkRFeDY4OFU

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

Естественно, вручную для каждого файла корректировать ссылки неудобно. Не сомневаюсь, что для решения подобной задачи уже имеются готовые решения, но я предлагаю вам просмотреть простой вариант ее решения с помощью текстовых функций MS Excel (+готовый пример внизу статьи).

Инструкция:

  1. Первое, что нам понадобится, это сама ссылка на файл из GoogleDrive
    https://drive.google.com/file/d/0B3eOGZuGXnyDTnVLWkRFeDY4OFU/view?usp=sharing
  2. Копируем ее в любую свободную ячейку на листе (в примере C1).
  3. Теперь нам нужно из нее как-то вытащить сам код файла. Самый простой способ определить, где он начинается, это ввести в соседнюю ячейку формулу:
    =НАЙТИ("/d/";C1)
  4. С ее помощью Excel найдет в нашей ссылке номер позиции искомого текста /d/, а именно число 30. Проще говоря, теперь мы знаем, что наш код файла начинается сразу после /d/, а значит с 33 (30+3) знака в ячейке.
  5. Ранее я уже упомянул, что код файла в GoogleDrive 28-значный. Убедиться в этом можете сами. Для этого вручную скопируйте сам код файла в любую свободную ячейку. Длину текстовой строки можно легко определить с помощью формулы:
    =ДЛСТР(ссылка на ячейку)
  6. Итак, теперь мы знаем, где начинается наш искомый текст и его длину. А значит, можно приступить к его вытаскиванию из нашей ссылки. Здесь нам на помощь приходит еще одна текстовая формула:
    =ПСТР(C1;D1+3;28)
  7. Формула ПСТР имеет 3 аргумента: текст, начальная_позиция и количество_знаков.
    В нашем случае, текст - адрес ячейки со ссылкой на открытие файла (С1),
    начальная_позиция - ссылка на ячейку из шага 4, увеличенная на 3 знака (D1+3),
    количество символов - 28 (или можно указать и ссылку из шага 5).
    В результате данной формулы мы получим полный код файла без ничего лишнего.
  8. Остается только как-то объединить нужную нам маску прямой ссылки и полученный 28-значный код. Здесь можно, например, воспользоваться формулой:
    =СЦЕПИТЬ("https://drive.google.com/uc?export=download&id=";G1)
    Или просто обойтись знаком конкатенации &:
    ="https://drive.google.com/uc?export=download&id="&G1
  9. Вуаля! Теперь у нас есть универсальный преобразователь ссылок GoogleDrive для вставки файлов в блог. Надеюсь, кому-то он тоже пригодится
    Естественно, все вышеперечисленные формулы не обязательно писать в разных ячейках. Да и для удобства наши ссылки и преобразования лучше засунуть в таблицу. Более-менее облагороженный вариант можете посмотреть по ссылке ниже.
Пример:

Скачать

0 коммент.: