Как скопировать файл с удаленного рабочего стола на локальный компьютер с помощью Excel VBA?Как скопировать один файл с удаленного рабочего стола на локальный компьютер с помощью Excel VBA
ответ
Да, вы можете копировать файлы между разными компьютерами/серверами в VBA. Вы не указали многое, поэтому здесь приведен пример копирования с локальной машины на удаленную машину. Просто измените параметры для копии (или перемещения) для обратного.
В моем примере я получаю доступ к доле администратора «Z $» на удаленной машине. Вы можете указать любое имя общего ресурса.
Я испытал это в Excel 2013.
Option Explicit 'always declare your vars!
Sub CopyFile()
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim strFile: strFile = "c:\temp\RemoteCopyTest\mytestfile.txt"
Dim strTargetPath: strTargetPath = "\\Server\Z$\"
'verify the remote folder exists
If FSO.FolderExists(strTargetPath) Then
'verify the source file exists
If FSO.FileExists(strFile) Then
'use FSO.MoveFile <Source>,<Target> if you want to move instead of copy
FSO.CopyFile strFile, strTargetPath
Else
MsgBox "ERROR: Source FIle does not exist or is not accessible."
End If
Else
MsgBox "ERROR: Target Folder does not exist or is not accessible."
End If
End Sub
При подключении к удаленному ПК \ Server, у вас есть варианты для совместного использования ресурсов, то есть, если вы используете подключение к удаленному рабочему столу его параметры \ г Локальные ресурсы \ Дополнительно \ Drives
Вы можете выбрать свой локальный диск c, который теперь будет доступен вам на удаленном компьютере ... в проводнике Windows.
Так при запуске Excel VBA вы просто должны переместить файл с удаленного на локальный диск C, перечисленный на удаленном компьютере (это может придать ему новую букву диска)
Как DevilsAdvocate имеет said..its просто скопировать 1 файл отсюда туда
BTW вы можете сохранить настройки удаленного подключения ... так, что его одни и те же настройки каждый раз, когда вы подключаетесь к этому ПК/сервер
что диск или общая папка вы отобразили через соединение удаленного рабочего стола? Если это книга, которая хочет копировать, достаточно [Workbook.SaveAs method] (https://msdn.microsoft.com/en-us/library/office/ff841185.aspx). – Jeeped
Просто, чтобы вы знали, «удаленный рабочий стол» и «локальная машина» просто добавляют ненужную сложность этому вопросу. По сути, вы просто хотите скопировать/сохранить файл в сетевом расположении. Подумайте об этом из контекста файла/скрипта. –
Дополнительная мысль: Если вы на самом деле пытаетесь скопировать на «локальную машину», независимо от того, какая машина подключена, это значительно значительно сложнее. –