powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / создать ярлык на рабочем столе
12 сообщений из 12, страница 1 из 1
создать ярлык на рабочем столе
    #35726571
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот как это делается на VBS... Но что-то я как-то не могу исправить на VBA...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 sShortcut = ufGetAppName() & ".lnk"
        ufStatus "Подключение к рабочему столу для обновления ярлыков"

        Set myShell = CreateObject("WScript.Shell")
        sDesktopPath = myShell.SpecialFolders("Desktop")
            
On Error Resume Next
        fso.DeleteFile sDesktopPath & "\" & sShortcut



On Error GoTo err_CreateShortcut
        ' Создание ярлыка
        ufStatus "Создание ярлыка " & sDesktopPath & "\" & sShortcut
        Set myShortcut = myShell.CreateShortcut(sDesktopPath & "\" & sShortcut)
    
        With myShortcut
            ufStatus "Создание ярлыка: TargetPath = " & CurrentProject.FullName
            .TargetPath = CurrentProject.FullName
            ufStatus "Создание ярлыка: WorkingDirectory = " & CurrentProject.Path
            .WorkingDirectory = CurrentProject.Path
            ufStatus "Создание ярлыка: WindowStyle = 4"
            .WindowStyle =  4 
            ufStatus "Создание ярлыка: IconLocation = " & ufAppIcoPath()
            .IconLocation = ufAppIcoPath()
            .Save
        End With
...
Рейтинг: 0 / 0
создать ярлык на рабочем столе
    #35726580
Фотография Restavraciya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub sShortcutCreate()
Dim Sh, link
    Set Sh = CreateObject("WScript.Shell")
    Set link = Sh.CreateShortcut("c:\Book1.lnk")
    link.Arguments = "1 2 3"
    link.Description = "test shortcut"
    link.HotKey = "CTRL+ALT+SHIFT+X"
    link.IconLocation = "foo.exe,1"
    link.TargetPath = "c:\Book1.xls"
    link.WindowStyle =  3 
    link.WorkingDirectory = "c:\"
    link.Save
End Sub
' источник WSH.CHM © Microsoft Corporation
...
Рейтинг: 0 / 0
создать ярлык на рабочем столе
    #35726581
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Const DESKTOP = &H10&
Set objShell = CreateObject("Wscript.Shell")
Set ShellApp = CreateObject("Shell.Application")

strFolder = objShell.SpecialFolders.Item("Desktop")
Set objShortcut = objShell.CreateShortcut(strFolder & "\My Shortcut.lnk")
objShortcut.TargetPath = "C:\MyDB.mdb"
objShortcut.Save

Set objFolder = ShellApp.NameSpace(DESKTOP)
Set objFolderItem = objFolder.ParseName("My Shortcut.lnk")
Set objShortcut = objFolderItem.GetLink
objShortcut.SetIconLocation "C:\Windows\System32\SHELL32.dll",  13 
objShortcut.Save

...
Рейтинг: 0 / 0
создать ярлык на рабочем столе
    #35726653
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так понятней?,
отлично! Работет! Спасибо! Только вот маленький вопрос, а как использовать иконки не из shell32, а свои, собственные: TT.ico например...
...
Рейтинг: 0 / 0
создать ярлык на рабочем столе
    #35726655
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так понятней?, так, все, спасибо, не нужно, я понял..:):)
Код: plaintext
objShortcut.SetIconLocation Application.CurrentProject.Path & "\T.ico",  0 
...
Рейтинг: 0 / 0
создать ярлык на рабочем столе
    #35726656
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тема закрыта, всем спасибо! Respect!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
создать ярлык на рабочем столе
    #37502028
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, еще раз всем доброго времени суток! Такая проблемка: создаю я значит ярлык на рабочем столе AllUsers следующим кодом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Public Sub ShortCutCreater()
Dim Sh, link
    Set Sh = CreateObject("WScript.Shell")
    Set link = Sh.CreateShortcut(Mid(Environ( 1 ),  17 ) & "\Рабочий стол\OPOsystemDB.lnk")
    link.Arguments = "/WRKGRP """ & SPath & "\GS_Group.mdw"""
    link.Description = "OPOsystemDB"
    link.HotKey = "CTRL+ALT+SHIFT+X"
    link.IconLocation = Mid(Environ( 21 ),  13 ) & "\SystemDB\fsb.ico"
    link.TargetPath = """" & Left(Mid(Environ( 13 ),  6 ), InStr( 1 , Mid(Environ( 13 ),  6 ), ";") -  1 ) & "MSACCESS.EXE"" """ & Mid(Environ( 21 ),  13 ) & "\SystemDB\SystemDB.mdb"""
    link.WindowStyle =  3 
    link.WorkingDirectory = Mid(Environ( 21 ),  13 ) & "\SystemDB"
    link.Save
End Sub

где SPath = "\\Server\SDB\"

Все срабатывает просто изумительно! Создается ярлык со следующими параметрами:
Размещение: SystemDB
Объект: "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" "C:\SystemDB\SystemDB.mdb" /WRKGRP "\\Server\SDB\GS_Group.mdw"
Рабочая папка: C:\SystemDB
Быстрый вызов: CTRL+ALT+SHIFT+X
Ну и т.д.

Однако, при запуске ярлыка Виндовоз пишет: Отсутствует объект C:\SystemDB\SystemDB.mdb (хотя он там реально существует)
Если открыть свойства ярлыка, внести вручную любое изменение (например параметр "Окно"), а потом даже если отменить это изменение (просто нужно заставить кнопку "Применить" стать активной) и нажать "Применить" и "Ок", то ярлык вдруг ни с того ни с сего начинает работать...
Почему так?
P/S/ единственное, что я заметил - даже если не делать никаких изменений, то после нажатия кнопки "Применить", изменяется параметр "Размещение" с "SystemDB" на "OFFICE11". М.б. как-то с этим связано? Как до него добраться на VBA, я не нашел.
...
Рейтинг: 0 / 0
создать ярлык на рабочем столе
    #37502033
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wipeout2097 link.Description = "OPOsystemDB"


прошу прощения - это link.Description = "SystemDB" (просто не заметил)

Но это не снимает вопрос...
...
Рейтинг: 0 / 0
создать ярлык на рабочем столе
    #37502035
alvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wipeout2097,

может дело в имени? переименуйте (system2db) и попробуйте снова.
...
Рейтинг: 0 / 0
создать ярлык на рабочем столе
    #37502041
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alvk,

нет, вряд ли... Если Вы имейте ввиду, что слово System может как-то некорректно работать в коде, то в этом примере имена взяты условно... На самом деле, они несколько другие (чуть подлиннее)... Просто для упрощения, я их сократил...
...
Рейтинг: 0 / 0
создать ярлык на рабочем столе
    #37502043
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alvk,

Мне почему-то кажется, что дело как раз таки в свойстве "Размещение"... Быть может если ему сразу присвоить свойство "OFFICE11", то м.б. все заработает...;)
...
Рейтинг: 0 / 0
создать ярлык на рабочем столе
    #37502731
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтож, как говориться - спасение утопающих - это дело рук самих утопающих...
Вобщем, проблему решил... Все работает как надо. Пришлось отказаться от методики, изложенной мной в первом посте и воспользоваться той, которая вот здесь: http://hiprog.com/index.php?option=com_content&task=view&id=364&Itemid=35
Так что если кто столкнется с подобной проблемой, глаксо-вэлком.

P/S/
Для тэгов: не работает ярлык, создать ярлык, свойства ярлыка, рабочий стол, AllUsers, Desktop, ну и т.д.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / создать ярлык на рабочем столе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]