Перенос каталога файлов Excel

#vba #excel

#vba #преуспеть

Вопрос:

Вопрос о том, как я могу перенести определенные файлы в определенный каталог.

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

Таким образом, in A1 — это местоположение файла изображения и B1 место, куда мы будем передавать файл.

Бывший.

  • A1 = J:folder1 , B1 = J:folder2
  • A2 = — это имя файла B2 image.jpg = это место, где я хочу разместить image.jpg

    например, я хочу скопировать J:folder1image.jpg в J:folder2location1

Комментарии:

1. Я хочу помочь, но не ясно. Вы сказали B1 и B2 имеете ту же информацию? "B1 is the location where we will transfer the file." и последнее "B2 = is the location where I want to put image.jpg" . Где находится имя файла назначения? то же имя в A2 ?

Ответ №1:

-Используйте соответствующие методы в Scripting.FileSystemObject . Для начала вам необходимо включить:

 Dim fso As Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
 

Тогда вы могли бы использовать

 fso.CopyFile(source, destination[, overwrite] )
 

Где источник и назначение — это полные имена (включая пути) файла.

-Проще, но с меньшим количеством опций (опция перезаписи отсутствует)

 Dim SourceFile, DestinationFile As String
SourceFile = "SRCFILE"   ' Define source file name.
DestinationFile = "DESTFILE"   ' Define target file name.
FileCopy(SourceFile, DestinationFile)   ' Copy source to target.
 

Комментарии:

1. Это больше заслуживает комментария, чем ответа.

2. Dim sourceFile As String, DesintationFile As String в противном SourceFile случае неявно вводится вариант. В данном случае это может не иметь значения, но это хорошая привычка объявлять переменные определенного типа, особенно когда этот тип известен заранее.

3. я попробую, я не так хорошо знаком с этими вещами, так что скрестите мне пальцы.

4. @user3488498 У тебя это сработало? Не могли бы вы официально принять этот ответ?

5. Я действительно хочу разобраться в этом, но тип подхода, который был предложен, выходит за рамки моих знаний, чтобы заставить его работать. Мне не хочется говорить, что у меня это не сработало, но если кто-то там сможет разобраться в этом; Я уверен, что многим эта идея пойдет на пользу, и я должен поблагодарить вас за эти усилия.