In der Excel-Programmierung hatte ich mal wieder neue Anforderungen:
Einen Teilbereich einer Excelzelle formatieren. Das geht ganz einfach Mittels „Characters“. Im Nachfolgenden werden die ersten sieben Zeichen der Zelle unterstrichen:
dim myRange as Range
set myRange = Range(Cells(3, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False))
myRange.Characters(0, 7).Font.Underline = True
Damit sind die Grenzen der Formatierung einer Zelle mal wieder gut nach „hinten“ geschoben worden. Anbei ein Bild des formatieren Wortes einer verbundenen Zelle:
Achtung: Dieser Workarround geht nur mit Windows 7/10 Professional. Bei Windows Home fehlt die Gruppenrichtlinenverwaltung.
In Umgebungen ohne Active Directory und domänenbasierten Gruppenrichtlinien kann es auch erforderlich sein, beim Herunterfahren, Hochfahren beziehungsweise An- und Abmelden von Windows verschiedene Aufgaben durchzuführen – sei es die Anbindung von Netzlaufwerken oder die Datensicherung beim Herunterfahren.
Der Einfachste weg in Windows 10 ist es, in den dafür vorgesehenen StartUp-Verzeichnissen die gewünschten Skripte abzulegen und diese mit den lokalen Gruppenrichtlinien zu hinterlegen. Nachfolgende werden jeweiligen Verzeichnisse für ihren Zweck genannt:
Um diese Skripte jetzt noch zu aktivieren, müssen sie in den „Richlinien für Lokaler Computer“ hinterlegt werden.
Am einfachsten kommt ihr zu der Konsole mit der folgenden Vorgehensweise:
Windowstaste + R (Ausführen) –> Im Ausführen-Fenster „mmc“ eingeben
Anschließend mit STRG + M oder „Datei –> Snap-In hinzufügen oder entfernen“ den Auswahldialog öffnen und „Gruppenrichtlinienobjekt-Editor“ hinzufügen
Anschließend noch auf Fertigstellen gehen:
Anschließend auf OK gehen und damit das Auswahlfenster schließen.
Anschließend kann in den Richtlinien für Ihren Computer das jeweilige Skript hinterlegt werden: Start/Herunterfahren Computerkonfiguration –> Windows-Einstellungen –> Skripts (Start/Herunterfahren) An- / Abmelden Benutzerkonfiguration –> Windows-Einstellungen –> Skripts
Anschließend sollte die Einrichtung funktionieren und die Skripts zum gewünschten Zeitpunkt ausgeführt werden.
Funktionen geben in VBA immer einen Wert zurück. Soll dieser Wert ein Objekt sein, so muss man wissen, wie man ein Objekt in einer Funktion zurückgibt.
Die Vorgehensweise ist identisch mit der Zuweisung einer Objekt-Variable. Zum Vergleich zuerst das Vorgehen bei normalen Datentypen:
Function addiere(a as Integer, b as Integer) as Integer
addiere = a + b
End Function
Bei Objekten muss vor der Angabe des Funktionsname einfach ein „SET“ gesetzt werden:
Function getAuto() as Object
dim myAuto as Auto
set myAuto = new Auto
myAuto.farbe = "blau"
myAuto.kennzeichen = "L-RB 2245"
' Zurückgeben des Wertes
SET getAuto = myAuti
End Function
Andernfalls bringt er die nachfolgende Fehlermeldung: