Gå til innhold

[Løst] Excel VBA - lage shortcut til folder?


perroga

Anbefalte innlegg

Har funnet VBA-kode som plasserer snarvei til excel-fil på skrivebordet.

Den virker utmerket i excel 2007 og 2010!

 

Skulle gjerne fått justert VBA-koden, slik at den kan lage snarvei til mappen.

 

Håper at noen kan hjelpe:

Håper at en av dere som forstår kode, kan bearbeide denne, slik at den lager snarvei til mappen..

 

Excel VBA: Create a Custom Desktop Shortcut

 

 

Option Explicit

 

Sub CreateDesktopShortcut()

' =================================================================

' Create a custom icon shortcut on the users desktop

' =================================================================

 

' Msgbox string variables

Dim szMsg As String

Dim szStyle As String

Dim szTitle As String

 

 

' Change here for the icon's name

Const szIconName As String = "\cvg.ico"

 

 

' Constant string values, you can replace "Desktop"

' with any Special Folders name to create the shortcut there

Const szlocation As String = "Desktop"

Const szLinkExt As String = ".lnk"

 

 

' Object variables

Dim oWsh As Object

Dim oShortcut As Object

 

 

' String variables

Dim szSep As String

Dim szBookName As String

Dim szBookFullName As String

Dim szPath As String

Dim szDesktopPath As String

Dim szShortcut As String

 

 

' Initialize variables

szSep = Application.PathSeparator

szBookName = szSep & ThisWorkbook.Name

szBookFullName = ThisWorkbook.FullName

szPath = ThisWorkbook.Path

 

 

 

On Error Goto ErrHandle

' The WScript.Shell object provides functions to read system

' information and environment variables, work with the registry

' and manage shortcuts

Set oWsh = CreateObject("WScript.Shell")

szDesktopPath = oWsh.SpecialFolders(szlocation)

 

 

' Get the path where the shortcut will be located

szShortcut = szDesktopPath & szBookName & szLinkExt

 

 

' Make it happen

Set oShortcut = oWsh.CreateShortCut(szShortcut)

 

 

' Link it to this file

With oShortcut

.TargetPath = szBookFullName

.IconLocation = szPath & szIconName

.Save

End With

 

 

' Explicitly clear memory

Set oWsh = Nothing

Set oShortcut = Nothing

 

 

' Let the user know it was created ok

szMsg = "Shortcut was created successfully"

szStyle = 0

szTitle = "Success!"

MsgBox szMsg, szStyle, szTitle

 

 

Exit Sub

 

 

' or if it wasn't

ErrHandle:

szMsg = "Shortcut could not be created"

szStyle = 48

szTitle = "Error!"

 

MsgBox szMsg, szStyle, szTitle

End Sub

Lenke til kommentar
Videoannonse
Annonse

Prøvde meg fram og fant løsningen.

 

Har funnet VBA-kode som plasserer snarvei til excel-fil på skrivebordet.

Den virker utmerket i excel 2007 og 2010!

 

Skulle gjerne fått justert VBA-koden, slik at den kan lage snarvei til mappen.

 

Håper at noen kan hjelpe:

Håper at en av dere som forstår kode, kan bearbeide denne, slik at den lager snarvei til mappen..

 

Excel VBA: Create a Custom Desktop Shortcut

 

 

Option Explicit

 

Sub CreateDesktopShortcut()

' =================================================================

' Create a custom icon shortcut on the users desktop

' =================================================================

 

' Msgbox string variables

Dim szMsg As String

Dim szStyle As String

Dim szTitle As String

 

 

' Change here for the icon's name

Const szIconName As String = "\cvg.ico"

 

 

' Constant string values, you can replace "Desktop"

' with any Special Folders name to create the shortcut there

Const szlocation As String = "Desktop"

Const szLinkExt As String = ".lnk"

 

 

' Object variables

Dim oWsh As Object

Dim oShortcut As Object

 

 

' String variables

Dim szSep As String

Dim szBookName As String

Dim szBookFullName As String

Dim szPath As String

Dim szDesktopPath As String

Dim szShortcut As String

 

 

' Initialize variables

szSep = Application.PathSeparator

szBookName = szSep & ThisWorkbook.Name

szBookFullName = ThisWorkbook.FullName

szPath = ThisWorkbook.Path

 

 

 

On Error Goto ErrHandle

' The WScript.Shell object provides functions to read system

' information and environment variables, work with the registry

' and manage shortcuts

Set oWsh = CreateObject("WScript.Shell")

szDesktopPath = oWsh.SpecialFolders(szlocation)

 

 

' Get the path where the shortcut will be located

szShortcut = szDesktopPath & szBookName & szLinkExt

 

 

' Make it happen

Set oShortcut = oWsh.CreateShortCut(szShortcut)

 

 

' Link it to this file

With oShortcut

.TargetPath = szBookFullName

.IconLocation = szPath & szIconName

.Save

End With

 

 

' Explicitly clear memory

Set oWsh = Nothing

Set oShortcut = Nothing

 

 

' Let the user know it was created ok

szMsg = "Shortcut was created successfully"

szStyle = 0

szTitle = "Success!"

MsgBox szMsg, szStyle, szTitle

 

 

Exit Sub

 

 

' or if it wasn't

ErrHandle:

szMsg = "Shortcut could not be created"

szStyle = 48

szTitle = "Error!"

 

MsgBox szMsg, szStyle, szTitle

End Sub

Lenke til kommentar

Jeg byttet ut setningen

szBookName = szSep & ThisWorkbook.Name

med

szBookName = szSep & ThisWorkbook.Path

 

Da virket det.

 

I tillegg byttet jeg ut denne setningen:

szBookName = szSep & ThisWorkbook.Name

med denne

szBookName = szSep & "MyFoldername" 'her skrev jeg inn navnet til mappen.

 

I tillegg endret jeg denne

 

"\cvg.ico"

'Her skrev jeg inn navn et eksisterende ikon som jeg fant på intranettet. Morsomt at brukerne av filen får et automatisk generert, lett gjenkjennelig ikon på skrivebordet.

 

Og her skrev jeg inn path til ikonet:

.IconLocation = "c:\Program Files\ikoner" & szIconName

Endret av perroga
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...