VBA – Neue Email öffnen (nicht senden)

Um eine neue E-Mail zu erstellen aus Excel heraus, kann ein einfache OLE-Objekt erzeugt und angezeigt werden. Vielen Dank wie so oft an Herberts VBA Forum (Quelle)

Sub Mail(ByVal d As String)
    Dim olApp As Object
    Set olApp = CreateObject("Outlook.Application")
    With olApp.CreateItem(0)
        'Empfanger
        .Recipients.Add "empfaenger@domain.de"
        'Betreff
        .Subject = "Betreff der E-Mail"
        'Nachricht
        .Body = "Inhalt der E-Mail"
        'Lesebestätigung aus
        .ReadReceiptRequested = False
        'Anhang
        .Attachments.Add d
        .send

    End With
    Set olApp = Nothing
End Sub

VBA – Datum vergleichen – Tage zwischen zwei Datumsvariablen

Um Datum zu vergleichen, verwende ich bei VBA die Methode DateDiff, mit der ich mit der folgenden Syntax zwei Datumsvariablen vergleichen kann:

DateDiff(interval, date1, date2, [ firstdayofweek, [ firstweekofyear ]] ) 

Für Intervall wird im Excel-üblichen Format angegeben, welchen zeitintervall man haben möchte:

EinstellungBeschreibung
yyyyJahr
qQuartal
mMonat
yTag des Jahres
dTag
wWochentag
wwWoche
hStunde
nMinute
sZweiter

Mein Beispiel im Quelltext sieht so aus:

Dim dateDiffHersteller As Integer
' "d" steht für Intervall Tag
dateDiffHersteller = DateDiff("d", dateStart, dateEnd)

Quelle: https://docs.microsoft.com/de-de/office/vba/language/reference/user-interface-help/datediff-function

Acer Aspire H340 – HDD LEDs unter Linux verwenden (Ubuntu 24.04 LTSC)

Vor kurzem habe ich meinen alten Acer Aspire aus dem Vorruhestand geholt und nutze ihn als Nextcloud-Server. Um die Gesundheit der Festplatten zu überwachen, bestitzt der Aspire über Festplatten-LEDs, die je nach Gesundheitszustand der Festplatten die LED-Farbe von blau zu rot wechseln.

Acer Aspire H340

Zum Glück gibt es noch ein brauchbares Projekt, welches den Treiber installiert und einbindet:

Mediaserver Daemon auf github von „Oli“

Anleitung zur Einrichtung der LED- und Festplattengesundheitsüberwachung auf dem Acer H340 (Ubuntu 24.04)

Diese Anleitung beschreibt Schritt für Schritt, wie man die LEDs und die Festplattengesundheit auf einem Acer H340 Server unter Ubuntu 24.04 überwacht. Sie basiert auf dem mediasmartserverd-Projekt und erläutert die notwendigen Installationen und Einstellungen.

1. Prerequisites installieren

Stelle sicher, dass Dein System auf dem neuesten Stand ist und installiere die notwendigen Pakete:

sudo apt update
sudo apt install lm-sensors make g++ libstdc++-14-dev libudev-dev

2. Sensor-Module aktivieren und laden

Um die Sensoren korrekt nutzen zu können, füge die Kernel-Module hinzu. Ubuntu 24.04 verwendet das Verzeichnis /etc/modules-load.d/ statt der Datei /etc/modules. Erstelle eine Konfigurationsdatei:

sudo nano /etc/modules-load.d/sensors.conf

Füge in die Datei sensors.conf die folgenden Zeilen ein:

# Chip drivers
coretemp
dme1737

Lade die Module sofort, ohne das System neu zu starten:

sudo modprobe coretemp
sudo modprobe dme1737 force_id=0x7c

3. mediasmartserverd-Projekt herunterladen und kompilieren

Das mediasmartserverd-Projekt ist auf GitHub verfügbar. Klone das Projekt und kompiliere es:

git clone https://github.com/merelin/mediasmartserverd
cd mediasmartserverd
make

4. Die ausführbare Datei manuell kopieren

Da das Projekt kein Installationsziel enthält, kopiere die ausführbare Datei manuell:

sudo cp mediasmartserverd /usr/local/bin/

5. mediasmartserverd als Dienst einrichten

Erstelle eine systemd-Dienstdatei, damit der Dienst automatisch gestartet wird:

sudo nano /etc/systemd/system/mediasmartserverd.service

Füge den folgenden Inhalt in die Dienstdatei ein:

[Unit]
Description=Mediasmart Server Daemon
After=network.target

[Service]
ExecStart=/usr/local/bin/mediasmartserverd -D
Restart=always

[Install]
WantedBy=multi-user.target

Speichere die Datei und lade die Konfiguration neu, aktiviere und starte dann den Dienst:

sudo systemctl daemon-reload
sudo systemctl enable mediasmartserverd
sudo systemctl start mediasmartserverd

6. LEDs manuell steuern (optional)

Um die LEDs direkt zu steuern, kannst Du beispielsweise die Info-LED ausschalten:

echo 0 > /sys/class/leds/h340:InfoLedBlue/brightness

7. Festplattengesundheit und LEDs überprüfen

Nach der Einrichtung kannst Du mit sensors überprüfen, ob die Überwachung der Festplattengesundheit funktioniert. Die LEDs sollten den Status entsprechend anzeigen.

Mit dieser Anleitung sollte die LED- und Festplattenüberwachung auf Deinem Acer H340 wieder wie gewünscht funktionieren.

Office 2013 Produktkey ändern

Manchmal kommt es vor, dass ein gekaufter Produktkey nicht funktioniert und man ihn durch einen neuen Ersatzschlüssel ersetzen muss.

Bei Office 2013 wird normalerweise darauf verwiesen, dass man dafür selbiges neu installieren muss. Zum Glück gibt es jedoch eine charmante Möglichkeit, den Produktkey aus deinem Konsolenfenster durch einen neuen zu ersetzen.

Das Mittel der Wahl ist ein VBS-Script, welches in Windows 10 mit Office verfügbar ist und cscript heißt.

Selbiges wird mit den drei Parametern gestartet:

  1.  /dstatus = Anzeigen des Produktkeys
  2. /unpkey:XXXXX = entfernen des Produktkeys
  3. /inpkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX = Hinzufügen des neuen Produktkeys

IM folgenden wird die Syntax der Befehle in  einem Beispiel dargestellt

cscript "C:\Program Files (x86)\Microsoft Office\Office15\OSPP.VBS" /dstatus

Anschließend zeigt er eine Übersicht über alle installierten office-Produkte und die letzten 5 Stellen eines jeden Produktkeys an:

Anzeige der Produktkeys installierter Office-Programme

Mit den nachfolgenden Befehlen können die Produktkeys enfternt werden:

cscript "C:\Program Files (x86)\Microsoft Office\Office15\OSPP.VBS" /unpkey:XXXXX

Und jetzt noch den neuen hinzufügen:

cscript "C:\Program Files (x86)\Microsoft Office\Office15\OSPP.VBS" /inpkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

Der Pfad der Office-Installation muss je nach Version (14,15,16,…) und Typ (32 Bit, 64 Bit) angepasst werden.
Anschließend kann die Aktivierung in Word oder einem anderen Officeprogramm einfach wiederholt werden.

Java – MySql – Beim Insert die angelegte ID des Primary Keys zurück bekommen

Beim Programmieren hatte ich eine für mich neue Anforderung: Ich wollte direkt nach dem Insert in die Datenbank den Primary Key des angelegten Datensatzes zurück bekommen. Die Lösung fand sich schnell im Netz und ich will sie aber für zukünftige Recherchen meinerseits gleich hier in meinem „Knowledge-Fundus“ hier hinterlegen:

String insertQuery = "INSERT INTO TABLE (…) VALUES (?,?,?)";
PreparedStatement ps = db.prepareStatement(query, Statement.RETURN_GENERATED_KEYS);
ps.setInt(1,…);
ps.setInt(2,…);
ps.setInt(3,…);
ps.execute();
ResultSet rs = ps.getGeneratedKeys();
Integer idPrimarykey = null;
if (rs.next()){
idPrimarykey=rs.getInt(1);
}
return idPrimarykey; 

Das Kommando klappt in meinem Beispiel hervorragend mit MySql. Damit konnte ich diekt aus dem Insert den Primary Key ermitteln und direkt weiterverarbeiten.