Basic - Module

LibreOffice-Basic und Excel-VBA-Module erzeugen, speichern und laden

Basic-Module sind das "Zuhause" von Basic-Funktionen und Programmen in LibreOffice-Calc und Microsoft Excel. Hier wird die Organisation und Anwendung von Basic-Modulen besprochen.
Basic LibreOffice-Basic und MS-Visual Basic for Applications
Basic for Applications Basic-Funktionen als Hilfs-Programme für Standard Büro-Programme
LibreOffice-Calc Verwendung von Basic-Funktionen mit LibreOffice
MS-Excel Verwendung von Basic-Funktionen mit MS-Office
Demo-Beispiel Praxis-Test und Demonstration von Basic-Funktionen

Basic 'for Applications'

Die Programmiersprache → Basic wird in diesem Web immer gemeinsam mit → Kalkulations-Programmen (LibreOffice-Calc, MS-Excel, OpenOffice-Calc, ...) vorgestellt.

Diese Zusammenarbeit bietet für mathematische, technische und wissenschaftliche Aufgaben besonders viele Vorteile:
Einfache Bedienung (User-Interface), minimale Voraussetzungen, rasche Erfolge mit wenig Aufwand.

Das erste Ziel ist meist die numerische Berechnung, das zweite die grafische Darstellung: Beides gelingt mit Kalkulations-Programmen besonders rasch und einfach.

Die Unterstützung durch Basic-Funktionen erweitert die Möglichkeiten auf die Berechnung erstaunlich komplexer Aufgaben.

Voraussetzungen

Ein Kalkulations-Programm ist fast an jedem professionell verwendeten PC installiert.

Das Büro-Programm-Paket ↓ LibreOffice bietet kostenfrei, für alle gängigen Betriebssysteme und zahlreiche Sprachen diese Komponenten: Textverarbeitung, Kalkulation, Datenbank, Objekt-Grafik, Präsentation, Formel-Editor. Die Programme sind den kommerziellen Gegenstücken mindestens gleichwertig, sie können u.a. Dateien aller gängigen Formate öffnen, verwenden und speichern.

Das Büro-Programm-Paket ↓ MS-Office bietet kommerzielle Programme für die hauseigenen Betriebssysteme. Der Umfang variiert, umfasst jedoch meist Textverarbeitung, Kalkulation, Präsentation und Formel-Editor (letzterer meist nicht für Standard MathML sondern nur für das hauseigene Format).

Beide Programm-Pakete arbeiten ausgezeichnet mit der Programmiersprache → Basic zusammen, insbesondere die in den Paketen enthaltenen Kalkulations-Programme LibreOffice-Calc und MS-Excel.
In LibreOffice lautet die Bezeichnung LibreOffice-Basic, in MS-Office Visual Basic for Applications (VBA).
Man kann Basic-Hilfsprogramme auch für andere (Büro)-Programme einsetzen, das hat jedoch nur wenig Nutzen und wird nur selten angewendet.

Grundkenntnisse zur Bedienung der → Kalkulations-Programme sind unbedingt erforderlich. Dazu gibt es zahllose Kurse und Tutorials.

Genaue Kenntnisse der zahllosen Feinheiten von Kalkulations-Programmen sind kaum sinnvoll: Dieses Wissen ist nur kurzfristig nutzbar, auf andere Programme oder Versionen kaum übertragbar. Das kostet viel Zeit und lenkt oft von einfachen Lösungen ab.

Erfahrungen mit Kalkulations-Lösungen sind besonders wertvoll: Man kann das nicht aus Büchern lernen, aber an Beispielen trainieren: Es spart viel Zeit, mit einer guten Strategie an eine Aufgabe heranzugehen.

Die Integration fertiger Basic-Funktionen in ein Kalkulations-Programm ist nicht schwierig, sollte jedoch geübt werden. Das ermöglichst mit wenig Aufwand die Nutzung tausender kostenfrei verfügbarer Basic-Funktionen.

Die Programmierung eigener Basic-Funktionen erfordert das Verständnis der grundlegenden Elemente von Programmiersprachen. Wenn EntwicklerInnen-Kenntnisse verfügbar sind, dann ist die Übertragung auf Basic problemlos. Ansonsten muss man abwägen, ob die Lösung eines Problems so viel Aufwand rechtfertigt.

Anwendung

Basic-Programme lassen sich theoretisch mit allen gängigen Büro-Programmen verwenden, haben jedoch nur für Kalkulations-Programme praktische Bedeutung.
Basic-Funktionen sind ausgezeichnet portabel und lassen sich meist ohne Änderung mit allen gängigen Kalkulations-Programmen verwenden.
Basic-Subs sind von den Objekten der jeweiligen Programme und Versionen abhängig, und daher kaum portabel.

Sicherheit

Die Ausführung von Basic-Funktionen und -Subs ist in allen gängigen Büro-Programmen abgeschaltet. Man muss die Ausführung der Basic-(Makro)-Funktionen ausdrücklich genehmigen. Davon lassen sich leider viele AnwenderInnen abschreckenen, weil sie Sicherheits-Probleme befürchten.
Details zur kontrollierten Ausführung von Basic Hilfsprogrammen mit ↓ LibreOffice und ↓ MS-Excel.

In diesem Web werden fast ausschließlich Basic-Funktionen vorgestellt. Sie erhalten Argument-Daten von einem Kalkulations-Programm und geben die berechneten Ergebnisse zurück. Alle Funktionen liegen in Klartext vor, den man leicht kontrollieren kann.

Eine Gefahr kann - wenn überhaupt - eher von binären und geschützten Dateien ausgehen, deren Inhalt und Funktion nicht kontrollierbar ist.

Basic-Subs verwendet man meist zur Manipulation von Objekten. Das betrifft vorwiegend die Objekte der Kalkulations-Programme, kann aber auch auf Objekte des Betriebs- und Dateisystems angewendet werden. Derartige Subs können ein Risiko darstellen, werden aber in diesem Web schon deshalb nicht vorgestellt, weil sie normalerweise nicht portabel sind. Gefährliche Anweisungen in Basic-Subs werden von allen gängigen (Viren)-Schutz-Programmen erkannt. Diese Art der Bedrohung spielt heute praktisch keine Rolle mehr.

Ausführbare Programme

Mit Basic kann man u.a. auch direkt ausführbare Programme *.exe (nur) für Windows-Systeme herstellen.
Die gesamte Familie der Programmiersprachen Visual Basic (VBA), .NET und ASP ist jedoch nicht auf andere Systeme portabel und wird daher hier nicht vorgestellt. Eine Ausnahme bildet die Verwendung als Hilfsprogramme, die man portabel zusammen mit Kalkulations-Programmen einsetzen kann.

LibreOffice-Calc

Installation

LibreOffice und Java ist auf allen gängigen Linux Arbeits-PC installiert und meist auch gebrauchsfertig konfiguriert.

Auf Server-Distributionen ist LibreOffice nicht installiert, weil man die darin enthaltenen AnwenderInnen-Programme auf einem unbesetzten Server-PC normalerweise nicht braucht.

Alle gängigen Linux Distributionen verwenden ihr jeweiliges Software Verwaltungs-System um allfällige Updates auszuführen. Daher braucht man sich (je nach Konfiguration) um die Aktualisierung der Java- und LibreOffice Versionen normalerweise nicht zu kümmern.

OpenOffice

Dieses Programm-Paket war der erfolgreiche Vorläufer von LibreOffice. Die Programme funktionieren weiterhin, werden jedoch seit dem Kauf durch Oracle nicht mehr gewartet.
Empfehlung: Steigen sie auf LibreOffice um. Dieses Programm-Paket wird vom gleichen Team betreut wie vorher OpenOffice, hat sich jedoch wesentlich weiter entwickelt.

Auf Windows muss man selbst installieren:
LibreOffice benötigt zur Ausführung den 'Runtime Engine' der Programmiersprache → Java. Installieren sie daher vor LibreOffice den Java Runtime Engine ( JRE), den man für alle gängigen Betriebssysteme kostenfrei beziehen kann.
Der JRE erlaubt gleichzeitig mehrere Versionen: Das ist kein Problem, kostet jedoch wertvollen Speicherplatz.
Tipp: De-Installieren sie alle evtl. installierten JRE-Versionen mit Systemsteuerung | Software | Java und installieren sie danach die aktuelle JRE-Version.
Danach kann man problemlos LibreOffice installieren, und zwar auch parallel zu MS-Office:

Laden sie das kostenfreie LibreOffice Installer-Programm und starten sie es.
Die Installation von LibreOffice ist in jedem Fall empfehlenswert: Die Programme sind in vielen Fällen überlegen und bieten die Möglichkeit, alle gängigen Büro-Datei-Formate zu öffnen, zu verwenden und zu speichern.

Konfiguration

Die allgemeine Konfiguration mit dem Menü Extras | Optionen ist gut dokumentiert und nicht Thema dieser Seite.

Wenn man Basic-Funktionen verwenden will, muss man ihre kontrollierte Ausführung zuerst allgemein und danach individuell genehmigen:
Verwenden sie Menü Extras | Optionen | LibreOffice | Sicherheit | Makrosicherheit und wählen sie die mittlere Stufe:
In diesem Fall werden sie beim Öffnen der Kalkulations-Datei befragt: Die Basic-Funktionen werden nur mit ihrer ausdrücklichen Zustimmung ausgeführt.

Tipp: Wenn sie schädliche Programme in einer Datei befürchten, dann öffnen sie diese vorerst ohne Basic-Zustimmung: Sie können dann den Basic Quelltext gefahrlos ansehen.
Ihre Zustimmung ist auch für solche Basic-Programme erforderlich, die sie selbst entwickelt oder in eine Datei kopiert haben.

Im gleichen Konfigurations-Fenster befindet sich das Register 'Vertrauenswürdige Quellen': Hier können sie ein Verzeichnis (Ordner) angeben: Alle Dateien in diesem Verzeichnis gelten als sicher und werden ohne Zustimmung geöffnet.
Das ist bequemer, jedoch nur für öfters verwendete Dateien sinnvoll.

LibreOffice-Basic

Voraussetzung für die Anwendung ist die korrekte ↑ Konfiguration der Makro-Sicherheit, sowie die ausdrückliche Zustimmung zur Verwendung der Basic-Funktionen.

Es gibt mehrere Möglichkeiten, um mit LibreOffice-Calc Basic-Funktionen auszuführen:
Wenn man eine MS-Excel Datei (*.xls, *.xlsx) mit LibreOffice öffnet, dann funktionieren in der Regel alle Elemente inklusive der Basic-Funktionen.
Wenn man die Datei danach im offenen Format *.ods speichert, dann bleiben die Basic-Funktionen erhalten, lassen sich jedoch manchmal nicht mehr verwenden.

Um allen Problemen aus dem Weg zu gehen, wird die hier beschriebene Methode empfohlen:
Basic-Quelltext kopieren und manuell einsetzen.
Sie funktioniert in allen getesteten Versionen sowie auf allen gängigen Betriebssystemen und bietet auch die meiste Sicherheit.

Details in den Absätzen ↓ Import & Export dieses Kapitels.
Diese Lösung kann man zwar nicht als ausgereift bezeichnen, MS-Programme bieten derzeit jedoch überhaupt keine Möglichkeit zum Öffnen oder Speichern von Dateien im offenen Standard-Format *.ods

Basic-(Makro)-Organisation

Der Begriff 'Makro' ist vermutlich nicht korrekt, weil man damit Textbausteine bezeichnet, die in Programmiersprachen verwendet werden. Er ist für Basic-Programmteile mittlerweile üblich - Man sollte Basic-Funktionen trotzdem nicht mit 'echten' Makros verwechseln.

Zugang zum Basic-Quelltext mit Menü Extras | Makros | Makros verwalten | LibreOffice Basic oder mit der gleichen Wirkung die Tasten Alt-F11
LibreOffice organisiert die Basic-Programme in 3 Kategorien:
Meine Makros
LibreOffice Makros
<DateiName> (z.B. 'Unbekannt' wenn noch nicht gesichert wurde).
Mit Klick auf den Button Bearbeiten wird das Basic Quelltext Fenster geöffnet. Im Fenster befindet sich links oben eine Auswahl-Liste, mit der es sich auch nach dem Öffnen auf andere Kategorien umschalten lässt.

Das Basic Quelltext Fenster lässt sich wie das Fenster eines Text-Editors verwenden. Sie können den Text kopieren, einsetzen, editieren, ...

LibreOffice Makros
Hier sind intern verwendete Subs und Funktionen enthalten. Man kann sie studieren, sollte sie jedoch keinesfalls verändern.

Meine Makros
In ein Sub-Objekt (z.B. Standard | Module1) kann man eigene global verwendbare Basic-Subs und -Funktionen organisieren. Diese Funktionen sind für alle Kalkulations-Dateien (des jeweiligen PC und Users) verwendbar.
Kopieren sie den Basic Quelltext einfach in das Fenster. Sie können das Basic-Fenster offen lassen und die Funktionen sofort ausprobieren.
Diese Funktionen werden nicht in den einzelnen Kalkulations-Dateien gespeichert: Wenn man Dateien weitergibt, dann muss man die verwendeten Basic-Funktionen zusätzlich ↓ Datei-spezifisch installieren.

Datei-Makros
Das ist der beste Platz für Entwicklung und Test neuer Funktionen: Sie sind nur für die jeweilige Datei verfügbar und werden zusammen mit der Datei gespeichert und transportiert.

Legen sie ein neues Modul an oder verwenden sie ein vorhandenes Sub-Objekt wie z.B. Standard | Module1
Die hier enthaltenen Basic-Funktionen werden mit Dateien des offenen Standard-Formats *.odf gespeichert und sind mit LibreOffice verwendbar.

Wenn man mit LibreOffice eine MS-Excel Datei öffnet, dann befindet sich der Basic Quelltext typisch in einem anderen Objekt, z.B. <DateiName> | VBAProject | Module | Modul1
Diese Basic Funktionen werden von LibreOffice meist nur dann verwendet, wenn das Dateiformat nicht geändert wurde.
Tipp: Kopieren sie den Basic-Quelltext aus einem durch Import erhaltenen Modul ..VBAProject | Module | * in ein Modul ...Standard | Module | *, um die Basic-Funktionen weiterhin in LibreOffice zu verwenden.

LibreOffice Basic Module

Mit Alt-F11 gelangt man zur Verwaltung der Basic-Module.

Wenn die LibreOffice-Datei noch nicht gespeichert wurde, wird ihr Name mit 'Unbenannt' angegeben, ansonsten der Datei-Name.

In einem neu angelegten Modul ist normalerweise ein leeres Sub 'Main' enthalten, das man löschen oder überschreiben kann, z.B. mit dem Basic-Quelltext des auf dieser Seite vorgestellten ↓ Demo-Beispiels.

Basic-Export

Öffnen sie in LibreOffice das gewünschte Basic Quelltext Fenster und ein Text-Editor Programm oder eine LibreOffice Text-(Writer)-Datei.

Kopieren sie den Basic Quelltext und speichern sie ihn als einfache Text-Datei, z.B. *.txt oder *.bas

Der Basic Quelltext wird als Text-Datei transportiert und lässt sich an jedem beliebigen PC sowohl in LibreOffice als auch in MS-Excel (alle Versionen) einsetzen.

Das ist derzeit die einzige Möglichkeit, um Basic-Quelltext in neuere MS-Excel Versionen (>=2007) zu importieren, weil das speziell dazu verlangte neue Datei-Format *.xlsm von aktuellen LibreOffice-Versionen noch nicht unterstützt wird.

Basic-Import

Öffnen sie in LibreOffice (z.B. mit den Tasten Alt-F11) das Fenster der Makro-Verwaltung.

Wenn sich im Bereich <DateiName> | Standard bereits ein Modul befindet, dann öffnen sie dieses.

Ansonsten markieren sie den Bereich <Dateiname> und klicken Taste Neu: Ein Basic-Modul (z.B. Module1) wird erzeugt und das Quelltext-Fenster geöffnet.

Kopieren sie den Basic Text in das geöffnete Quelltext-Fenster.

Variante: Wenn in einem importierten Modul ..VBAProject | Module | * Basic-Quelltext enthalten ist, dann kopieren sie ihn in ein Modul ...Standard | Module | *

Option VBASupport

Die meisten einfachen Funktionen sind zwischen LibreOffice-Calc und MS-Excel ohne Änderung portabel. Einige wenige Elemente sind nicht portabel, darunter der Variablen-Typ Range
Man braucht diesen Typ, um mit einer Funktion einen → Bereich von Zellen zu lesen, so wie z.B. zur Berechnung von Anzahl, Minimum, Mittelwert, Maximum, Summe, ... erforderlich.

Die von LibreOffice-Basic ohne diese Option für einen → Bereich von Zellen verwendete Syntax ist kompliziert und nicht nach MS-VBA portabel.

Man kann die einfache MS-VBA Syntax auch in LibreOffice-Basic verwenden, wenn man am Anfang des Basic-Moduls (vor der ersten Basic-Function) diese Zeile einfügt:
Option VBASupport 1

Diese Option ist in MS-VBA nicht verwendbar: Man schaltet sie allenfalls mit einem vorangestellten Kommentar-Zeichen ab:
' Option VBASupport 1

Anwendung

Leider werden die in den ↑ Basic-Modulen organisierten Funktionen offenbar in der Funktionen-Liste nicht angezeigt. Das macht die Anwendung mühsam und wird hoffentlich in zukünftigen Versionen verbessert.
Man kann daher die 'Benutzer-definierten' Basic-Funktionen nicht so wie die Standard-Funktionen in der Liste anklicken, sondern muss die Funktions-Namen manuell eintippen, z.B.
=meine_funktion(A1)

Tipp: Fügen sie am Beginn jedes Basic-Moduls Kommentare mit den Namen der darin enthaltenen Funktionen ein. Sie können das Quelltext-Fenster neben dem Kalkulations-Blatt offen halten und die Funktions-Namen ablesen oder kopieren.
Basic-Kommentar-Zeilen beginnen mit einem ' Single Quote-Zeichen, z.B.
' meine_funktion() - addiert 2 Zahlen...

MS-Excel

Installation
MS-Excel ist fixer Bestandteil aller Versionen des kommerziellen Programm-Pakets MS-Office.
Das Kalkulations-Programm ist ausgereift und von ausgezeichneter Qualität. Die Entwicklung eigener Basic (VBA) Hilfs-Programme wird sehr gut unterstützt und gelingt meist in kürzerer Zeit als mit LibreOffice.

Die Installation von MS-Office erfolgt normalerweise von der jeweiligen CD/DVD. Sie erfordert keine Voraussetzungen. Bei der Installation können sie aus den enthaltenen Programmen wählen, sowie in den Programmen zwischen einigen Optionen wählen. Mit der Original-CD/DVD kann man auch nachträglich Programme installieren oder löschen.

MS-Office Programme sind lizenzpflichtig. Zeitweise waren zahlreiche illegale Kopien im Umlauf, daher wurden und werden die Programme durch unterschiedliche Maßnahmen geschützt. Diese sind nicht unumstritten: Bei einem Wechsel von PC, Festplatte oder Betriebssystem, evtl. sogar bei Neu-Installation des gleichen Betriebssystems lässt sich das Programm manchmal nicht mehr installieren. Das entspricht nicht gerade dem, was sich Konsumenten von einem gekauften Produkt erwarten. ist jedoch sicher irgendwo im Klein-Gedruckten nachzulesen...

Tipp: Versuchen sie nicht, die Lizenz zu umgehen. Verwenden sie entweder eine legale Version und stimmen sie den vom Hersteller erzwungenen Einschränkungen zu, oder verwenden sie - ebenfalls legal - die kostenfreie Alternative ↑ LibreOffice.

Konfiguration

In MS-Office wird jedes enthaltene Programm einzeln konfiguriert. In MS-Excel ist die Konfiguration meistens mit Menü Extras | Optionen und Extras | Makro | Sicherheit zugänglich. Namen und Positionen der Menü-Befehle wurden leider im Laufe der Versionen oft geändert, daher sind einheitliche Angaben nicht möglich.

Wenn man Basic-Funktionen verwenden will, muss man ihre kontrollierte Ausführung genehmigen: Die dazu notwendigen Optionen wurden leider oft verändert.
Beispiel: Menü Extras | Makro | Sicherheit bietet normalerweise die Auswahl unter 3 Optionen.

Empfehlung: Wählen sie die mittlere Sicherheits-Stufe: In diesem Fall werden sie beim Öffnen der Kalkulations-Datei befragt: Die Basic-Funktionen werden nur mit ihrer ausdrücklichen Zustimmung ausgeführt.

In manchen Excel-Versionen muss man die Datei nach erfolgter Zustimmung schließen und erneut öffnen: Erst dann werden die Basic-Funktionen wirklich ausgeführt.

In den meisten Versionen wird man beim Öffnen einer Datei mit Basic-(VBA)-Funktionen mittels Dialog-Fenster ausdrücklich nach der Zustimmung gefragt. Es gibt jedoch offenbar Versionen, in denen man das übersehen kann.

Ab Excel-2007 ist die Konfiguration gut getarnt und stark eingeschränkt: Menü Office (buntes Icon links oben) | Excel-Optionen (rechts unten versteckt) | Vertrauensstellungscenter | Einstellungen. Eine Arbeit mit VBA ist ohne ständige Belästigung nur mehr dann möglich, wenn man dafür einen eigenen Ordner erzeugt und diesen konfiguriert: Vertrauensstellungscenter | Vertrauenswürdige Speicherorte
Außerdem kann man in normalen Kalkulations-Dateien keine VBA-Funktionen speichern, sondern nur mehr in eigenen Datei-Versionen *. xlsm

Tipp: Konsultieren sie die integrierte Hilfe ihrer Version und probieren sie das Verhalten ihrer Excel-Version beim Öffnen einer Datei mit Basic-(VBA)-Funktionen praktisch aus.

Basic-(Makro)-Organisation


Zugang zum Basic-Quelltext mit den Tasten Alt-F11 oder mit Klick auf dieses Icon.

Die Organisation der Basic-Programme wird im Fenster Projekt-Explorer (mit Strg-R) angezeigt:
Auch in MS-Excel kann man Basic-Programme 'global' installieren, d.h. sie für alle an einem PC / User verwendeten Kalkulationen nutzbar machen. Die Details sind jedoch von der Version abhängig - Konsultieren sie die integrierte Hilfe.
Zu jeder MS-Excel Kalkulations-Datei kann man ein oder mehrere Basic-Module angeben, welche den Quelltext der Basic-Funktionen und Subs enthalten.

Beispiel: Öffnen sie mit Alt-F11 das Basic-(VBA)-Fenster und verwenden sie Menü Einfügen | Modul. Mit Doppelklick auf den Modul-Namen (z.B. Modul1) wird das Quelltext-Fenster geöffnet.

Optionen

Das Basic-Interpreter-Programm (liest den Basic-Quelltext, übersetzt ihn und führt die Anweisungen aus) lässt sich durch einige nützliche Optionen steuern.

Option Explicit
Diese Option erzwingt die Deklaration aller verwendeten Variablen (mit Dim-Anweisungen).
Das ist sehr empfehlenswert, weil man damit viele typische Fehler vermeidet.
Man stellt den Basic-Editor am besten so ein, dass diese Option automatisch am Beginn jedes neuen Moduls eingetragen wird:
Öffnen sie Menü Extras | Optionen | Editor und markieren sie alle Kästchen, insbesondere Variablen-Deklaration erforderlich.

Option VBASupport
Diese Option wird für ↑ LibreOffice-Basic empfohlen, weil man damit die Portabilität von Basic-Funktionen verbessert. Die Option ist in MS-VBA nicht verwendbar und wird - wenn im Quelltext eingetragen - mit einem führenden Kommentar-Zeichen abgeschaltet:
' Option VBASupport 1

Option Base
Diese Option steuert die Syntax von → Arrays: Ohne diese Option werden die Elemente von Arrays beginnend mit dem Index=0 bezeichnet. Das ist in allen modernen Programmiersprachen üblich und daher empfehlenswert.
Man kann Array-Elemente auch beginnend mit dem ersten Index=1 bezeichnen. Das ist nicht empfehlenswert, weil viele Algorithmen damit Fehler ergeben bzw. geändert werden müssten.

Basic-Export

Öffnen sie mit Alt-F11 und Klick auf das gewünschte Basic-Modul das Basic Quelltext Fenster.

Verwenden sie Menü Datei | Datei exportieren und speichern sie den gesamten Quelltext des Moduls in einer Text-Datei *.bas
Sie können die erzeugte Text-Datei auch anders benennen (z.B. *.txt) und mit jedem Text-Editor Programm öffnen, ansehen oder ändern.

Alternativ können sie den Basic-Quelltext in das Fenster eines Text-Editor-Programms kopieren und speichern.

Der Basic Quelltext wird als Text-Datei transportiert und lässt sich an jedem beliebigen PC sowohl in LibreOffice als auch in MS-Excel einsetzen.

Basic-Import

Öffnen sie mit Alt-F11 und Klick auf das gewünschte Basic-Modul das Basic Quelltext Fenster.

Wenn sich im Bereich <DateiName> | Module bereits ein Basic-(VBA)-Modul befindet, dann öffnen sie dieses.

Ansonsten markieren sie den Bereich <Dateiname> und verwenden sie Menü Einfügen | Modul

Kopieren sie den Basic Quelltext in das geöffnete Quelltext-Fenster.

Es gibt auch andere Möglichkeiten, um Basic-Funktionen zu importieren. Sie sind jedoch weniger flexibel oder nicht so gut kontrollierbar wie einfacher Text.

Da MS-Office Programme derzeit keine Optionen zum Öffnen oder Speichern in den offenen Standard-Formatern (z.B. *.odf) bieten, ist der Transport von Quelltext die beste und sicherste Methode, um Basic-Funktionen zwischen verschiedenen Programmen und Betriebssystemen auszutauschen.

Anwendung

Die in den ↑ Basic-Modulen organisierten Funktionen werden in der Funktionen-Liste im Bereich Benutzer-definiert angezeigt.

Man kann daher alle in den Modulen enthaltenen Basic-Funktionen genauso wie die Standard-Funktionen in der Liste anklicken und damit einfügen.

Demo-Beispiel

Die Text-Datei PST_Basic_Test.bas enthält den Quelltext von 3 willkürlich ausgewählten Basic-Funktionen in Form von einfachem lesbarem Text. Sie können diese Text-Datei herunterladen, mit jedem Text-Editor öffnen, kontrollieren und in das Basic-Quelltext-Fenster von LibreOffice oder MS-Excel einfügen.

Test-Funktionen

Die Datei PST_Basic_Test.bas enthält diese 3 Basic-(VBA)-Funktionen:

vba_test() - Gibt als Ergebnis einen einfachen Text zurück.

golden_ratio() - berechnet den Zahlenwert des 'Goldenen Schnitts'

fibonacci(n) - Berechnet den Zahlenwert des n-ten Gliedes der → Fibonacci-Folge. Diese Funktion verwendet eine Schleife, d.h. ein Element, welches man mit Standard Kalkulations-Funktionen nicht (oder nur mühsam) programmieren kann.

Installation in LibreOffice-Calc

Mit Alt-F11 zum Fenster des Basic-Managers.
Markieren sie links den Namen der aktuellen Datei.
Markieren sie - wenn vorhanden - Standard | Modul oder klicken sie Neu
Kopieren sie den Text der Demo-Datei in das Basic-Quelltext-Fenster

Installation in MS-Excel

Mit Alt-F11 zum VBA-Fenster.
Markieren sie links den Namen der aktuellen Datei.
Markieren sie - wenn vorhanden - Module | Modul oder verwenden sie Menü Einfügen | Modul
Kopieren sie den Text der Demo-Datei in das Basic-Quelltext-Fenster

Anwendung

Kehren sie zum Kalkulations-Fenster zurück und geben sie diese Formel in eine beliebige Zelle ein:
=vba_test()
Als Ergebnis sollte ein Text angezeigt werden.

Geben sie diese Formel in eine beliebige Zelle ein:
=golden_ratio()
Die Basic-Funktion sollte das gleiche Ergebnis 1.6180339887499 für den Goldenen Schnitt liefern wie die Formel
=(1+WURZEL(5))/2

Geben sie diese Formeln in eine Reihe von Zellen ein:
=fibonacci(0)
=fibonacci(1)
=fibonacci(2)
...
Die Basic-Funktion sollte eine Reihe dieser Zahlen berechnen:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...
Diese Formel sollte das gleiche Ergebnis berechnen wie der Goldene Schnitt:
=fibonacci(71)/fibonacci(70)

Wenn diese Beispiele funktionieren, dann können sie auch beliebige andere (sauber programmierte) Basic-Funktionen mit ihren Kalkulations-Dateien verwenden.