Страницы: 1
RSS
Как задать автоматическую смену пользователя в макросе?, при пересылке файла не срабатывает макрос, т.к. меняеться пользователь
 
При пересылке файла не срабатывает макрос создания PDF файла, т.к. меняеться пользователь.

Вот сам макрос записанный авторекодером:
Код
Sub Print_in_PDF()
'
' Print_in_PDF Ìàêðîñ
'
' Сочетание клавиш: Ctrl+a
'
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Documents and Settings\anna\Рабочий стол\Laytime.pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
End Sub

Естественно, при пересылке макрос не соабатывает, т.к. пользователь уже другой.
Что и как нужно изменить в макросе?
При ответе учтите, что мой уровень - записать макрос, но не прописать его :)

Заранее спасибо!
 
Файл расположите не на рабочем столе, а в какой-нибудь папке D:\НашаПапка\
Такая же папка д.б. и на компьютере другого пользователя
 
Ок, а если у товарища в другом конце страны нет диска D: ?
Я так понима, что достаточно создать такую папку просто сразу в Documents and Settings?
Изменено: Анна Таскаева - 15.02.2016 17:33:46
 
Попробовала и поняла, что нет доступа для создания таких папок в C... Спасибо! Принцип поняла, надо разобраться с доступом на тех компьютерах, где этот файл будет использоваться.
 
Как правило, диск разбивают на логические диски.
На диске С находятся операционная система (ОС) и все программы, а на других - данные.
"C:\Documents and Settings\anna\Рабочий стол\Laytime.pdf - это на диске С.
Что случится с ОС, то ее можно переустановить, но данные диска С будут утеряны.
Поэтому данные д.б. на других дисках.
 
Код
Sub Test()
    Dim WShell As Object
    Dim strPath As String
    Set WShell = CreateObject("WScript.Shell")
    strPath = WShell.SpecialFolders("Desktop")
    MsgBox strPath
End Sub
KL
 
Цитата
Анна Таскаева написал:
При ответе учтите, что мой уровень - записать макрос, но не прописать его
Код
Sub Print_in_PDF() 
' 
' Print_in_PDF Ìàêðîñ 
' 
' Сочетание клавиш: Ctrl+a 
' 
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Laytime.pdf" _ 
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ 
:=False, OpenAfterPublish:=True 
End Sub 
 
крч :)
Код
    MsgBox CreateObject("WScript.Shell").SpecialFolders("Desktop")
 
Цитата
Анна Таскаева написал: а если у товарища в другом конце страны нет диска D: ?
Ответ.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
Казанский написал:
CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Laytime.pdf" _
Спасибо большое! Сработало на ура! Теперь каждый пользователь сам может на рабочем столе создать файл, а потом менять его название и месторасположени, как он захочет. Можно считать тему закрытой.
Всем спасибо за оказаную помощь!
Изменено: Анна Таскаева - 16.02.2016 11:59:54
Страницы: 1
Наверх