我已經爲應用程序運行時出現在任務欄上的圖標執行此操作。現在,我正在嘗試爲Windows上的快捷方式圖標或應用程序圖標執行此操作(查看所有Windows程序/應用程序時看到的圖標)。如何以編程方式將.ico文件分配給Access數據庫的桌面快捷方式
我讀過這可以用.dll文件完成,但我對此不感興趣。
我的直覺是,這實際上不可能在.mdb中使用VBA。希望我錯了。尋找可能解決方案的討論。
謝謝。
我已經爲應用程序運行時出現在任務欄上的圖標執行此操作。現在,我正在嘗試爲Windows上的快捷方式圖標或應用程序圖標執行此操作(查看所有Windows程序/應用程序時看到的圖標)。如何以編程方式將.ico文件分配給Access數據庫的桌面快捷方式
我讀過這可以用.dll文件完成,但我對此不感興趣。
我的直覺是,這實際上不可能在.mdb中使用VBA。希望我錯了。尋找可能解決方案的討論。
謝謝。
窗口快捷方式確實可以爲該快捷方式指定一個ico文件。雖然「經常」他們指向快捷方式的.exe和快捷方式拉出ico內部的.exe,OFTEN你會,並可以指定ico的快捷方式。而且,因爲在所有情況下,你的快捷方式實際上會指向msaccess.exe,那麼你必須創建一個指定了ico的自定義快捷方式。您甚至可以手動構建快捷方式,指定ico,然後使用VBA將該快捷方式複製到桌面(假設應用程序的路徑名始終相同 - 通常不會 - 如果路徑名將從用戶更改爲用戶,那麼安裝程序是解決此問題的唯一實用方法)。
我不確定您是否可以在VBA中設置/創建快捷方式,但我建議您採用Windows安裝程序(或免費的Inno)。這些安裝程序將在桌面上創建快捷方式,並允許您指定圖標。
一個自由和流行的安裝程序(INNO)可以在這裏找到:
http://www.jrsoftware.org/isinfo.php
通過VBA代碼設置你的桌面上的圖標和快捷鍵和訪問沒有什麼意義,因爲用戶不會有尚未運行你的應用程序/ VBA代碼來設置快捷方式!所以爲此使用安裝程序。
謝謝。我會研究這個安裝程序。偶然,你知道程序高級安裝程序嗎?我最近一直在使用它,它似乎有能力。對我來說,似乎安裝程序是一個安裝程序;對此並不多。有什麼想法嗎? –
如果你正在尋找一種方式來創建VBA的快捷方式,你可以使用WshShell對象的CreateShortcut方法,例如,
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:\Users\Public\UCanAccessTest.accdb"
oShellLink.WindowStyle = 1
'oShellLink.Hotkey = "Ctrl+Alt+f"
'oShellLink.IconLocation = "notepad.exe, 0" ' for embedded icon
oShellLink.IconLocation = "C:\__tmp\MIME\foo.ico" ' for .ico file
oShellLink.Description = "My shortcut created by VBA"
oShellLink.WorkingDirectory = strDesktop
'oShellLink.Arguments = "C:\myFile.txt"
oShellLink.Save
End Sub
圖標顯示基於與該文件關聯的應用程序延期。改變圖標的目的是什麼? – Comintern
這是一個商業產品,我們更願意使用我們的徽標而不是訪問徽標。我們目前通過右鍵單擊快捷方式並手動更改。我們正在尋找一個編程解決方案 –
你見過這個嗎? http://www.pcreview.co.uk/threads/change-icon-of-a-shortcut-with-vba.976596/ – OpiesDad