Редактировать макрос, чтобы создать папку на рабочем столе для любого пользователя

У меня есть таблица с кнопкой сохранения на каждом листе. В настоящее время кнопки сохраняют листы на рабочем столе любого пользователя в виде файла PDF. Меня спросили, могу ли я заставить кнопку создать на рабочем столе новую папку под названием "BSInHouseAssets". Я предполагаю, что мы будем использовать MKdir в какой-то момент... но мне нужна помощь. Вот текущая часть макроса, который сохраняет файл.

Function SpecialFolderPath() As String

  Dim objWSHShell As Object
  Dim strSpecialFolderPath

  'On Error GoTo ErrorHandler
  ' Create a shell object
  Set objWSHShell = CreateObject("WScript.Shell")
  ' Find out the path to the passed special folder,
  '  just change the "Desktop" for one of the other options
  SpecialFolderPath = objWSHShell.SpecialFolders("desktop")
  ' Clean up
  Set objWSHShell = Nothing
  Exit Function
ErrorHandler:

  MsgBox "Error finding " & strSpecialFolder, vbCritical + vbOKOnly, "Error"
End Function

2 ответа

mkdir CreateObject("wscript.shell").specialfolders("desktop") & "\MyFolder"

должен сделать трюк

strPath = "C:\Users\" & Environ("UserName") & "\Desktop\"
strFolderName = "test1"
strFullPath = strPath & strFolderName & "\"

    If Dir(strPath & strFolderName, vbDirectory) = "" Then
    MkDir strFullPath
    End If

ActiveWorkbook.SaveAs Filename:=strFullPath & "workbookname1", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled
Другие вопросы по тегам