Перемещение файла с помощью макроса Excel - PullRequest
0 голосов
/ 26 декабря 2018

Я бы хотел, чтобы мой csv мог запускать команду, которая перемещает файл из домашнего каталога в общий каталог в Windows.

Я пробовал различные синтаксисы, все префиксы с = cmd ', который используется для выполнения команды.

=cmd|’move C:\document.docx C:\public\document.docx’!

Этот файл следует переместить в общедоступный каталог, доступный через Интернет.Однако я не могу его восстановить.Я использую MacOS, поэтому я не могу проверить это локально.Поле назначения удалено.

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Использование Name...AS заявление

См .: https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/name-statement

Sub moveFile()
    dim oldname as string, newname as string
    oldname = "C:\document.docx"
    newname = "C:\public\document.docx"

    name oldname as newname
End Sub
0 голосов
/ 26 декабря 2018

CSV - это ограниченный по функциональности формат Excel (только для интеграции между различными платформами или приложениями, запрограммированными на других языках), вы можете сделать это только с форматами ".xlsm или .xlsb"

Я нашел этот код вдругую ветку

Sub MoveFiles()
Dim sourceFolderPath As String, destinationFolderPath As String
Dim FSO As Object, sourceFolder As Object, file As Object
Dim fileName As String, sourceFilePath As String, destinationFilePath As String
Application.ScreenUpdating = False
sourceFolderPath = "D:\SourceFolder"
destinationFolderPath = "D:\DestinationFolder"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set sourceFolder = FSO.Getfolder(sourceFolderPath)
For Each file In sourceFolder.Files
fileName = file.Name
If InStr(fileName, ".xlsx") Then ' Only xlsx files will be moved
    sourceFilePath = file.Path
    destinationFilePath = destinationFolderPath & "\" & fileName
    FSO.MoveFile Source:=sourceFilePath, Destination:=destinationFilePath
End If ' If InStr(sourceFileName, ".xlsx") Then' Only xlsx files will be moved
Next
'Don't need set file to nothing because it is initialized in for each loop 
'and after this loop is automatically set to Nothing
Set sourceFolder = Nothing
Set FSO = Nothing
End Sub

подходящие ответы вы можете найти здесь "stackoverflow.com/questions/38456928/move-files-from-one-folder-to-another"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...