Функция Environ не поддерживает динамическое сохранение файла в «Мои документы», который находится на диске D?

#excel #directory #vba

#excel #каталог #vba

Вопрос:

У меня есть несколько строк кода, которые лучше всего подходят для моей машины, поскольку у меня есть каталог «Мой документ» на диске C. Теперь, когда мне дали новый ноутбук, на котором мой макрос не работает, потому что каталог here на диске D. Ниже приведен мой код: Если не ThisWorkbook.Сохранено затем

     If MsgBox("Do you want to save the Output to My Documents?", vbYesNo, "Successful!!") = vbYes Then

        ActiveWorkbook.SaveAs Environ$("UserProfile") amp; "Documents" amp; _
        "Abandoned Projects - Bridge Request" amp; " - " amp; Format(Date, "(DD-MMM-YY)") amp; ".xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False

        MsgBox "Output is saved to " amp; "My Documents!", vbInformation, "Finishing..."
    End If

End If
  

Я думаю, что функция «Environ» принимает каталог по умолчанию как диск C, в чем проблема. Как я могу заставить это работать?

Пожалуйста, помогите, я пытаюсь это сделать уже 2 дня: (

Лучший, Кейур Парех

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

1. Попробуйте изменить документы на «Мои документы», посмотрите, работает ли это

2. Вы получаете ошибки?

Ответ №1:

Вы можете получить это из WScript.Оболочка.Специальные папки:

 Dim docPath As String
With CreateObject("WScript.Shell")
    docPath = .SpecialFolders("MyDocuments")
End With

Debug.Print docPath