У меня есть макрос, который печатает, использует внутренний метод Excel ExportAsFixedFormat, чтобы распечатать лист в формате PDF и сохранить документ на рабочем столе, используя уникальную структуру имени файла.

ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:="C:\Users\UNIQUE_USER\Desktop\" & Right(Range("D11"), 8) & "_ALL_SALES.pdf", _
     Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=True

Это работает для меня не проблема. Однако, если я хочу поделиться этим рабочим листом с другим пользователем на моей работе (и не требовать, чтобы он переписывал макрос), есть ли способ сохранить документ PDF, используя его уникальное имя пользователя или каталог. Существует ли каталог / путь по умолчанию, который будет работать для всех пользователей?

1 ответ1

3

Полный путь к корневой папке пользователя текущего пользователя, вошедшего в систему, можно получить с помощью:

Environ("USERPROFILE")

Чтобы сохранить файл на рабочем столе пользователя, как вы сделали, вы должны использовать:

Environ("USERPROFILE") & "\Desktop\" & ...

Для вашего конкретного кода, как предусмотрено

ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=Environ("USERPROFILE") & "\Desktop\" & Right(Range("D11"), 8) & "_ALL_SALES.pdf", _
     Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=True

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .