У меня стол такой

File    |    Filename     |...
foo     | \a\b\c\foo.txt  |
foo2    | \a\b\c\foo2.txt | 
foo3    | \a\b\c\foo3.txt |

В настоящее время каждый раз, когда я добавляю файл, мне приходится вручную вводить его имя файла (путь), нажимая SHIFT+ ПРАВО, щелкая файл и выбирая "Копировать как путь", а затем вставляя его в Excel.

Вопрос: может ли кто-нибудь предоставить макрос MWE в VBA, который позволил бы пользователю перетащить файл, поместить его в ячейку, а затем поместить имя файла / путь к этому файлу в эту ячейку (ПРИМЕЧАНИЕ. Я не пытаюсь встроить фактический файл , просто захватите его имя файла / путь).

Существующие решения: наиболее близкий пример, который я нашел, требует странных комбинаций клавиш, таких как нажатие «\» перед перетаскиванием, а также использование дополнительных библиотек.

Цель: цель здесь - использовать Excel для управления проектами. Существуют веб-интерфейсы для управления проектами, в частности Jira, однако они недостаточно подробны. Я выполняю большую юридическую и политическую работу, и крайне важно знать, кто является автором файла, кому этот файл был распространен, каков был способ распространения (электронная почта, курьер, личная доставка), так как а также контроль версий файлов. Я считаю, что, за исключением решений корпоративного уровня, таких как SAP, такого инструмента не существует. В настоящее время у меня есть рабочие листы для разных уровней классификаций (т.е. Проект, задача, подзадача, подзадача), затем у меня есть файлы, связанные с одной из этих классификаций. Кроме того, если я отправляю документ по электронной почте, я должен сохранить файл outlook, перенести его в это решение для управления проектами и также связать его. То же самое относится и к файлам, которые были высланы, и я хочу вести учет квитанции FedEx. Проблема в том, что мне нужно вручную скопировать файл в основную папку, зашифровать его, переименовать, а затем скопировать путь к файлу и вставить его в Excel. Это не миссия невыполнима, но когда каждый день записываются сотни файлов, это действительно становится рутиной. Моя цель - перетаскивать файлы и использовать VBA для их автоматизации. Я разместил этот вопрос здесь, потому что здесь задается большое количество вопросов по Excel. Однако, учитывая негативные комментарии и закрытые запросы, я считаю, что такой сложный вопрос программирования лучше задать на более продвинутом под-сайте, таком как переполнение стека.

Перетащите файл, чтобы получить его имя / путь в Excel

1 ответ1

2
  1. В папке, где находятся ваши файлы.
  2. SHIFT+ клик правой кнопкой мыши по пустому пробелу в каталоге.
  3. Выберите: Открыть окно команд здесь
  4. Введите эту команду>: FOR %A IN (*.*) DO ECHO %~fA >> files.txt

Теперь создан новый файл: files.txt

Перетащите этот файл на EXCEL, и имена и пути к файлам заполнят ячейки автоматически.

Смущенный? Следуйте изображениям.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .