Create Shortcut on Desktop

jgoulart

Board Regular
Joined
Feb 16, 2002
Messages
62
What vba code can I use to create a shortcut and windows taskbar item with a unique icon associated with it that will launch an excel file?
 

Excel Facts

What do {} around a formula in the formula bar mean?
{Formula} means the formula was entered using Ctrl+Shift+Enter signifying an old-style array formula.
Hi --

No need for VBA jusr right click on the desktop and click shortcut.... follow the wizards / commands or click the doc to create shortcut and your see arrow o the doc put that on desktop and click to open that doc froms its dir via shortcut on desktop

HTH
 
Upvote 0
From either Windows Explorer or MyComputer, browse to the file of your choice, Right click and drag to desktop. This will give you three choices.
Move file here
Copy File here
Create Shortcut here
You can decide which one to use :)
 
Upvote 0
I understand the mechanics of creating a shortcut on the destktop by hand or manually. But I'm trying to build a kind of installation program in excel VBA that will install the shortcut and quick launch. Anybody with ideas on code that creates a shortcut and taskbar launch button?

John
 
Upvote 0
On 2002-03-02 09:01, jgoulart wrote:
I understand the mechanics of creating a shortcut on the destktop by hand or manually. But I'm trying to build a kind of installation program in excel VBA that will install the shortcut and quick launch. Anybody with ideas on code that creates a shortcut and taskbar launch button?

John
 
Upvote 0
On 2002-03-02 09:01, jgoulart wrote:
I understand the mechanics of creating a shortcut on the destktop by hand or manually. But I'm trying to build a kind of installation program in excel VBA that will install the shortcut and quick launch. Anybody with ideas on code that creates a shortcut and taskbar launch button?

John

Have you thought of making the desktop shortcut and incorporating that into an exe file, rather than trying to make VBA create one from scratch?

C:WINDOWSDesktop - for your desktop shortcut

and

C:WINDOWSApplication DataMicrosoftInternet ExplorerQuick Launch - for your taskbar shortcut.



_________________
Regards,

Gary Hewitt-Long
This message was edited by gplhl on 2002-03-02 18:08
 
Upvote 0
That sounds like a good idea of making it an .exe instead of vba. Do you have any advice on where I can go to learn how to do that?
Thanks,

John
 
Upvote 0
On 2002-03-02 20:32, jgoulart wrote:
That sounds like a good idea of making it an .exe instead of vba. Do you have any advice on where I can go to learn how to do that?
Thanks,

John

To create a short cut try this code;
Note: If working from another workbook then
remove the ' for the appropriate commands
in the routine Create_Shortcut.

If you need an explanation about the code then post......

Ivan
Option Explicit

Declare Function SHGetSpecialFolderLocation Lib "Shell32" _
(ByVal hwnd As Long, ByVal nFolder As Long, ppidl As Long) As Long

Declare Function SHGetPathFromIDList Lib "Shell32" _
(ByVal Pidl As Long, ByVal pszPath As String) As Long

Declare Function SetWindowPos Lib "User32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal uFlags As Long) As Long

Declare Function SetForegroundWindow Lib "User32" _
(ByVal hwnd As Long) As Long

Declare Function GetForegroundWindow Lib "User32" () As Long

Dim ShortCutExists As Boolean
Dim F_Lnk As String
'

Function CreateShortCut(Target As String) As Boolean

Dim hwnd As Long 'Handle of Window
Dim Pidl As Long
Dim DeskTopSysFile As String

'File exists
If Dir(Target) = "" Then Exit Function

'Get the windows desktop Pidl
SHGetSpecialFolderLocation 0, 0, Pidl

'assign spaces
DeskTopSysFile = Space(260)

'Get the path
SHGetPathFromIDList Pidl, DeskTopSysFile

'Now shorten
DeskTopSysFile = Left(DeskTopSysFile, InStr(1, DeskTopSysFile, vbNullChar) - 1)

'Does Shortcut exist
If Dir(DeskTopSysFile & "" & F_Lnk) <> "" Then ShortCutExists = True: Exit Function

hwnd = GetForegroundWindow
SetWindowPos hwnd, -1, 0, 0, 0, 0, 3

'Run RunDll32.exe - appWiz.Cpl = simulate Right click / Add shortcut
Shell "RunDLL32 AppWiz.Cpl,NewLinkHere " & DeskTopSysFile & ""

'Use send keys to send to ACTIVE application window
SendKeys """" & Target & """~~", True
SetForegroundWindow hwnd

CreateShortCut = True

End Function

Sub Create_Shortcut()
Dim ThisFile As String

'ThisFile = ActiveWorkbook.Path & "" & ActiveWorkbook.Name
ThisFile = ThisWorkbook.Path & "" & ThisWorkbook.Name
'F_Lnk = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name)) & ".LNK"
F_Lnk = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name)) & ".LNK"

' Creates a shortcut to your file ThisFile
MsgBox IIf(CreateShortCut(ThisFile), "CreateShortCut created for: " & ThisFile, _
IIf(ShortCutExists, "Shortcut Already created!", "Can't find the file!"))

End Sub
 
Upvote 0
On 2002-03-02 20:32, jgoulart wrote:
That sounds like a good idea of making it an .exe instead of vba. Do you have any advice on where I can go to learn how to do that?
Thanks,

John

For simple EXE files take a look at WINZIP.
 
Upvote 0

Forum statistics

Threads
1,213,534
Messages
6,114,185
Members
448,554
Latest member
Gleisner2

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top