#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. Я действительно хочу разобраться в этом, но тип подхода, который был предложен, выходит за рамки моих знаний, чтобы заставить его работать. Мне не хочется говорить, что у меня это не сработало, но если кто-то там сможет разобраться в этом; Я уверен, что многим эта идея пойдет на пользу, и я должен поблагодарить вас за эти усилия.