Hook message | Program |
Special folder path | Program |
Program v system tray | Program |
ListExam | Program |
Horní a dolní index | Program |
GrabText | Program |
Tisk WYSIWYG | Program |
3D efekty | Program |
Informace o NT disku | Program |
CGI a Cookies | Modul, třída |
Jak schovat kurzor v TextBoxu | Kód |
Export z Accessu do Excelu bez nainstalovaného Excelu | Kód |
Jak zjistit, jestli běží Word | Kód |
Výpis telefonických připojení | Kód |
Kontrola pravopisu pomocí MS Wordu | Kód |
Ukázka použití API funkce SetWindowsLong k obsluze zpráv. | |
7649 bytů | Kopírovat |
Jak najít cestu ke speciálním složkám systému Windows, jako je např. Program Files, ukazuje tento příklad. | |
7172 bytů | Kopírovat |
Program, který ukazuje jak umístit ikonu programu do oblasti system tray na hlavním panelu a jak obsluhovat jeho menu. Jiný příklad z této problematiky můžete nalézt i v části Otázky a odpovědi. | |
3283 bytů | Kopírovat |
Ukazuje a porovnává rychlost vyhledávání a rušení duplicitních položek v ListBoxu různými metodami. | |
18797 bytů | Kopírovat |
Jak udělat na formuláři a RichTextBoxu písmo s dolním indexem (stejný způsob lze použít i na horní) stejné velikosti jako normální písmo. | |
1840 bytů | Kopírovat |
Ukazuje, jak "vytáhnout" z jiných aplikací text a informace o oknech. | |
2397 bytů | Kopírovat |
Jak nastavit RichTextBox pro tisk WYSIWYG (What You See Is What You Get). | |
11223 bytů | Kopírovat |
Ukazuje, jak zacházet s 3D objekty, zobrazovat je, stínovat atd. | |
91446 bytů | Kopírovat |
Program, který zjišťuje informace o vzdálených discích na systémech s OS Windows NT Wosktation a Server. | |
15096 bytů | Kopírovat |
Tento archív obsahuje moduly a třídy pro práci se skripty CGI a s cookies ve Visual Basicu. Autoři uvádí, že funkce v nich obsažené pracují rychleji než při použití jazyku PERL, pracují se všemi servery podporující CGI, podporují Netscape HTTP cookie specifikaci a mnoho dalšího. | |
9852 bytů | Kopírovat |
Schovat kurzor v TextBoxu, nebo jiném prvku, můžete pomocí API funkce HideCaret. Nejdříve je třeba vytvořit potřebné deklarace:
Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" _ (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _ (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function HideCaret Lib "user32" (ByVal hwnd As Long) As Long Public Const GWL_WNDPROC = (-4) Public Const WM_USER = &H400 Public Function NewWindowProc(ByVal hwnd As Long, ByVal msg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long Const WM_RESERVED = &H100E Const WM_PAINT = &HF If msg = WM_PAINT Or msg = WM_RESERVED Then HideCaret hwnd NewWindowProc = CallWindowProc(OldWindowProc, hwnd, msg, wParam, lParam) End Function
Samotné schování kurzoru se provede takto:
OldWindowProc = SetWindowLong(Text1.hwnd, GWL_WNDPROC, AddressOf NewWindowProc)
Hodnotu, kterou vrací funkce SetWindowLong je dobré si uschovat (zde do OldWindowProc), pokud byste chtěli kurzor zase ukázat.
Export z Accessu do Excelu bez nainstalovaného Excelu
Chcete-li vytvořit Excelovský soubor jako export z databáze Access, nemusíte mít nainstalovaný Excel. Stačí pouze ODBC ovladače. Samotný export je velice jednoduchý:
Public Sub VytvorExcel(ByVal soubor As String, ByVal verze As String, _ ByVal databaze As String, ByVal tabulka As String) Dim dbZdroj As Database Set dbZdroj = OpenDatabase(databaze) dbZdroj.Execute "SELECT * INTO " & tabulka & " " & _ "IN """"[Excel " & verze & ";DATABASE=" & soubor & ";] " & _ "FROM " & tabulka & " " dbZdroj.Close Set dbZdroj = Nothing End Sub
Funkce ExportExcel má čtyři parametry, soubor, který se má vytvořit, verze Excelu, zdrojová databáze v Accessu a tabulka pro export. Použití může vypadat třeba takto:
VytvorExcel "E:\novy.xls", "8.0", "E:\vyvoj\projekty\is.mdb", "pracovnici"
Tento tip nás napadl jako odpověď na dotaz jednoho čtenáře. Ke zjištění, zda běží Word, se funkce WordBezi snaží získat odkaz na běžící OLE server, tady Word (jde použít i na Excel apod.). Pokud je Word spuštěn, operace proběhne v pořádku, jinak nastane chyba, která je odchycena.
Public Function WordBezi() As Boolean Dim myWord As Object On Error GoTo chyba WordBezi = True Set myWord = GetObject(, "Word.Application") Set myWord = Nothing Exit Function chyba: WordBezi = False End Function
Pokud chcete Word ukončit, stačí spustit metodu Quit objektu myWord:
myWord.Quit
Funkce TelPripojeni vrací názvy všech telefonických připojení, nakonfigurovaných ve Windows. K tomu používá API funkci RasEnumEntries.
Private Const cMAXENTRYNAME = 256 Private Type RASENTRYNAME dwsize As Long szentryname(cMAXENTRYNAME) As Byte End Type Private Declare Function RasEnumEntries Lib "RasApi32.dll" Alias "RasEnumEntriesA" _ (ByVal reserved As String, ByVal lpszPhonebook As String, lprasentryname As Any, _ lpcb As Long, lpcentries As Long) As Long Public Function TelPripojeni() As Variant Dim navrat As Long, kolik As Long, i As Long, phonebook As String Dim prip(cMAXENTRYNAME) As RASENTRYNAME, prip2() As String prip(0).dwsize = 264 navrat = RasEnumEntries(0, phonebook, prip(0), 256 * prip(0).dwsize, kolik) ReDim prip2(kolik - 1) For i = 0 To (kolik - 1) prip2(i) = StrConv(prip(i).szentryname, vbUnicode) Next i TelPripojeni = prip2 End Function
Použití potom může vypadat třeba takto:
Dim a() As String, i As Long a = TelPripojeni For i = LBound(a) To UBound(a) List1.AddItem a(i) Next i
Kontrola pravopisu pomocí MS Wordu
Potřebujete-li zkontrolovat pravopis, můžete s výhodou použít možností, které nabízí Microsoft Office. Následující funkce Pravopis vrací zkontrolovaný text pomocí Wordu. Při kontrole, při nalezení neznámého slova, se zobrazuje dialog z Wordu pro záměnu slova za jiné.
Public Function Pravopis(ByVal txt As String) As String Dim wrd As Object Set wrd = CreateObject("Word.Basic") With wrd .FileNewDefault .Insert txt On Error Resume Next .ToolsSpelling .EditSelectAll wrd.SetDocumentVar "MojePromenna", wrd.Selection Pravopis = wrd.GetDocumentVar("MojePromenna") .FileClose 2 .AppClose End With Set wrd = Nothing End Function