نصب فونت از طریق برنامه نویسی Access
زمانی که برنامه ساخته شده توسط Access از فونت خاصی که شاید بر روی همه سیستم ها نصب نباشد استفاده کند، نیاز داریم قبل از استفاده از برنامه فونتها بصورت اتوماتیک بر روی سیستم نصب شوند. برای اینکار بهتر است فونتهای برنامه را از قبل در پوشه Dataی برنامه که پوشه فونت در آن قرار داده شده کپی کرد (قبلأ گفته شد که این پوشه Data همیشه کنار برنامه اصلی قرار دارد). در کد نویسی برنامه هم می توان تعریف نمود هر بار در زمان اجرای برنامه این فونت را از مسیر بالا نصب نماید.
نمونه برنامه نصب فونت در زیر قرار داده شده که به تناسب برنامه اجرائی می توان آنرا تغییر داد و یا از دستورات مربوطه در قسمتهای دیگر برنامه استفاده نمود:
ابتدا یک فرم ساخته و کنترل های زیر را در آن قرار دهید:
Textbox: txtPath
List Box: lstFonts
Button: btnFontInstall
در زمان لود شدن فرم، برنامه بصورت اتوماتیک به پوشه Data\Font که در مسیر جاری برنامه قرار دارد می رود و فونت های درون این پوشه را در لیست باکس قرار می دهد. سپس می توان با انتخاب فونت از لیست و زدن دکمه Install آنرا نصب نمود. پس از ساخت فرم و قرار دادن کنترل ها، کد زیر را بصورت کامل در قسمت کد نویسی برنامه وارد کنید:
Option Compare Database
Option Explicit
Private Declare PtrSafe Function AddFontResource Lib "gdi32.dll" Alias "AddFontResourceA" (ByVal lpFileName As String) As Long
Private Sub btnFontInstall_Click()
InstallFont
End Sub
Private Sub Form_Load()
On Error GoTo 1
Dim fs, fl, f, X As Variant
Dim Path As String
Path = Application.CurrentProject.Path & "\Data\Font\"
txtPath = Path
LstFonts.RowSourceType = "Value List"
LstFonts.RowSource = ""
Set fs = CreateObject("Scripting.FileSystemobject")
Set fl = fs.GetFolder(Path)
Set f = fl.Files
For Each X In f
LstFonts.AddItem X.Name
Next
1: End Sub
Sub InstallFont()
Dim Result As Long
Result = AddFontResource(LstFonts)
MsgBox Result & " fonts added to windows font directory"
End Sub