VBA Tipps & Tricks

VBA Excel VBA Tipps & Tricks Visual Basic Win 7 Gadgets Wetter Programme

PageHitCount4219

Haftung

Da Fehlfunktionen auch bei ausführlich getesteter Software durch die Vielzahl an verschiedenen Rechnerkonfigurationen niemals ausgeschlossen werden können, übernimmt der Autor keinerlei Haftung für Schäden aller Art, die durch die Nutzung folgender Programme entstanden sind.

Tipps

Im Folgenden werden in loser Reihenfolge Tipps zu VBA veröffentlicht.

Schliessenbutton entfernen (API)

Handcursor für Movefunktion (API)

Schliessenbutton
Man kann zwar den Schliessenbutton über die Query-Close-Methode auswerten, soll jedoch einfach verhindert werden, dass der Schliessenbutton verwendet wird, kann man folgenden Code einsetzen.

Den folgenden Code in ein Modul in den Headbereich einfügen.

'--------------------schliessenbutton entfernen------------------------------
Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As Long,ByVal nIndex As Long,ByVal dwNewLong As Long) As Long
Public Declare Function DrawMenuBar Lib "User32" (ByVal hwnd As Long) As Long

Public Const GWL_STYLE = -&H10
Public Const WS_SYSMENU = &H80000

Den folgenden Code in das Initiale Ereignis der Userform einfügen.

Private Sub UserForm_Initialize()
Dim lHwnd As Long
lHwnd = FindWindow("ThunderDFrame", Me.Caption)
SetWindowLong lHwnd, GWL_STYLE, GetWindowLong(lHwnd, GWL_STYLE) And Not WS_SYSMENU
DrawMenuBar lHwnd
End Sub

Und Schon fehlt der Schliessenbutton in der Userform Schliessenbutton fehlt

 

 

Handcursor API
Mit VBA Mitteln ist es nur über die Funktion MousePointer möglich einen anderen Cursor für Hyperlinks anzuzeigen.
Eine einfache Alternative bietet hierzu folgender Code, welcher im Headbereich der jeweiligen Prozedur eingebunden werden muss.

Private Const HandCursor = 32649&
Private Declare Function SetCursor Lib "User32" (ByVal hCursor As Long) As Long
Private Declare Function LoadCursor Lib "User32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long


Anzeige des Handcursors

Jetzt noch das entsprechende Label mit folgender Funktion hinterlegen und schon erscheint beim überfahren des Hyperlinks der übliche Handcursor des Systems.

Private Sub lblInet_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)Dim lHandle As Long
On Error Resume Next
lHandle = LoadCursor(0, HandCursor)
If (lHandle > 0) Then SetCursor lHandle
End Sub

 

 

 

 

 

Wettervorhersage Wetter

Aktuelle MondphaseWetter Icon


Aktuelle Daten Temp: 20.7 °C
Humity: 48 %
hPa: 1015.9 hPa
Wind: 1.8 km/h
Regen: 0.00 mm
UV: 1.0
SonnenK.: 57.2 °C


Unwetterzentrale


meteo | centrale