Snelkoppeling maken met origineel pictogram

Status
Niet open voor verdere reacties.

masala09

Gebruiker
Lid geworden
6 aug 2012
Berichten
886
Beste allen.

Ik ben bezig met snelkoppelingen. Hoe ik deze moet maken, zal niet de vraag worden. Wat wel mijn vraag is; is het mogelijk dat het origineel pictogram van het programma of bestand of mappen of HDD, direct kan worden meegenomen in de snelkoppeling.

Als voorbeeld hieronder. Voor bijvoorbeeld deze zou het een pictogram van Excel 2007 moeten zijn.

Code:
Private Sub CommandButton2_Click()
    ActiveWorkbook.FollowHyperlink "C:\Program Files (x86)\Microsoft Office\Office12\WINWORD.EXE" 

End Sub

Alvast bedankt
 
Het Excel pictogram voor Winword.exe?
Daarnaast is dat geen snelkoppeling maar een hyperlink onder een knop.
 
Lukt het hiermee?


Code:
Sub hsv()
Dim objWsh As Object, strDeskpfad As String
Set objWsh = CreateObject("WScript.Shell")
strDeskpfad = Environ("UserProfile") & "\Desktop"
With objWsh.CreateShortCut(strDeskpfad & "\Shortcut_Folder.lnk")
    .TargetPath = "C:\users\hsv\documents\[COLOR=#ff0000]Map1"[/COLOR]
    .WorkingDirectory = "C:"
    .WindowStyle = 0
    .Save
End With
Set objWsh = Nothing
End Sub
 
IconLocation Property, zie https://msdn.microsoft.com/en-us/library/3s9bx7at(v=vs.84).aspx
Code:
[SIZE=1]Sub am()
 With CreateObject("WScript.Shell")
  strDesktop = .SpecialFolders("Desktop")
  strMyDocuments = .SpecialFolders("MyDocuments")
  With .CreateShortcut(strDesktop & "\Shortcut Script.lnk")
   .TargetPath = strMyDocuments
   .WindowStyle = 1
   .Hotkey = "Ctrl+Alt+e"
   .IconLocation = "notepad.exe, 0"  'Zero is the index
   .Description = "Shortcut Script"
   .WorkingDirectory = strDesktop
   .Save
  End With
 End With
End Sub[/SIZE]
 
Laatst bewerkt:
Edmoor. Ik bedoelde inderdaad voor mijn genoemd voorbeeld het pictogram van Excel. Uiteraard moet dit ook gaan gelden voor andere programma's.

Feitelijk wil ik gewoon hetzelfde zien als op mijn bureaublad met dezelfde werking alleen dan in een userform.

HSV en Alpamax.

Jullie code werkt niet. Tenminste niet bij mij. Van HSV kan ik dat wel begrijpen. Immers zijn eigen path staat er geschreven. Dit wel aangepast, maar ook zonder resultaat.
 
Je wilt dus gewoon een knop die Excel start met daarop het Excel icoon.
Simpel toch? Je maakt een knop en gebruikt een Excel plaatje als Image voor die knop.

Clipboard04.jpg

Achter die knop zet je dan de code die Excel start.
Dat is dus wat anders dan een snelkoppeling.
Code:
Private Sub CommandButton1_Click()
    Shell ("C:\Program Files\Microsoft Office 15\root\office15")
End Sub

Het pad hangt uiteraard af van waar Excel.exe staat.
 
Die kende ik al. Allen het probleem is dat die image dan ook op iedere pc moet worden gedownload en apart moet worden opgeslagen.
 
Dat is bij alle programma's die je aan eindgebruikers gaat opleveren. Daarvoor moeten programma's en bijbehorende bestanden worden geïnstalleerd. Dat vind je een probleem?

Excel zal ook op die PC moeten staan met alle bijbehorende bestanden, anders werkt Excel niet.
 
Hmmm tja dat is ook weer zo. Alleen zit ik hier met .png Files en niet met .jpg. Als ik ga zoeken op internet krijg ik enkel .png welke niet door objecten kan worden gezien.
 
Het is geen enkel probleem om welk plaatje of icoontje dan ook te converteren naar .jpg of wat je dan ook maar wilt hebben.
Kijk bijvoorbeeld eens naar IrfanView. Daarmee open je een plaatje en slaat hem op in ieder formaat die je maar wilt:

http://www.irfanview.com/
 
Laatst bewerkt:
Edmoor. Dank je wel. Met jouw gegeven programma heb ik de .png moeiteloos omgezet naar .jpeg.

Ik ga een speciaal mapje aanmaken om de icoontjes op te slaan en zal deze aan de benodigde objecten koppelen met daarachter het pad van de snelkoppeling.

Overigens kunnen de pictures ook gewoon rechtstreeks op de commandbutton worden geplaatst. Pas deze knop in grootte aan en klaar. Een Image over de knop heen is dus niet nodig.
 
Er zijn inderdaad meerdere mogelijkheden. Kies wat jou het beste past. :)
 
Zet de icoontjes (selecteren door de index te veranderen) die in excel.exe zitten, op een button in een userform.
Maakt gebruik van 32bit API's en het geheugen.
Maakt geen gebruik van mappen en/of bestanden op de harde schijf.
 

Bijlagen

Laatst bewerkt:
Mooie! :thumb:
 
Dank je, met API's kan je op OS-level dingen die in eerste instantie niet met excel VBA niet mogelijk zijn.
 
Is inderdaad een mooie. Echter werkt deze niet als ik een ander pictogram van een ander programma zoals bijvoorbeeld Word wil op een andere command button.
 
Vervang excel.exe door b.v. winword.exe

Access MSACCESS.exe
Excel EXCEL.exe
InfoPath INFOPATH.exe
OneNote ONENOTE.exe
Outlook OUTLOOK.exe
PowerPoint POWERPNT.exe
Project WINPROJ.exe
Publisher MSPUB.exe
SharePoint Designer SPDESIGN.exe
SharePoint Workspace GROOVE.exe
Word WINWORD.exe

Heb je nog andere programma's buiten de office-familie zoals kladblok of paint? dan moeten we op zoek naar een andere manier om daar de locatie van te vinden.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan