Kategorien
Anwendungen

VBA-Makros selbstsigniert

Sicherheit und Bequemlichkeit schließen sich oft gegenseitig aus – während man für ein Mehr an Sicherheit einen Teil Bequemlichkeit opfert, muß meist an der Sicherheit gespart werden, damit’s bequem wird.

vba_makro_02

Spürbar wird dies zum Beispiel bei der Verwendung von VBA-Makros: Ist in Excel die Makro-Sicherheit auf „Hoch“ eingestellt, können Makros in der Regel keinen Schaden anrichten, da sie nicht ausgeführt werden dürfen. In der Einstellung „Mittel“ muß bei jedem Öffnen einer Arbeitsmappe mit Makros entschieden werden, ob die Makros ausgeführt werden dürfen oder nicht. In der Einstellung „Niedrig“ wird jedes Makro ohne lästige Nachfrage ausgeführt, inklusive eventuell darin enthaltenem Schadcode.

Kategorien
Anwendungen

Diese Arbeitsmappe hat ihr VBA-Projekt, alle Active-X-Steuerelemente und alle anderen programmierbaren Elemente verloren

Meldet sich Excel beim Öffnen einer Arbeitsmappe mit der Fehlermeldung

so wurde auf dem betreffenden PC vergessen, Visual Basic for Applications zu installieren.

Kategorien
Anwendungen

Excel aktualisiert Zelleninhalte nicht mehr automatisch

Sollte Excel plötzlich die Zelleninhalte nicht mehr automatisch aktualisieren, so lohnt ein Blick auf den Karteireiter „Berechnung“ unter „Extras“ / „Optionen“.

Wird hier von „Manuell“ auf „Automatisch“ umgestellt, klappt’s auch wieder mit der Aktualisierung.

Kategorien
Anwendungen

Excel-Export quick & dirty

Zwar gibt es für PHP mit dem PHP Extension and Application Repository (PEAR) ein ähnliches Repository, wie es das Comprehensive Perl Archive Network (CPAN) für PERL darstellt, allerdings ist für die meisten Zwecke die Installation und Konfiguration von PEAR zu aufwendig im Hinblick auf das benötigte Ergebnis.

So gibt es zwar zum Schreiben von Excel-Dateien den „Spreadsheet::WriteExcel„-Clon „Spreadsheet_Excel_Writer„, der allerdings für einfache Exportzwecke deutlich überdimensioniert ist.

Diese kann man auch z.B. von Hand lösen, in dem man die Funktion von Excel ausnutzt, im „Notfall“ auch HTML-Tabellen interpretieren zu können:

<?php
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=excel.xls");
?>
<table>
<tr>
<td>AA</td><td>BB</td>
</tr>
<tr>
<td>CC</td><td>DD</td>
</tr>
</table>

Beim Aufruf des Skripts öffnet sich der „Speichern unter“-Dialog des Browsers und man erhält in der Tat eine Excel-Tabelle, die u.U. den netten Charme hat, mit dem gleichen Code wie die Bildschirmausgabe nur mittles Template-Wechsel erzeugt werden zu können.

Kategorien
Anwendungen

Excel-Daten in MySQL-Datenbank übernehmen

Steht man vor einer Aufgabe wie z.B. die Daten einer Excel-Tabelle in eine MySQL-Datenbank zu übernehmen, so geht entweder die Suche nach einem passenden Utility oder das Schreiben eines kleinen Skripts los.

Doch halt – eigentlich ist an Werkzeug schon alles, da, was man braucht:

  1. Excel: Zuerst werden mit Excel alle Daten soweit vorbereitet, wie sie später dann auch in der Tabelle stehen sollen. Dann wird die Excel-Tabelle als CSV-Datei abgespeichert.
  2. MySQL: Die Tabelle selbst wird angelegt und mit den benötigten Feldern versehen. Anschließend wird mittels des ‚LOAD DATA‘-Kommandos die vorher erzeugte CSV-Datei in die Tabelle eingelesen.

Beispielhaft könnte der Aufruf des Kommandos wie folgt aussehen:

mysql> LOAD DATA INFILE 'D:/Temp/excel-daten.csv' INTO TABLE zieltabelle FIELDS TERMINATED BY ';';

Eine Ausführliche Beschreibung der Parameter gibt’s im MySQL Reference Manual