/ / Ako programovo priradiť súbory .ico zástupcovi pracovnej plochy pre databázu Access - vba, ms-access

Ako programovo priradiť súbory .ico na skratku na pracovnej ploche pre databázu Access - vba, ms-access

Už som to urobil pre zobrazenú ikonuna paneli úloh, keď je aplikácia spustená. Teraz sa pokúšam urobiť ikonu zástupcu alebo ikonu aplikácie v systéme Windows (ikonu, ktorá sa zobrazuje pri prezeraní všetkých programov a aplikácií systému Windows.)

Čítal som, že sa to dá urobiť pomocou súboru .dll, ale o to ma nezaujíma.

Moja intuícia je, že to vlastne nie je možné robiť s VBA vo vnútri .mdb. Dúfajme, že sa mýlim. Hľadám diskusiu o možných riešeniach.

Vďaka.

odpovede:

2 pre odpoveď č. 1

Skratka systému Windows má a môže mať súbor icourčený pre túto skratku. Zatiaľ čo „často“ odkazujú na skratku .exe a táto skratka vytiahne ico kontinovaný INSIDE of .exe, OFTEN môžete a môžete určiť ico pre túto skratku. A keďže vo VŠETKÝCH prípadoch bude váš odkaz skutočne smerovať na msaccess.exe, musíte si vytvoriť vlastný odkaz so špecifikovaným ico. Môžete dokonca vytvoriť ručne skratku, zadať ico a potom pomocou VBA skopírovať túto skratku na plochu (za predpokladu, že názov cesty k aplikácii je VŽDY rovnaký - často to nebude - ak sa názov cesty zmení z používateľa na používateľ, potom je inštalátor skutočne jediným praktickým spôsobom, ako tento problém vyriešiť).

Nie som si istý, či môžete nastaviť / vytvoriť odkaz v systéme Windows XPVBA, ale navrhoval by som, aby ste si osvojili inštalátor systému Windows (alebo bezplatný program ako Inno). Títo inštalátori vytvoria odkazy na pracovnej ploche a umožňujú vám určiť ikonu.

jedného bezplatného a obľúbeného inštalátora (inno) nájdete tu:

http://www.jrsoftware.org/isinfo.php

Nastavenie ikon a skratiek na pracovnej plocheprostredníctvom kódu VBA a programu Access nedáva zmysel, pretože používateľ ešte nebude musieť spustiť aplikáciu / kód VBA na nastavenie skratky na prvom mieste !!! Preto na tento účel použite inštalátor.


2 pre odpoveď č. 2

Ak hľadáte spôsob, ako vytvoriť odkaz z VBA, môžete použiť Vytvoriť zástupcu metóda objektu WshShell, napr.

Option Compare Database
Option Explicit

Sub CreateDesktopShortcutWithIcon()
" ref - https://msdn.microsoft.com/en-us/library/xsy6k3ys(v=vs.84).aspx
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
Dim strDesktop As String
strDesktop = WshShell.SpecialFolders("Desktop")
Dim oShellLink As Object
Set oShellLink = WshShell.CreateShortcut(strDesktop & "My Shortcut.lnk")
oShellLink.TargetPath = "C:UsersPublicUCanAccessTest.accdb"
oShellLink.WindowStyle = 1
"oShellLink.Hotkey = "Ctrl+Alt+f"
"oShellLink.IconLocation = "notepad.exe, 0"  " for embedded icon
oShellLink.IconLocation = "C:__tmpMIMEfoo.ico"  " for .ico file
oShellLink.Description = "My shortcut created by VBA"
oShellLink.WorkingDirectory = strDesktop
"oShellLink.Arguments = "C:myFile.txt"
oShellLink.Save
End Sub