Kompatibilität von Excel für Windows und Excel für Macintosh Home Home

WB01727_.gif (1537 Byte)

Inhalt dieses Dokumentes
Wenn man eine Arbeitsmappe erstellt, die einem beliebigen Benutzerkreis zur Verfügung gestellt werden soll, so muss man daran denken, dass Microsoft Excel sowohl für Windows als auch für Macintosh existiert. Eine mit Excel für Windows erstellte Mappe muss daher auch in Excel für Macintosh bearbeitbar sein und umgekehrt. Zwischen Excel für Windows und Excel für Macintosh gibt es eine ganze Reihe wichtiger Unterschiede, die man beachten muss. Insbesondere beim Schreiben von VBA-Programmcode muss man viele Spezialitäten und Inkompatibilitäten berücksichtigen, die unter anderem in VBA, im Excel-Objektmodell und im Office-Objektmodell enthalten sind.

Diese Dokumentation stellt sämtliche derzeit bekannten Unterschiede, Inkompatibilitäten, Spezialfälle und potenzielle Probleme von plattformunabhängigen Excel-Arbeitsmappen und VBA-Programmen vor.

Sie erhalten hier ausführliche Beschreibungen, Anleitungen, Empfehlungen, Tipps und Tricks sowie VBA-Codebeispiele. Viele Informationen beziehen ganz allgemein auf VBA und gelten somit auch für VBA-Programme, die mit einem anderen Microsoft Office-Programm als Microsoft Excel entwickelt wurden.

Diese Dokumentation ist auch als PDF-Dokument erhältlich. Mehr dazu siehe hier.


Version: Dokument-Version 4.5
Datum: Zuletzt aktualisiert am 24.01.2006
Autor: Philipp von Wartburg (mailto:philipp_von_wartburg@yahoo.de), Winkel 115, CH-8916 Jonen

Zielpublikum
Microsoft Office-Anwender und -Programmierer, insbesondere von Microsoft Excel, die Arbeitsmappen, Add-Ins, Makros und VBA-Programme sowohl für Excel für Windows als auch für Excel für Macintosh entwickeln.

WB01727_.gif (1537 Byte)

Inhalt

 Vorwort

 Einleitung
    Inhalt dieser Dokumentation
    Zweck dieser Dokumentation
    Zielpublikum
    Quellenverzeichnis
    Weitere nützliche Informationsquellen

 Allgemeines über Unterschiede und Inkompatibilitäten
    Warum ist Kompatibilität wichtig?
    Gründe für Unterschiede und Inkompatibilitäten
    Wo gibt es Unterschiede?
    Auswirkungen von Inkompatibilitäten

 Generelle Empfehlungen

 Keine Unterschiede

 Zusatzprogramme und Komponenten von Microsoft Office

 Grundsätzliche Unterschiede
    Unterschiede zwischen Windows und Macintosh
    Unterschiede zwischen Excel für Windows und Excel für Macintosh
    Unterschiede zwischen VBA für Windows und VBA für Macintosh
    Sonstige Unterschiede

 Unterschiede bei Dateinamen, Dateipfaden und Verzeichnispfaden
    Allgemeines
    Pfade in der Anwendung Microsoft Excel
    Pfade in der Arbeitsmappe
    Pfade im VBA-Programmcode
    Pfade an anderen Stellen

 Unterschiede bei Dateitypen und Dateiformaten

 Unterschiede bei Excel-Tabellenfunktionen

 Unterschiede bei Formular-Steuerelementen

 Unterschiede in der Programmiersprache VBA
    Allgemeines
    Übersicht der Unterschiede

 Unterschiede im Objektmodell von Microsoft Excel
    Allgemeines
    Übersicht der Unterschiede

 Unterschiede im Objektmodell von Microsoft Office
    Allgemeines
    Übersicht der Unterschiede

 Unterschiede im Objektmodell des VBA-Editors
    Allgemeines
    Übersicht der Unterschiede

 Unterschiede im Objektmodell von Microsoft Forms
    Einführung
    Unterschiede bei Benutzerformularen
    Unterschiede bei Steuerelementen

 Unterschiede bei integrierten Konstanten

 Unterschiede bei VBA-Fehlermeldungen

 Wissenswertes über die Kompatibilität von VBA-Projekten
    Einführung
    Projekteigenschaften
    Verweise
    Zusätzliche Steuerelemente
    Empfehlungen

 Änderungen und Erweiterungen in VBA 6.0
    Einführung
    Auswirkung bei Verwendung eines nicht verfügbaren Sprachelementes
    Neue Funktionen
    Geänderte Funktionen
    Weitere Änderungen

 Weitere wichtige Unterschiede

 Spezialthemen

 Abfragen der Ausführungsumgebung
    Betriebssystem herausfinden
    Excelversion herausfinden
    VBA-Editor-Version herausfinden
    VBA-Version herausfinden
    Windowsversion herausfinden
    Version eines anderen Microsoft Office-Programmes herausfinden

 Bedingte Kompilierung
    Einführung

 Compiler-Konstanten und Konstanten für die bedingte Kompilierung
    Einführung
    Compiler-Konstanten
    Konstanten für die bedingte Kompilierung

 Compiler-Konstanten von Microsoft Office
    Compiler-Konstanten von Microsoft Office 97
    Compiler-Konstanten von Microsoft Office 2000, 2002/XP und 2003
    Compiler-Konstanten von Microsoft Office für Macintosh

 Arbeitsmappen und VBA-Programme plattformunabhängig machen
    Einführung
    Vorbereitung
    Durchzuführende Arbeiten
    Testen
    Tipps für komplexe Arbeitsmappen

 Vorgehens-Checkliste

 Utilities und Hilfsprogramme

 VBA-Codebeispiele für Programmierer

 Tipps und Empfehlungen für Programmierer

 Hintergrundwissen
    Das Microsoft Excel-Dateiformat
    Alles über externe Verknüpfungen
    Die wichtigsten Limitationen in Microsoft Excel

 Links zu weiteren Informationsquellen
    Dokumentationen und Anleitungen
    Bugs und Probleme
    Verschiedene Themen
    Newsgroups

 Anhang
    Begriffserklärungen
    Typografische Dokument-Konventionen
    Stichwortverzeichnis

 Offene Punkte und Pendenzen
    Offene Punkte
    Pendenzen


Vorwort

Auf dieser Seite werde ich Ihnen die Unterschiede zwischen Excel für Windows und Excel für Macintosh vorstellen. Es geht hier weniger um die funktionalen Unterschiede, also beispielsweise ob ein bestimmtes Feature in beiden Excelversionen vorhanden ist. Vielmehr werden diejenigen Unterschiede beschrieben, die zur Inkompatibilität von Arbeitsmappen und VBA-Code führen. Mit anderen Worten: Hier erfahren Sie, was man alles beachten muss, wenn man Arbeitsmappen oder VBA-Programme entwickeln will, die sowohl unter Windows als auch auf Macintosh einwandfrei funktionieren sollen. Das ist nämlich gar nicht so einfach, weil es erstens ziemlich viele Inkompatibilitätsprobleme gibt, und zweitens ganz bestimmte Probleme bereits bei kleinen Arbeitsmappen ohne jeglichen VBA-Code auftreten können.

Des öfteren stellen Excel-Anwender oder Excel-Programmierer in einschlägigen Internet-Newsgroups und -Foren die Frage, ob und inwiefern VBA-Programme, die mit Microsoft Excel für Windows erstellt wurden, mit Microsoft Excel für Macintosh ausgeführt werden können (oder umgekehrt). Diese Frage ist absolut berechtigt, weil es nämlich zwischen VBA von Excel für Windows und VBA von Excel für Macintosh eine ganze Reihe wichtiger Unterschiede gibt. Die meisten davon sind bedingt durch das jeweilige Betriebssystem, insbesondere durch dessen Dateisystem.

Ich sollte noch erwähnen, dass ich selber keinen Mac-Computer und folglich auch kein Microsoft Excel für Macintosh besitze. Dennoch ist mir die Kompatibilitätsproblematik nicht ganz unbekannt, da ich in Unternehmen gearbeitet habe, die gemischte Systemumgebungen einsetzen, also Windows- und Macintosh-Rechner. Gerade in grösseren Unternehmen kann es vorkommen, dass beispielsweise die PR-/Marketing-Abteilung mit Macintosh-Computern arbeitet, der Rest der Firma aber Windows-Arbeitsstationen benutzt.

PDF-Dokument
Diese Dokumentation steht auch als Acrobat PDF-Dokument zur Verfügung. Sie können es auf der Downloadseite kostenlos herunterladen.

download-icon.gif (898 Byte)

Downloadseite

Dokumentationen und Anleitungen

Zum Kapitelanfang Zum Seitenanfang


Einleitung

Inhalt dieser Dokumentation

Diese Dokumentation ist in acht Teile mit jeweils mehreren Kapiteln gegliedert:
Teil 1: Vorwort, Einleitung, Allgemeines und generelle Empfehlungen
Teil 2: Keine Unterschiede
Teil 3: Unterschiede, Inkompatibilitäten und potenzielle Probleme
Teil 4: Arbeitsanleitungen, Checklisten
Teil 5: VBA-Codebeispiele, Tipps, Tricks und Empfehlungen
Teil 6: Spezialthemen und Hintergrundwissen
Teil 7: Tools, Hilfsprogramme und Links
Teil 8: Anhänge

 

26 VBA-Codebeispiele:
VBA-Codebeispiele für Programmierer

10 Tipps und Empfehlungen:
Tipps und Empfehlungen für Programmierer

50 Links zu Webseiten mit weiteren Informationen:
Links zu weiteren Informationsquellen

Zum Seitenanfang


Zweck dieser Dokumentation

- Unterschiede aufzeigen

- Empfehlungen, Tipps und Lösungen anbieten

- VBA-Codebeispiele

- Arbeitsmappen und VBA-Code für beide Plattformen entwickeln, ohne beide Plattformen zu besitzen

- Einheitlicher Programmcode für beide Plattformen (Single Source Code)

Zum Seitenanfang


Zielpublikum

- Microsoft Office/Excel-Anwender und -Entwickler

- Programmierer von Makros, Add-Ins, VBA-Anwendungen

- Support-Mitarbeiter

Zum Seitenanfang


Quellenverzeichnis

Die auf dieser Seite vorgestellten Informationen wurden grösstenteils aus diesen Dokumentationen entnommen:
» Visual Basic-Referenz (VBA 5)
» Visual Basic-Referenz (VBA 6)
» VBA Editor-Referenz (Excel 97)
» VBA Editor-Referenz (Excel 2000)
» Visual Basic Add-In-Modell-Referenz (Office 97)
» Visual Basic Add-In-Modell-Referenz (Office 2000)
» Microsoft Office Visual Basic-Referenz (Office 97)
» Microsoft Forms-Referenz (Office 97)
» Microsoft Forms-Referenz (Office 2000)
» Microsoft Excel Visual Basic-Referenz (Excel 2000)
» Microsoft Excel Visual Basic-Referenz (Excel 2003)
» Microsoft Office Drawing File Format-/Escher Layer-Dokumentation
» Microsoft Excel File Format-Dokumentation von OpenOffice.org (Version 1.37)

Die übrigen in diesem Dokument aufgeführten Informationen stammen aus zuverlässigen Quellen im Internet, unter anderem aus Newsgroups, aus Foren und von 'Excel für Macintosh'-Websites, und zudem auch direkt von Excel für Macintosh-Experten (meist MVPs). Die auf diese Weise zusammengetragenen Informationen wurden von mir geprüft, konsolidiert, überarbeitet und teilweise mit zusätzlichen Beschreibungen ergänzt.

Bitte beachten Sie, dass die von Microsoft verfassten Online-Hilfen und Referenzen von VBA teilweise ziemlich schwerwiegende Fehler enthalten. Auf diese Fehler wird in diesem Dokument eingegangen und die korrekten Informationen vorgestellt.

Zum Seitenanfang


Weitere nützliche Informationsquellen

xlam - Excel and more!
xlam - Excel and more!
www.xlam.ch

The SOSCQ Page
The SOSCQ Page
The SOSCQ Page: VBA-Befehle und -Funktionen
The SOSCQ Page: Excel-Objektmodell
www.xlam.ch/soscq/index.htm

The SOSCQ Page - VBA/VB-Codebeispiele
The SOSCQ Page: Codebeispiele für VBA und VB
www.xlam.ch/vbacode/index.htm

Phil's Office Secrets
Phil's Office Secrets
Phil's Office Secrets: Namenskonventionen, Richtlinien und Empfehlungen
Phil's Office Secrets: Neuerungen und Änderungen in Microsoft Office-Objektmodellen
Phil's Office Secrets: Links zu Updates und Service Packs für Microsoft Office und Excel
www.xlam.ch/pos/index.htm

XLimits
XLimits
XLimits: Excel-Sektion
XLimits: VBA/VB-Sektion
XLimits: Excel-Internas-Sektion
XLimits: Limitationen in Microsoft Excel
XLimits: Limitationen in Excel-VBA und Excel-Objektmodell
www.xlam.ch/xlimits/index.htm

Siehe auch unter Links zu weiteren Informationsquellen und Die wichtigsten Limitationen in Microsoft Excel.

Zum Kapitelanfang Zum Seitenanfang


Allgemeines über Unterschiede und Inkompatibilitäten

Warum ist Kompatibilität wichtig?

- Arbeitsmappe für Benutzer mit Microsoft Excel für Windows und Microsoft Excel für Macintosh bearbeitbar machen.

- Nur eine Arbeitsmappe (bzw. Add-In) für beide Plattformen (Support, Bug-Fixes, Weiterentwicklung etc.).

- Grösserer Markt/mehr potenzielle Kunden.

- Vermeiden von potenziellen Problemen.

Zum Seitenanfang


Gründe für Unterschiede und Inkompatibilitäten

1. Oft entsteht ein Problem wegen einer Unachtsamkeit, beispielsweise wenn ein vom Benutzer eingegebener Dateiname auf ungültige Zeichen überprüft wird.

2. Limitationen in Microsoft Excel

3. Bugs in Microsoft Excel

4. Technische Rahmenbedingungen

Zum Seitenanfang


Wo gibt es Unterschiede?

- Betriebssystem (Dateisystem)

- Office

- Excel (Oberfläche, Features)

- Arbeitsmappen

- VBA

- Office-Objektmodell

- Excel-Objektmodell

- MSForms-Objektmodell (Benutzerformulare, Steuerelemente)

- VBA-Editor-Objektmodell

- Laufzeitfehler

- VBA-Projekt

- Tabellenfunktionen

- Zusatzprogramme

- Dateiformate

 

Windows vs. Macintosh

Excel für Windows vs. Excel für Macintosh

VBA für Windows vs. VBA für Macintosh

VBA von Excel für Windows vs. VBA von Excel für Macintosh

 

Zum Seitenanfang


Auswirkungen von Inkompatibilitäten

Excel für Windows und Excel für Macintosh enthalten das gleiche VBA. Da es keine Implementierungsunterschiede gibt, existiert auch kein Kompatibilitätsproblem zwischen VBA-Code, der mit Excel für Windows geschrieben wurde, und VBA-Code, der mit Excel für Macintosh geschrieben wurde. VBA-Code der einen Plattform lässt sich auf der anderen Plattform kompilieren und ausführen.

Es existieren - etwas allgemein betrachtet - nur fünf Unterschiede, die zur Laufzeit (d.h. während der Codeausführung) zu einem Fehler führen:
- Environ-Funktion (führt auf Macintosh zu einem Laufzeitfehler)
- SendKeys-Funktion (führt auf Macintosh zu einem Laufzeitfehler ?)
- MacID-Funktion (führt unter Windows zu einem Laufzeitfehler)
- MacScript-Funktion (führt unter Windows zu einem Laufzeitfehler)
- CDecl-Schlüsselwort (führt unter Windows zu einem Laufzeitfehler)

Alle anderen Unterschiede werden von VBA bzw. Excel erkannt und behandelt, oder ignoriert oder sie führen zu unterschiedlichen Ergebnissen.

 

Hier drei Beispiele:

1. Unterschied wird erkannt und behandelt
Eine eingebettete Landkarte (MSMap) wird in Microsoft Excel für Windows als bearbeitbares MSMap-Objekt angezeigt. In Microsoft Excel für Macintosh wird sie in Form eines schwarz-weissen Bildes dargestellt, welches nicht bearbeitet werden kann.

2. Unterschied wird ignoriert

3. Unterschied führt zum unterschiedlichem Ergebnis
VBA-Konstante vbNewLine

 

Schwerwiegende Fehler infolge einer Inkompatibilität, wie beispielsweise ein Microsoft Excel-Absturz, sind nicht bekannt.

Zum Kapitelanfang Zum Seitenanfang


Generelle Empfehlungen

Bevor auf die einzelnen Unterschiede zwischen Windows und Macintosh, Excel für Windows und Excel für Macintosh sowie Excel-VBA für Windows und Excel-VBA für Macintosh detailliert eingegangen wird, zuerst ein paar generelle Empfehlungen, die Sie sich unbedingt zu Herzen nehmen sollten. Diese Empfehlungen helfen Ihnen, die Kompatibilitätsproblematik global zu betrachten und Zusammenhänge zu verstehen. Dadurch werden Sie potenzielle Probleme besser und vor allem schneller erkennen und (hoffentlich) vermeiden können.

Hier meine 20 persönlichen Empfehlungen:

 

1) Einfache Dateinamen verwenden

Geben Sie Ihrer Arbeitsmappe einen einfachen Dateinamen. Mit anderen Worten: Verwenden Sie möglichst nur Buchstaben (a-z bzw. A-Z) und Ziffern (0-9). Alle anderen Zeichen wie Interpunktions- und Sonderzeichen sollten Sie unbedingt vermeiden.

Wenn Sie die Arbeitsmappe mit Microsoft Excel für Macintosh speichern, sollten bzw. dürfen Sie die Zeichen
- Anführungszeichen ("),
- Schrägstrich (/),
- Umgekehrter Schrägstrich (\),
- Vertikale Linie (|),
- Kleiner als (<),
- Grösser als (>),
- Fragezeichen (?),
- Stern (*) und
- Eckige Klammer ([ und ])
nicht im Dateiname benutzen, weil diese Zeichen unter Windows bzw. in Microsoft Excel für Windows für Dateinamen verboten sind.

Und auch die Zeichen
- Pound (#),
- Eckige Klammer ([ und ]),
- Ausrufezeichen (!) und
- Apostroph (')
sollten möglichst nicht verwendet werden, da diese von Microsoft Excel für bestimmte Zwecke benutzt werden.

Wenn Sie unbedingt andere Zeichen als Buchstaben und Ziffern verwenden wollen, dann nehmen Sie diese Zeichen:
- Leerzeichen
- Runde Klammer
- Gleichheitszeichen (=)
- Minus-Zeichen/Bindestrich (-)
- Plus-Zeichen (+)
- Unterstrich (_)
- Dollarzeichen ($)
- At-Zeichen (@)
- Komma (,)
- Semikolon (;)

Mehr dazu siehe unter Erlaubte Zeichen in Dateinamen.

2) Arbeitsmappe für beide Plattformen gestalten

Gestalten Sie eine Arbeitsmappe immer so, damit sie sowohl in Microsoft Excel für Windows als auch in Microsoft Excel für Macintosh verwendet werden kann. Dies natürlich unter der Annahme, dass die Arbeitsmappe potenziell auf beiden Plattformen zum Einsatz kommt. Denken Sie daran, dass diese Wahrscheinlichkeit grundsätzlich immer vorhanden ist. Sie ist lediglich mal kleiner und mal grösser.

3) Auf beiden Plattformen testen

Testen Sie Ihre Arbeitsmappe gewissenhaft auf beiden Plattformen (sofern Sie diese Möglichkeit besitzen). Genau so wie sich die Excelversionen für Windows voneinander unterscheiden, gibt es in den Excelversionen für Macintosh ein paar Unterschiede. Wenn die Arbeitsmappe in allen Versionen von Microsoft Excel für Windows fehlerfrei funktioniert, müssen Sie die gleichen Tests auch in allen Excelversionen für Macintosh durchführen.

4) Mögliche Kompatibilitätsprobleme berücksichtigen

Informieren Sie sich über allfällige Kompatibilitätsprobleme, bevor Sie mit der Erstellung der Arbeitsmappe beginnen. Beispielsweise funktionieren eingebettete ActiveX-Steuerelemente auf dem Macintosh grundsätzlich nicht. Wenn Sie also bereits viele Steuerelemente wie Schaltflächen, Optionsschaltflächen, Listenfelder und ähnliches in ein Tabellenblatt eingefügt haben, wird es schwierig, diese Objekte nachträglich durch alternative Steuerelemente zu ersetzen (beispielsweise durch Formular-Steuerelemente, die auf beiden Plattformen einwandfrei funktionieren).

5) Grundsätzliche Plattformunterschiede beachten

Berücksichtigen Sie die grundsätzlichen Unterschiede zwischen Windows und Macintosh. Benutzen Sie in Dokumentationen, Anleitungen, Fehlermeldungen usw. keine Ausdrücke wie unter anderem:
- "Windows" (das Betriebssystem von Macintosh heisst "Mac OS")
- "Explorer" (auf Macintosh gibt es keinen Windows Explorer)
- "Registry Editor" (es gibt keine Registry auf dem Macintosh)
- "WinZIP" (das favorisierte Komprimierungsprogramm auf Macintosh heisst "StuffIt")
- "F1" (die Hilfe wird bei einem Mac mit der HILFE-Taste aufgerufen)
- "Pentium PC" (bei Mac heisst ein Rechner je nach Modell Power Mac G3, G4, G4 Cube, G5, iMac, PowerBook G3, G4, iBook, eMac usw.)

6) Natives VBA verwenden

Wenn Sie der Arbeitsmappe VBA-Code hinzufügen, schreiben Sie den Programmcode wenn immer möglich mit 'reinem' VBA (man könnte auch 'native' VBA sagen). Benutzen Sie nur die Objekte, Methoden, Eigenschaften etc. aus der Excel-Objektbibliothek und - falls notwendig - aus der Office-Bibliothek. Verwenden Sie keine zusätzlichen Objekte wie das "File System Object", den "Windows Scipt Host", die "DS OLE Document Properties Object Library" oder dergleichen, weil all diese Bibliotheken explizit für Windows entwickelt wurden und folgedessen auf Macintosh nicht zur Verfügung stehen.

7) Automation vermeiden

Verwenden Sie im Programmcode möglichst keine Automation. Und wenn doch, dann höchstens mit anderen Microsoft Office-Programmen. Benutzen Sie in diesem Fall unbedingt das so genannte Late Binding-Verfahren. Bei Verwendung von Early Binding muss im VBA-Projekt ein Verweis auf die Objektbibliothek der anderen Anwendung gesetzt werden, was beim Plattformwechsel zu einem Problem führen könnte.

Mehr dazu siehe unter Automatisierung.

8) Projektverweise entfernen

Entfernen Sie vor der Veröffentlichung Ihres VBA-Programmes alle nicht benötigten Verweise im VBA-Projekt (Dialogfenster "Verweise" des VBA-Editors). Dadurch reduzieren Sie die Gefahr, dass Verweise auf windowsspezifische Objekt- und Klassen-Bibliotheken (*.olb, *.tlb, *.dll), ActiveX-Steuerelemente (*.ocx) und andere Systemdateien auf dem Macintosh zu einem Problem führen.

9) Unterschiede zwischen VBA 5 und VBA 6 berücksichtigen

Beachten Sie, dass es nicht nur zwischen VBA von Excel für Windows und VBA von Excel für Macintosh Unterschiede gibt, sondern auch zwischen den einzelnen Versionen von Excel für Windows beziehungsweise Excel für Macintosh, also zum Beispiel zwischen VBA von Excel 97 und VBA von Excel 2000, oder zwischen VBA von Excel 2001 und Excel 2004. Unter anderem gibt es in VBA 5 keine Replace-, Join- und Split-Funktion. Diese wurden erst mit VBA Version 6 eingeführt, d.h. in Excel 2000 für Windows beziehungsweise Excel 2004 für Macintosh.

Mehr dazu siehe unter Änderungen und Erweiterungen in VBA 6.0.

10) Externe Funktionen und Prozeduren vermeiden

Vermeiden Sie in VBA-Programmen die Verwendung von externen Funktionen und Prozeduren, auch als so genannte API-Funktionen bekannt. Unter Windows befinden sich derartige Funktionen/Prozeduren in DLL-Dateien (Dynamic Link Library), unter Macintosh dagegen in so genannten Code Ressourcen. Auch wenn eine bestimmte Funktion sowohl in einer DLL als auch in einer Code Ressource vorhanden ist, sollten Sie von ihrer Verwendung absehen.

11) Standard-Steuerelemente "Microsoft Forms" benutzen

Benutzen Sie auf Benutzerformularen ausschliesslich die Standard-Steuerelemente MSForms (Microsoft Forms Object Library). Binden Sie keine zusätzlichen ActiveX-Steuerelemente ein, wie beispielsweise das RefEdit-, Calendar- und DateTime Picker-Control, oder "exotische" Steuerelemente wie das Animated GIF-Control. Solche Steuerelemente sind so genannte ActiveX-Controls. Diese können nur unter Windows verwendet werden. Auf dem Macintosh stehen sie nicht zur Verfügung.

Mehr dazu siehe unter ActiveX-Controls und Steuerelemente.

12) VBA-Projekt nicht schützen

Wenn Sie nicht 100-prozentig sicher sind, dass das VBA-Programm in jeder Situation fehlerfrei funktioniert, sollten Sie das VBA-Projekt nicht mit einem Kennwort schützen. Sollte beispielsweise ein Dateipfad im Programmcode falsch sein, weil zum Beispiel irrtümlich die Schreibweise von Windows- anstatt diejenige von Macintosh-Pfaden benutzt wurde, so tritt beim Kompilieren des VBA-Codes noch kein Fehler auf. Der Code scheint folglich korrekt zu funktionieren, was jedoch nicht stimmt. Wenn später auf dem Macintosh - wegen dem falschen Pfad - ein Laufzeitfehler auftritt, so kann der Excel-Anwender den Fehler (ausnahmsweise) selber beheben. Bei einem geschützten VBA-Projekt ist das nicht möglich.

Mehr dazu siehe unter Wissenswertes über die Kompatibilität von VBA-Projekten: Empfehlungen.

13) Hardcodierte Informationen vermeiden

Statische, fest im Code einprogrammierte Informationen sind absolut tabu. Das gilt insbesondere für Datei- und Verzeichnispfade. Legen Sie besser eine Information, die je nach Plattform unterschiedlich ist beziehungsweise unterschiedlich sein kann, beispielsweise in einer Zelle in einem separaten Tabellenblatt ab. Zum Beispiel kann der Pfad "C:\Daten" in der Zelle A1 statt direkt im Programmcode stehen. Wann immer Sie den Pfad im Programm benötigen, können Sie ihn aus der Zelle holen. Sie können auch eine Textdatei verwenden, die beim Programmstart bzw. beim Öffnen der Arbeitsmappe eingelesen wird. Man kann die Daten auch in Form von Konstanten im VBA-Code ablegen, wobei diese Lösung nicht optimal ist, weil die Daten statisch definiert sind. Legen Sie die Informationen auf jeden Fall nicht in der Windows Registry ab, da es auf Macintosh keine Registry gibt.

Mehr dazu siehe unter Registrierungsdatenbank.

14) Arbeitsmappe rechnerunabhängig gestalten

Gestalten Sie Ihre Arbeitsmappe beziehungsweise Ihr VBA-Programm nicht nur plattformunabhängig, sondern ganz grundsätzlich rechnerunabhängig (Hardware, Betriebssystemversion, Bildschirmauflösung, Drucker, Laufwerke, Verzeichnisse, Excelversion usw.). Mit anderen Worten: Berücksichtigen Sie nicht nur die Unterschiede zwischen Excel für Windows und Excel für Macintosh beziehungsweise Windows und Macintosh. Beachten Sie auch die Unterschiede in Bezug auf Hardware (CPU-Geschwindigkeit, RAM etc.), Drucker/Druckertreiber, Dateisystem, Verzeichnisstruktur und dergleichen.

15) Pfadschreibweise beachten

Beachten Sie, dass unter anderem Pfade, Dateinamen und Verzeichnisnamen, die beispielsweise als Vorgabe-Einstellungen in eine Zelle eingetragen werden, je nach Plattform unterschiedlich heissen müssen. Ein Beispiel:

Der Excel für Windows-Benutzer kann wählen, in welches Verzeichnis die Exportdatei gespeichert werden soll. Der gewählte Verzeichnisname wird in eine Zelle eingetragen, damit er beim nächsten Öffnen der Mappe wieder vorhanden und beim Export vorgeblendet werden kann. Wenn nun die Mappe mit Excel für Macintosh geöffnet wird und ein Export durchgeführt werden soll, so besitzt der in der Zelle stehende Verzeichnisname die Syntax von Windows-Verzeichnisnamen. Der Name besitzt also die Syntax "<Laufwerk>:\<Verzeichnis>\<Unterverzeichnis>". Auf dem Macintosh dagegen müsste der Name die Syntax "<Festplatte>:<Verzeichnis>:<Unterverzeichnis>" besitzen. Es kommt somit zu einem Fehler.

16) Relative Pfade verwenden

Relative Pfade sind besser geeignet als absolute Pfade. Vor allem wenn die verwiesene Datei im gleichen Verzeichnis liegt wie die aktuelle Datei, wird lediglich der Dateiname angegeben - und nicht der gesamte Dateipfad. Der Vorteil ist dabei, dass keine Probleme infolge unterschiedlicher Pfadschreibweise auftreten können (vergleiche auch den vorangegangenen Punkt 15 "Pfadschreibweise beachten").

17) Defensiv programmieren

Benutzen Sie beim Schreiben Ihres VBA-Codes den defensiven Programmierstil. Das bedeutet vereinfacht ausgedrückt, dass der Programmcode so geschrieben wird, damit Laufzeitfehler gar nicht erst entstehen können. Wenn Sie beispielsweise mit VBA eine Arbeitsmappe öffnen (das wird gewöhnlich mit Workbooks.Open durchgeführt), ist es zwar korrekt, aber trotzdem unschön, wenn das Fehlschlagen der Open-Methode infolge nicht vorhandener Datei in einer Fehlerbehandlungsroutine abgefangen wird. Bedeutend besser und sicherer ist es, zuerst anhand der Dir-Funktion zu überprüfen, ob die zu öffnende Datei überhaupt existiert.

18) Fehlerbehandlungsroutinen einsetzen

In sämtlichen Sub- und Function-Prozeduren sollten Laufzeitfehler konsequent abgefangen und ausgewertet werden. Testen Sie nebst den unter Windows üblich auftretenden Fehlercodes auch sonstige Fehlercodes (d.h. Case Else bzw. Else). Der Grund ist, wil auf dem Macintosh manchmal andere Fehlermeldungen auftreten können als unter Windows.

Hier ein Beispiel: Bekanntlich besitzt die Fehlermeldung "Anwendungs- oder objektdefinierter Fehler" den Fehlercode 1004. Das kann man u.a. überprüfen, indem man im Direktfenster des VBA-Editors "?Error(1004)" oder "Error 1004" eingibt und ausführt. Auf dem Macintosh muss dies jedoch nicht der Fall sein, weil die gleiche Fehlermeldung einen anderen Fehlercode besitzen kann, nämlich die Nummer 32809. Wenn man beispielsweise die Anweisung "MsgBox Sheets(1).Name" ausführt (und es existiert eine aktive Arbeitsmappe mit einem oder mehreren Blättern), so tritt der Laufzeitfehler 32809 "Anwendungs- oder objektdefinierter Fehler" auf, falls sich auf dem ersten Arbeitsblatt ein ActiveX-Control befindet. In der Fehlerbehandlungsroutine der Prozedur sollte man folglich nicht nur den Fehlercode 1004 sondern auch den Code 32809 abfangen und behandeln.

Siehe auch unter Unterschiede bei VBA-Fehlermeldungen.

19) Unterschiedliche Ausführungsgeschwindigkeit beachten

Beachten Sie, dass Microsoft Excel für Macintosh erfahrungsgemäss geringfügig langsamer ist als Excel für Windows (aus was für Gründen auch immer das so ist). Wenn Ihr Programmcode unter Windows schon mehrere Minuten für seine Ausführung benötigt, so wird er auf dem Macintosh vermutlich noch einiges länger brauchen. Schreiben Sie daher den Programmcode möglichst optimiert, damit er auch auf nicht ganz so schnellen Rechnern zügig ausgeführt wird.

20) Einheitliches Datumswertesystem verwenden

Microsoft Excel 97 unterstützt zwei Datumswertesysteme, nämlich das 1900- und das 1904-Datumswertesystem. Für Arbeitsmappen wird je nach Plattform ein anderes Standard-Datumswertesystem verwendet: In Microsoft Excel für Windows das 1900-Datumswertesystem und in Microsoft Excel für Macintosh das 1904-Datumswertesystem.

Siehe auch unter 1900- und 1904-Datumssystem von Microsoft Excel.

Zum Kapitelanfang Zum Seitenanfang


Keine Unterschiede

Bevor auf die Unterschiede zwischen Windows und Macintosh beziehungsweise Excel für Windows und Excel für Macintosh eingegangen wird, hier kurz ein paar Dinge, die auf den beiden Plattformen gleich sind. Sie führen somit nicht zur Inkompatibilität von Arbeitsmappen.

To Top


Arbeitsmappen-Dateiformat
Microsoft Excel für Windows wie auch Microsoft Excel für Macintosh benutzt für seine Dateien das Dateiformat namens BIFF. Seit Excel 97 für Windows beziehungsweise Excel 98 für Macintosh wird das Format mit der Bezeichnung BIFF8 verwendet. Man kann also eine Arbeitsmappe auf beiden Plattformen benutzen, ohne zuerst die Arbeitsmappendatei (Dateinamenerweiterung "xls") konvertieren zu müssen.

Eine ausführliche Dokumentation des Excel-Dateiformates BIFF finden Sie hier:

Weitere Informationen

The SOSCQ Page: Excel-Dateiformat BIFF

To Top


Formular-Steuerelemente
Die Excel-Symbolleiste "Formular" stellt Steuerelemente zur Verfügung, die in ein Arbeitsblatt eingefügt werden können. Diese Formular-Steuerelemente können ohne Einschränkung sowohl in Excel für Windows als auch in Excel für Macintosh benutzt werden. Beachten Sie bitte, dass die Steuerelemente der Symbolleiste "Steuerelement-Toolbox" nur in Excel für Windows verwendet werden können.

To Top


OLE - Object Linking and Embedding
Die Object Linking and Embedding-Technologie (auf deutsch "Objekte verknüpfen und einbetten") funktioniert sowohl in Microsoft Office für Windows als auch in Microsoft Office für Macintosh. Es ist somit möglich, beispielsweise ein Microsoft Word-Dokument als Objekt in ein Tabellenblatt einer Excel-Arbeitsmappe einzufügen. Das Objekt wird gewöhnlich OLE-Objekt genannt, damit es von anderen einfügbaren Objekten wie zum Beispiel Zeichnungselementen, AutoFormen, Grafiken/Bildern usw. unterscheidbar ist.

In Microsoft Excel (und den meisten anderen Microsoft Office-Programmen) stehen drei Varianten zur Auswahl:
1. Einbetten eines neuen Objektes
2. Einbetten eines von einer Datei erstellten Objektes
3. Verknüpfen eines von einer Datei erstellten Objektes

Bei jeder Variante kann das Objekt zudem auch als Symbol in das Dokument eingefügt werden.

Zwecks besserer Verständlichkeit werden die drei Varianten anhand des zuständigen Dialogfensters "Objekt" nachfolgend kurz vorgestellt.

 

 

Einbetten eines neuen Objektes

Ein neues Objekt wird eingebettet, indem Sie den "Objekt"-Dialog öffnen (Menübefehl Einfügen/Objekt), auf der Registerseite "Neu erstellen" den gewünschten Objekttyp in der Liste der verfügbaren Objekttypen auswählen und dann auf OK klicken.

Neues Objekt erstellen und einbetten
Abbildung: Neues Word-Dokument-Objekt erstellen und einbetten

 

Einbetten eines von einer Datei erstellten Objektes

Ein von einer Datei erstelltes Objekt wird eingebettet, indem Sie den "Objekt"-Dialog öffnen (Menübefehl Einfügen/Objekt), auf der Registerseite "Von Datei erstellen" den Dateinamen einer existierenden Datei eintragen und dann auf OK klicken.

Objekt von Datei erstellen und einbetten
Abbildung: Objekt von einer Word-Dokument-Datei erstellen und einbetten

 

Verknüpfen eines von einer Datei erstellten Objektes

Ein von einer Datei erstelltes Objekt wird verknüpft, indem Sie den "Objekt"-Dialog öffnen (Menübefehl Einfügen/Objekt), auf der Registerseite "Von Datei erstellen" den Dateinamen einer existierenden Datei eintragen, die Option "Verknüpfen" aktivieren und dann auf OK klicken. Das Objekt erhält in diesem Fall eine Verknüpfung mit der Quelldatei. Die Verknüpfung wird dadurch im Dialogfenster "Verknüpfungen" (Menübefehl Bearbeiten/Verknüpfungen) angezeigt.

Objekt von Datei erstellen und verknüpfen
Abbildung: Objekt von einer Word-Dokument-Datei erstellen und verknüpfen

 

Bitte beachten: Über den "Objekt"-Dialog (Registerseite "Neu erstellen") lassen sich auch Steuerelemente einfügen, beispielsweise das 'Kalender-Steuerelement'. Derartige Steuerelemente werden als so genannte ActiveX-Controls bezeichnet. Diese Möglichkeit existiert (bzw. funktioniert) jedoch nur in Microsoft Excel für Windows. Auf Macintosh können ActiveX-Controls nicht verwendet werden.

To Top


DDE-Verknüpfungen
Text...

Dynamic Data Exchange (DDE; Dynamischer Datenaustausch) ist ein gängiges Protokoll für den Datenaustausch zwischen Windows-basierten Programmen.

Verknüpfungen-Dialog
Abbildung: Verknüpfungen-Dialog mit DDE-Verknüpfung

To Top


Datenbankabfragen, Web-Queries und externe Datenbereiche
Microsoft Excel unterstützt die Einbindung von externen Daten. Sowohl in Excel für Windows als auch in Excel für Macintosh können dazu Datenbank- und Web-Abfragen benutzt werden. Auch Pivot-Tabellen, die Daten aus einer anderen Arbeitsmappe (so genannte "MS Excel-Datenbank/-Liste") oder einer externen Datenquelle (Datenbank, Textdatei oder dergleichen) beziehen, können eingesetzt werden.

Immer wenn externe Daten dargestellt werden, egal ob durch eine Datenbankabfrage, eine Web-Abfrage oder eine Pivot-Tabelle, spricht man von einem so genannten externen Datenbereich. Solche externen Datenbereiche funktionieren wie gesagt auf beiden Plattformen. Beim Bearbeiten einer unter Windows erstellten Arbeitsmappe in Excel für Macintosh muss man jedoch beachten, dass die Wahrscheinlichkeit hoch ist, dass Datenquelle, Verbindungsinformation und SQL-String nicht mehr stimmen, weil diese drei Merkmale plattformspezifische Inhalte besitzen. Das Gleiche gilt auch für Macintosh-Arbeitsmappen, die mit Excel für Windows bearbeitet werden.

Beispiele:

Wenn eine Pivot-Tabelle Daten aus einer anderen Arbeitsmappe ("MS Excel-Datenbank/-Liste") darstellt, enthält die Eigenschaft SourceData einen externen Bezug.

 

Bei Quelle "Excel":
MsgBox ActiveSheet.PivotTables(1).PivotCache.SourceData

MsgBox ActiveSheet.PivotTables(1).SourceData

[PivoTest.xls]Daten!Z5S1:Z26S5

'\Daten\[Pivot-Test 2.xls]Tabelle2'!Z1S1:Z7S3

Bei Quelle "Datenbank":
MsgBox ActiveSheet.PivotTables(1).PivotCache.Connection

ODBC;DefaultDir=C:\NeueDaten\SOSCQ;Driver={Microsoft Text-Treiber (*.txt; *.csv)};DriverId=27;Extensions=asc,csv,tab,txt;FIL=text;MaxBufferSize=2048;MaxScanRows=25;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;

MsgBox ActiveSheet.PivotTables(1).PivotCache.SQL

SELECT `Komma getrennte Datei2`.Name, `Komma getrennte Datei2`.Vorname, `Komma getrennte Datei2`.Anzahl FROM `Komma getrennte Datei2.csv` `Komma getrennte Datei2` ORDER BY `Komma getrennte Datei2`.Name

 

Beispiel von Connection einer Datenbank-Abfrage:
ODBC;DBQ=C:\Daten;DefaultDir=C:\Daten;Driver={Microsoft Text Driver (*.txt; *.csv)};DriverId=27;Extensions=None,asc,csv,dat,log,tab,txt;FIL=text;MaxBufferSize=2048;MaxScanRows=25;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;

Beispiel von SQL einer Datenbank-Abfrage:
SELECT Textdatei1.Name, Textdatei2.Vorname_Nachname FROM Textdatei1.txt Textdatei1, Textdatei2.txt Textdatei2 WHERE Textdatei1.Name = Textdatei2.Vorname_Nachname

Beispiel von Connection einer Web-Abfrage:
URL;http://webservices.pcquote.com/cgi-bin/exceldow.exe?

 

PivotTables

QueryTables

SourceData

Connection

SQL

 

Pivot-Tabellen-Assistent
Abbildung: Pivot-Tabellen-Assistent

 

To Top


Microsoft Query
Das Utility Microsoft Query existiert auch auf den Macintosh. Microsoft Query X for Mac verwendet ODBC (Open Database Connectivity), damit Sie Daten aus Datenbanken in Microsoft Excel X importieren können. Sie können Microsoft Query X zum Erstellen von neuen Abfragen und zum Aktualisieren von bestehenden Abfragen einsetzen, die mit einer anderen Version von Microsoft Excel, beispielsweise mit Excel 98 für Macintosh, Excel 2001 für Macintosh oder Excel für Windows erstellt wurden.

Weitere Informationen erhalten Sie hier:
http://www.microsoft.com/downloads/details.aspx?FamilyID=e8c2ab08-46e0-4536-bed5-97a997e2436e&displaylang=en

ODBC integration in Microsoft Excel v. X
Do you have an external data range query that you created in another version of Excel that you would like to refresh in Excel X? If so, we have good news for you. Excel X, version 10.1.0, reintroduces Open Database Connectivity (ODBC) integration with Excel. Excel X, version 10.1.0, is included in the latest Office update.

After you install the latest version of Excel X, Microsoft Query X for Mac, and the appropriate ODBC drivers, you can use Query X for Mac to create new queries or refresh existing queries that were created in other versions of Excel, such as Excel 98, Excel 2001, and Excel for Windows.

Informationen zum neuesten Office-Update erhalten Sie hier:
www.microsoft.com/mac/resources/resources.aspx?pid=resourcekits&rk=officex&article=/mac/download/misc/make_office_current.xml

Using Microsoft Office v. X
Weitere Informationen über den Einsatz von ODBC finden Sie hier:
http://www.microsoft.com/mac/otherproducts/officex/using.aspx?pid=usingofficex&type=howto&article=/mac/LIBRARY/feature_articles/officex/xl_ODBC.xml

To Top


Microsoft Formeleditor
Der Microsoft Formeleditor (Microsoft Equation) steht sowohl in Microsoft Office für Windows als auch in Microsoft Office für Macintosh zur Verfügung. Sie können daher beispielsweise in Microsoft Excel für Macintosh ein Formelobjekt in ein Tabellenblatt einer Excel-Arbeitsmappe einfügen und anschliessend die Arbeitsmappe mit Excel für Windows öffnen, ohne dass dabei das Formelobjekt verloren geht.

Zum Kapitelanfang Zum Seitenanfang


Zusatzprogramme und Komponenten von Microsoft Office

Microsoft Office umfasst als Software-Paket mehrere Programme (z.B. Excel, Word und PowerPoint) und Programmkomponenten (zum Beispiel Microsoft Formel-Editor und Microsoft Organisationsdiagramm). Diese können zum Erstellen von Objekten benutzt werden, die man in ein Office-Dokument, beispielsweise in eine Arbeitsmappe einfügen kann. Ein derartiges Objekt wird als OLE-Objekt bezeichnet, weil es die OLE-Technologie verwendet (OLE = Object Linking and Embedding) und in einem Dokument eingebettet bzw. verknüpft ist.

 

Die Zusatzprogramme sind auf einem Windows-Rechner gewöhnlich im Unterordner "Microsoft Shared" des "Programme\Gemeinsame Dateien"-Verzeichnisses abgelegt. Jedes Programm besitzt dabei einen eigenen Ordner:

Programm Ordner
Microsoft Formel-Editor (Equation) Equation
Microsoft Map Datamap
Microsoft Graph MSGraph
Microsoft Organisationsdiagramm Orgchart
Microsoft Clip Gallery Artgalry
Microsoft Word Art Wordart
Microsoft Query MSQuery

 

Die Objekte werden in Microsoft Excel über den Objekt-Dialog erstellt und in ein Arbeitsblatt eingefügt (Menü Einfügen/Objekt):

Liste der Objekttypen im Objekt-Dialog von Microsoft Excel
Abbildung: Liste der verfügbaren Objekttypen im Objekt-Dialog von Microsoft Excel

 

Zum Einfügen von ClipArt- und Organigramm-Objekten stehen separate Menübefehle bereit. Diese befinden sich im Untermenü Grafik:

Einfügen-Menü von Excel
Abbildung: Einfügen-Menü von Excel (Ausschnitt)

 

 

 

Hier eine Aufstellung der wichtigsten Programme, die OLE-Objekte erzeugen können (Liste nicht abschliessend):

Programm Objekt Objekt-Typ Verbindung/Bemerkung Verfügbarkeit
Microsoft Formel-Editor (Equation) Formel Eingebettet =EINBETTEN("Equation";"") Windows: Ja, Macintosh: Ja
Microsoft Map Landkarte (Map) Eingebettet =EINBETTEN("MSMap";"") Windows: Ja, Macintosh: Nein
Microsoft Graph Diagramm Eingebettet =EINBETTEN("MSGraph.Chart";"") Windows: Ja, Macintosh: Ja (1)
Microsoft Organisationsdiagramm Organigramm (Org Chart) Eingebettet =EINBETTEN("OrgChart";"") Windows: Ja, Macintosh: ? (2)
Microsoft Clip Gallery Clip/ClipArt Eingebettet =EINBETTEN("MS_ClipArt_Gallery";"") Windows: Ja, Macintosh: Ja (3)
Microsoft Word Art WordArt Eingebettet =EINBETTEN("MSWordArt";"") Windows: Ja, Macintosh: Ja
Microsoft Word Word-Dokument Eingebettet =EINBETTEN("Word.Document";"") Windows: Ja, Macintosh: Ja
Microsoft Word Word-Dokument Verknüpft =Word.Document.8|'<Datei>'!'''' Windows: Ja, Macintosh: Ja
Microsoft Word Word-Grafik (4) Eingebettet =EINBETTEN("Word.Picture";"") Windows: Ja, Macintosh: Ja
Microsoft PowerPoint PowerPoint-Präsentation Eingebettet =EINBETTEN("PowerPoint.Show";"") Windows: Ja, Macintosh: Ja
Microsoft PowerPoint PowerPoint-Präsentation Verknüpft =PowerPoint.Show.8|'<Datei>'!'''' Windows: Ja, Macintosh: Ja
Microsoft PowerPoint PowerPoint-Folie (5) Eingebettet =EINBETTEN("PowerPoint.Slide";"") Windows: Ja, Macintosh: Ja
Microsoft Query Datenbank- oder Web-Abfrage Externer Datenbereich (via ODBC) Windows: Ja, Macintosh: Ja

Anmerkungen:
1) Auf Macintosh vermutlich verfügbar.
2) Nicht bekannt, ob auf Macintosh verfügbar.
3) Auf Macintosh vermutlich verfügbar.
4) Eine Word-Grafik kann nur eingebettet, jedoch nicht verknüpft werden.
5) Eine PowerPoint-Folie kann nur eingebettet, jedoch nicht verknüpft werden.

 

 

Zum Seitenanfang


Objekte, die eingebettet werden können

» Microsoft Formel-Editor (Microsoft Equation)

Formel

=EINBETTEN("Equation.2";"")

» Microsoft Map

Landkarte

=EINBETTEN("MSMap.8";"")

» Microsoft Graph

Diagramm

=EINBETTEN("MSGraph.Chart.8";"")

» Microsoft Organisationsdiagramm (Microsoft Organization Chart)

Organigramm

=EINBETTEN("OrgChart";"")

» Microsoft ClipArt (Microsoft Clip Gallery)

ClipArt

=EINBETTEN("MS_ClipArt_Gallery";"")

» Microsoft WordArt

WordArt

=EINBETTEN("MSWordArt.2";"")

Zum Seitenanfang


Objekte, die eingefügt werden können

» Microsoft WordArt

WordArt

» Formular-Steuerelement

Formular-Steuerelement

» Steuerelement-Toolbox

Microsoft Forms-Steuerelement

» ActiveX-Control

Weiteres Steuerelement

» AutoForm

AutoForm-Objekt

» Zeichnungselement

Zeichnungsobjekt

» Textfeld

Textfeld-Objekt

Zum Seitenanfang


Andere Objekte

» Microsoft Query

Datenbank-Abfrage

 

Zum Kapitelanfang Zum Seitenanfang


Grundsätzliche Unterschiede

Es existieren mehrere grundsätzliche Unterschiede zwischen Windows und Macintosh, die meistens technisch durch das jeweilige Betriebssystem beziehungsweise Dateisystem bedingt sind.

Zwecks besserer Übersichtlichkeit sind die Unterschiede in vier Gruppen eingeteilt:
 Unterschiede zwischen Windows und Macintosh
 Unterschiede zwischen Excel für Windows und Excel für Macintosh
 Unterschiede zwischen VBA für Windows und VBA für Macintosh
 Sonstige Unterschiede

Zum Seitenanfang


Unterschiede zwischen Windows und Macintosh

Nachfolgend ein paar wichtige Unterschiede zwischen den beiden Plattformen:
- Laufwerksnamen
- Dateipfade
- Erlaubte Zeichen in Dateinamen
- Relative Verzeichnispfade
- Registrierungsdatenbank (Registry) / Initialisierungsdatei einer Anwendung
- System-Bibliotheken / Code Ressourcen
- Grafik-Dateiformate
- ActiveX-Controls
- Sonderzeichen
- Schriftarten

To Top


Laufwerksnamen
Auf einem Macintosh-Computer besitzt die Festplatte die Bezeichnung "HD" (HD steht für "HardDisk"). Unter Windows wird ein einzelner Buchstabe als Laufwerksbezeichnung verwendet, in der Regel "A" und "B" für Diskettenlaufwerke, und "C" bis "Z" für lokale oder verbundene Server-Laufwerke, CD ROM-/DVD-Laufwerke, Wechselplatten, RAM-Disks, Speicherkarten (z.B. USB Memory Sticks) und dergleichen. Wenn der Benutzer beispielsweise eine Datei auf dem Root einer Festplatte speichern möchte, so muss er unter Windows mindestens zwei Zeichen eingeben (z.B. "C:"), auf einem Macintosh dagegen mindestens drei Zeichen (z.B. "HD:").

Beispiel
Wenn beispielsweise die OK-Schaltfläche auf einem Benutzerformular erst dann zugelassen werden soll, wenn der Benutzer eine genügend lange Laufwerksbezeichnung in ein Textfeld eingegeben hat, so muss man im Code die aktuell verwendete Plattform berücksichtigen.

TODO

Private Sub txtDriveLetter_Change()
  If Application.OperatingSystem Like "*Windows*" Then

    'Windows
    If Len(txtDriveLetter.Text) > 1 Then
      cmdOK.Enabled = True
    Else
      cmdOK.Enabled = False
    End If

  Else
    'Macintosh
    If Len(txtDriveLetter.Text) > 2 Then
      cmdOK.Enabled = True
    Else
      cmdOK.Enabled = False
    End If

  End If
End Sub

Informationen über das Abfragen des Betriebssystems finden Sie unter Betriebssystem herausfinden.

To Top


Dateipfade
In Dateipfaden wird je nach Plattform ein anderes Zeichen zum Unterteilen der einzelnen Pfadbestandteile verwendet.

Plattform Merkmal
Windows Die Bestandteile eines Pfades werden durch umgekehrte Rückstriche (\) getrennt.

Beispiel: C:\Dateien\Excel\EineMappe.xls

Macintosh Die Bestandteile eines Pfades werden durch Doppelpunkte (:) getrennt.

Beispiel: HD:Dateien:Excel:EineMappe

Wenn Sie beispielsweise in einem Eingabefeld dem Benutzer einen Pfad vorblenden oder den Dateinamen aus einem Dateipfad extrahieren möchten, so müssen Sie das je nach Plattform korrekte Pfadtrennzeichen benutzen. Bei Microsoft Excel können das zu verwendende Trennzeichen anhand der PathSeparator-Eigenschaft herausfinden (siehe auch unter PathSeparator-Eigenschaft).

Tipp: Dateipfad in Dateiname und Pfadname aufteilen ohne das Pfadtrennzeichen zu kennen
Man kann den Dateinamen aus einem Dateipfad ermitteln, ohne das Pfadtrennzeichen zu kennen. Diese Lösung ist vor allem dann nützlich, wenn der VBA-Code nicht ausschliesslich in Microsoft Excel ausgeführt werden soll. In Microsoft Word existiert die PathSeparator-Eigenschaft ebenfalls. In Microsoft PowerPoint dagegen nicht; und zwar weder in Version 98, 2000, 2002 noch in Version 2003.

Mit Dir kann Pfadname und Dateiname aus einem Dateipfad ermittelt werden. Der folgende Programmcode funktioniert auf beiden Plattformen:

Sub SplitPathAndFile()
  Dim strFull As String
  strFull = Application.GetOpenFilename
  MsgBox "Pfad und Datei: " & strFull
  MsgBox "Datei: " & Dir(strFull)
  MsgBox "Pfad: " & Left(strFull, Len(strFull) - Len(Dir(strFull)) - 1)
End Sub

Siehe auch Codebeispiel 2 "Plattformunabhängiges Pfadtrennzeichen bei Bedarf anfügen".

To Top


Erlaubte Zeichen in Dateinamen
Nicht zu unterschätzen sind die Richtlinien für Dateinamen, insbesondere die erlaubten beziehungsweise verbotenen Zeichen in Dateinamen.

Je nach Plattform sind bestimmte Zeichen in Dateinamen verboten. Sie müssen dies beim (erstmaligen) Speichern einer Arbeitsmappe unbedingt berücksichtigen.

Plattform Merkmal
Windows Anführungszeichen ("), Schrägstrich (/), umgekehrter Schrägstrich (\), Doppelpunkt (:), vertikale Linie (|), Kleiner als (<) und Grösser als (>).
Zudem können auch das Fragezeichen (?) und der Stern (*) nicht verwendet werden, da diese Zeichen in Windows als Platzhalter dienen.
Macintosh Doppelpunkt (:)

Auf dem Macintosh ist im Dateiname lediglich der Doppelpunkt nicht erlaubt.

Zusammenfassung
Wenn Sie die Arbeitsmappe mit Microsoft Excel für Macintosh speichern, sollten bzw. dürfen Sie die Zeichen
- Anführungszeichen ("),
- Schrägstrich (/),
- Umgekehrter Schrägstrich (\),
- Vertikale Linie (|),
- Kleiner als (<),
- Grösser als (>),
- Fragezeichen (?) und
- Stern (*)
nicht im Dateiname benutzen, weil unter Windows diese Zeichen für Dateinamen verboten sind.

Die eckige Klammer ([ und ]) ist zwar unter Windows erlaubt, aber in Microsoft Excel für Windows verboten (vergleiche Fehlermeldung-Abbildung weiter unten).

Diese Zeichen sind ebenfalls zu vermeiden:
- Pound (#), weil dieses Zeichen Probleme hervorruft, wenn es in Hyperlinks verwendet wird.
- Ausrufezeichen (!), weil dieses Zeichen in Verknüpfungsinformationen verwendet wird.
- Apostroph ('), weil dieses Zeichen zu Problemen bei externen Bezügen führen kann.

Wenn Sie unbedingt andere Zeichen als Buchstaben und Ziffern verwenden wollen, dann nehmen Sie diese Zeichen:
- Leerzeichen
- Runde Klammer
- Gleichheitszeichen (=)
- Minus-Zeichen/Bindestrich (-)
- Plus-Zeichen (+)
- Unterstrich (_)
- Dollarzeichen ($)
- At-Zeichen (@)
- Komma (,)
- Semikolon (;)

Diese Fehlermeldung tritt in Microsoft Excel für Windows auf, wenn ein Dateiname beispielsweise ein nicht erlaubtes Zeichen enthält:

Nicht erlaubte Zeichen in Dateinamen (Excel für Windows)
Abbildung: Nicht erlaubte Zeichen in Dateinamen (Microsoft Excel)

Diese Fehlermeldung erscheint im Windows Explorer, wenn eine Datei umbenannt und dabei ein nicht erlaubtes Zeichen verwendet wird:

Nicht erlaubte Zeichen in Dateinamen (Windows)
Abbildung: Nicht erlaubte Zeichen in Dateinamen (Windows)

Beispiel
Da unter Windows/Macintosh beziehungsweise in Microsoft Excel für Windows/Macintosh nicht die gleichen Zeichen erlaubt respektive verboten sind, muss man diese Unterschiede auch im VBA-Programmcode berücksichtigen. Beispielsweise in der Validierungsroutine, die überprüft, ob ein vom Benutzer eingegebene Dateiname grundsätzlich gültig ist. Dieses Beispiel stellt eine Musterlösung vor:

Sub CheckFilename()
  Dim strFile As String

  Dim intCounter As Integer
  strFile = InputBox("Bitte Dateiname eingeben:", "Dateiname")
  If Application.OperatingSystem Like "*Windows*" Then
    'Windows
    For intCounter = 1 To Len(strFile)
      If InStr("?*<>|/\:", Mid$(strFile, intCounter, 1)) > 0 Or InStr(Chr$(34), Mid$(strFile, intCounter, 1)) > 0 Then
        MsgBox "Bitte geben Sie einen gültigen Dateinamen ein." & vbCrLf & vbCrLf & _

          "Dateinamen dürfen keines dieser Zeichen enthalten:" & vbCrLf & "? * / \ : | < > """, vbInformation
        Exit Sub
      End If
    Next intCounter

  Else
    'Macintosh
    If InStr(":", strFile) > 0 Then
      MsgBox "Bitte geben Sie einen gültigen Dateinamen ein." & vbCrLf & vbCrLf & _

        "Dateinamen dürfen keinen Doppelpunkt (:) enthalten.", vbInformation
      Exit Sub
    End If
  End If

End Sub

Siehe auch Codebeispiel 1 "Gültigkeit eines vom Benutzer eingegebenen Dateinamens überprüfen".

Informationen über das Abfragen des Betriebssystems finden Sie unter Betriebssystem herausfinden.

Verwandte Themen
Unterschiede zwischen Windows und Macintosh: Sonderzeichen

To Top


Relative Verzeichnispfade
Zum Wechseln relativer Verzeichnisse werden unter Microsoft Windows und auf dem Macintosh unterschiedliche Symbole verwendet.

Plattform Merkmal
Windows Zum Wechseln des aktuellen Verzeichnisses eine Ebene nach oben werden zwei Punkte (..) verwendet.

Beispiel: ChDir ".."

Macintosh Zum Wechseln des aktuellen Verzeichnisses eine Ebene nach oben werden zwei Doppelpunkte (::) verwendet.

Beispiel: ChDir "::"

Beispiel
Auf diese Weise wird - abhängig von der jeweiligen Plattform - korrekt ein Verzeichnis nach oben gewechselt:

Sub MoveOneDirectoryUp()
  If Application.OperatingSystem Like "*Windows*" Then

    'Windows
    ChDir ".."
  Else

    'Macintosh
    ChDir "::"
  End If
End Sub

Informationen über das Abfragen des Betriebssystems finden Sie unter Betriebssystem herausfinden.

Ausführliche Informationen über relative Pfade und die ChDir-Anweisung finden Sie hier:

Weitere Informationen

The SOSCQ Page: Relative Pfade

The SOSCQ Page: VBA-Befehle und -Funktionen

To Top


Registrierungsdatenbank (Registry) / Initialisierungsdatei einer Anwendung
Auf einem Macintosh-System gibt es keine Registry, wie es bei Windows-Systemen der Fall ist. Dennoch können die Anweisungen und Funktionen GetSetting, GetAllSettings, SaveSetting und DeleteSetting unverändert auf beiden Plattformen eingesetzt werden. Auf dem Macintosh-Rechner werden alle Zugriffe an die Initialisierungsdatei der jeweiligen Anwendung umgeleitet. Unter Windows wird bei den oben erwähnten Befehlen für das Argument Appname der Name der Anwendung angegeben. Auf dem Macintosh ist dies der Name der Initialisierungsdatei im Ordner Preferences aus dem Systemordner.

Hier ein Beispiel, wie die Initialisierungsdatei von Microsoft Word 98 für Macintosh aussieht:
  WD98: What Is Stored in the Word Settings (8) File
  http://support.microsoft.com/?scid=kb;EN-US;180850

To Top


System-Bibliotheken (DLL; Dynamic Link Library) / Code Ressourcen
In Windows gibt es eine Vielzahl DLL-Dateien. Als Programmierer kann man über eine spezielle Schnittstelle (API; Application Programming Interface) auf die in einer DLL-Datei enthaltenen Prozeduren und Funktionen zugreifen. DLLs sind eine windowsspezifische "Erfindung", d.h. dass auf Macintosh-Systemen keine DLLs existieren. Auf der Macintosh-Plattform gibt es als Pendant so genannte Code Ressourcen, auf die man ebenfalls via API zugreifen kann.

To Top


Grafik-Dateiformate
Die beiden Plattformen Windows und Macintosh verwenden unterschiedliche Dateiformate für Grafiken. Während unter Windows das weit verbreitete Format namens BMP zum Einsatz kommt, wird auf dem Macintosh üblicherweise das Dateiformat PICT verwendet.

Grafikformat "Macintosh PICT"
Abbildung: Dateityp-Auswahl mit Format "Macintosh PICT"

Dateien mit dem Grafikformat PICT besitzen unter Windows die Dateinamenerweiterung "pct".

TODO: Grafikfilter, Grafik einfügen, Hintergrundbild

In Bezug auf Benutzerformulare (UserForms in einem VBA-Projekt) müssen Sie beachten, dass das PICT-Format, aber auch andere Grafikformate, zu schwerwiegenden Problemen führen können.

Mehr über diese Problematik erfahren Sie hier:
  MacXL: "Invalid Picture" When Setting Picture Property
  http://support.microsoft.com/?scid=kb;en-us;175918

To Top


ActiveX-Controls
Auf dem Macintosh existieren grundsätzlich keine ActiveX-Controls (auch OCX-Controls genannt). Sie können folglich nicht verwendet werden.

Bei Microsoft Excel befinden sich die ActiveX-Controls, die in ein Arbeitsblatt eingefügt werden können, auf der Symbolleiste "Steuerelement-Toolbox":

Steuerelement-Toolbox
Abbildung: Steuerelement-Toolbox

In Bezug auf Microsoft Excel bedeutet dies somit, dass die Steuerelemente der "Steuerelement-Toolbox" auf keinen Fall in ein Arbeitsblatt einfügt werden dürfen. Ausser, die Arbeitsmappe wird ausschliesslich in Microsoft Excel für Windows benutzt.

Beim VBA-Editor befinden sich die Steuerelemente auf dem Werkzeugsammlung-Fenster. Alle Steuerelemente, die aus der Microsoft Forms Objekt-Bibliothek stammen, können benutzt, sprich auf einem Benutzerformular angeordnet werden. Sie funktionieren sowohl in Microsoft Excel für Windows als auch in Microsoft Excel für Macintosh. Alle andere, zusätzliche Steuerelemente dürfen dagegen grundsätzlich nicht verwendet werden.

Werkzeugsammlung
Abbildung: Werkzeugsammlung

Dieser Artikel enthält Informationen über das Problem beim Verwenden von ActiveX-Controls auf dem Macintosh:
  MacXL: Error When You Paste ActiveX Controls or Run a Macro
  http://support.microsoft.com/?scid=kb;en-us;274222

Verwandte Themen
Unterschiede bei Benutzerformularen und Steuerelementen: Steuerelemente

To Top


Sonderzeichen
Auch in Bezug auf die zur Verfügung stehenden Zeichen/Zeichensätze gibt es Unterschiede, insbesondere bei Sonderzeichen. Betroffen ist sowohl die Anzeige als auch die Behandlung solcher Zeichen in Kennwörtern.

Anzeige von Sonderzeichen auf Arbeitsblättern
Einige Windows-Schriften enthalten spezielle Zeichen wie beispielsweise solche zum Darstellen von Fraktionen (z.B. 1/4, 1/2 und 3/4). In Microsoft Word sind diese Zeichen standardmässig verfügbar, und zwar als normaler Text. Man kann sie jederzeit über den Menübefehl Einfügen/Sonderzeichen in ein Dokument einfügen. Die Abbildung zeigt das Dialogfenster "Sonderzeichen" mit selektiertem Zeichen '¼':

Dialogfenster "Sonderzeichen" (Microsoft Word)
Abbildung: Sonderzeichen einfügen (Microsoft Word)

Die automatische Benutzung von Fraktionen kann man zudem einstellen, indem im AutoKorrektur-Dialog die dafür zuständige Ersetzen-Option "Brüche (1/2) durch Sonderzeichen (½)" aktiviert. Diese Option gibt es übrigens gleich zwei Mal im AutoKorrektur-Dialogfenster, nämlich auf der Registerseite "AutoFormat während der Eingabe" und auf der Seite "AutoFormat". Hier eine Abbildung des Dialogfensteres "AutoKorrektur" von Microsoft Word (Version 97):

Dialogfenster "AutoKorrektur" (Microsoft Word)
Abbildung: AutoKorrektur-Dialog (Microsoft Word)

Auch in Microsoft Excel für Windows kann man die Zeichen 1/2 und 1/4 sehr einfach in eine Zelle, in ein Textfeld oder in ein anderes Textobjekt schreiben, indem man die Tastenkombination Alt+171 (=½) beziehungsweise Alt+172 (=¼) drückt.

Auf dem Macintosh dagegen gibt es diese beiden Zeichen nicht, weil sie grundsätzlich in den Macintosh-Schriften fehlen. Wenn man ein solches Zeichen in ein Word für Windows-Dokument einfügt und das Dokument anschliessend mit Word für Macintosh öffnet, so wird das Zeichen automatisch in einen Unterstrich (_) konvertiert. Das gleiche passiert mit dem Zeichen in einer Excel-Arbeitsmappe, wenn man das Zeichen in Microsoft Excel für Windows benutzt und dann die Arbeitsmappe mit Microsoft Excel für Macintosh öffnet.

Wenn Sie auf beiden Plattformen beispielsweise das Zeichen ½ benötigen und nicht als 1/2 darstellen möchten, so bleibt Ihnen nichts anderes übrig, als mit dem Microsoft Formeleditor (Microsoft Equation) ein Formel-Objekt mit enthaltenem "Diagonal angeordneter Bruch" in das Arbeitsblatt einzubetten. Da es den Formeleditor auch in Microsoft Office für Macintosh gibt, wird das Zeichen auf beiden Systemen korrekt ausgegeben.

Mehr zu diesem Thema siehe hier:
  MacOFF: Fractions Converted to Underscore Characters
  http://support.microsoft.com/?scid=kb;en-us;193979

Behandlung von Sonderzeichen in Kennwörtern
Nicht zu unterschätzen ist, dass bestimmte Sonderzeichen zu Problemen führen können, wenn man sie in einem Kennwort benutzt. Vielleicht haben Sie schon mal diese Fehlermeldung gesehen, sie aber möglicherweise nicht näher beachtet:

Kennwort enthält spezielle Zeichen-Fehlermeldung
Abbildung: Fehler-/Warnmeldung wegen Sonderzeichen im Kennwort

Die Fehlermeldung erscheint, wenn man ein Kennwort festlegt und in diesem Kennwort ganz bestimmte Zeichen verwendet. Betroffen sind alle Kennwörter in Microsoft Excel, also unter anderem das Lese-/Schreibkennwort, das Schreibschutzkennwort sowie das Blattschutzkennwort. Die beiden folgenden Abbildungen zeigen die jeweiligen Dialogfenster.

Speichern-Optionen-Dialog
Abbildung: Speichern-Optionen-Dialog

Blatt schützen-Dialog
Abbildung: Blatt schützen-Dialog

Weitere betroffene Kennwörter sind das Arbeitsmappenschutz- und das Freigabeschutzkennwort.

Sobald man eines oder mehrere der folgenden Zeichen im Kennwort verwendet, tritt die oben vorgestellte Fehlermeldung auf:
- °
- ç
- §
- ¦
- ¬
- ¢
- ´
- ¨
- £
- é
- è
- à

- Das Zeichen ^ ist verwendbar, wenn es nicht in Kombination mit einem Vokal (a, e, i, o, u) benutzt wird.
- Das Zeichen ~ ist verwendbar, wenn es nicht in Kombination mit den Buchstaben n, a und o benutzt wird.

Verwandte Themen
Unterschiede zwischen Windows und Macintosh: Erlaubte Zeichen in Dateinamen
Tabellenfunktion ZEICHEN
Tabellenfunktion CODE

To Top


Schriftarten
Bezüglich Schriftarten gibt es ebenfalls Dinge, die man ganz allgemein berücksichtigen sollte. Denken Sie vor allem daran, dass in Excel für Windows und Excel für Macintosh nicht die gleiche Schriftart als Standardschrift verwendet wird.

Excelversion Standardschrift
Excel für Windows Arial 10 Punkte (nicht-fett, nicht-kursiv)
Excel für Macintosh Geneva 10 Punkte (nicht-fett, nicht-kursiv)

Wenn Sie beispielsweise ein VBA-Programm auf dem Macintosh schreiben, sollten Sie einer Zelle oder einem Objekt mit Text nicht explizit die Schriftart Geneva zuweisen (obwohl es die Standardschriftart von Excel für Macintosh ist). Vermeiden Sie daher Codezeilen wie beispielsweise diese:

ActiveCell.Font.Name = "Geneva"

Das Problem einer derartigen Codezeile ist, dass sie in Microsoft Excel für Windows zwar ohne Fehlermeldung ausgeführt wird. Weil aber auf einem Windows-Computer standardmässig die angegebene Schriftart nicht existiert, verwendet Excel für Windows für die Anzeige automatisch eine andere, ähnliche Schriftart. Im Falle von Geneva ist es gewöhnlich die Schriftart Arial. Die Zelle besitzt jedoch nach wie vor die Schriftart Geneva. Dies hat zur Folge, dass in der Arbeitsmappe eine Schrift verwendet wird, die auf dem Windows-Rechner nicht installiert ist. Das gilt natürlich auch umgekehrt, also für die in Windows benutzten Schriftarten, die auf dem Macintosh nicht existieren.

Bedenken Sie, dass man mit VBA-Programmcode nicht nur bei Zellen eine andere Schriftart einstellen kann. Die meisten Objekte besitzen eine Font-Eigenschaft, die ein Font-Objekt zurückgibt, welches seinerseits eine Name-Eigenschaft zum Abfragen und Setzen der Schriftart bereitstellt. Nebst Range besitzen unter anderem auch Style, FormatCondition, ChartArea, ChartTitle, AxisTitle und Characters eine Font-Eigenschaft. Nur TextEffectFormat stellt eine Ausnahme dar. Bei diesem Objekt heisst die zuständige Eigenschaft FontName.

TODO

ActiveSheet.Shapes.AddTextEffect msoTextEffect3, "Willkommen!", "Verdana", 22, True, False, 50, 100

Um sicherzugehen, dass die gewünschte Schriftart wirklich verfügbar ist, kann man vor der Verwendung der Schriftart zuerst überprüfen, ob sie auf dem eingesetzten Computer vorhanden ist. Anhand einer kleinen selbstgeschriebenen VBA-Funktion lässt sich dies ganz einfach erledigen.

Siehe dazu unter Codebeispiel 12 "Verfügbarkeit einer Schriftart überprüfen".

 

TODO

Je nach Plattform eine andere Standard-Schriftart für Microsoft Excel einstellen:

If Application.OperatingSystem Like "*Macintosh*" Then
  Application.StandardFont = "Geneva"
Else
  Application.StandardFont = "Arial"
End If

Wenn Sie die Schriftart mit der Eigenschaft StandardFont ändern, wird diese Änderung erst dann durchgeführt, wenn Sie Microsoft Excel erneut starten.

 

In Microsoft PowerPoint gibt es übrigens eine Funktionalität zum Ersetzen von Schriftarten. Hier ein Auszug aus der Dokumentation von Microsoft PowerPoint 97 (Originaltext):

Umwandeln von Macintosh-Schriftarten in Windows-Schriftarten
Wenn Sie eine Apple Macintosh-Präsentation in eine Microsoft Windows-Präsentation umgewandelt haben, stehen auf beiden Computern möglicherweise nicht dieselben Schriftarten zur Verfügung. Die folgende Tabelle zeigt Apple Macintosh-Schriftarten und deren Microsoft Windows-Entsprechungen.


Macintosh-Schriftart Windows-Schriftart
Avant Garde Century Gothic
Bookman Bookman Old Style
Helvetica Arial
N Helvetica Narrow Arial Narrow
New Century Schlbk Century Schoolbook
Palatino Book Antiqua
Times Times New Roman
Zapf Chancery Monotype Corsiva
Zapf Dingbats Monotype Sorts

Um eine Macintosh-Schriftart zu ersetzen, klicken Sie im Menü Format auf Schriftarten ersetzen. Klicken Sie in den Feldern Ersetzen und Durch auf die zu entsprechenden Schriftarten. PowerPoint ersetzt die Schriftart, behält jedoch den Macintosh-Schriftartnamen bei.

Anhand der Replace-Methode der Fonts-Auflistung einer Präsentation können Schriftarten auf mit VBA-Code ersetzt werden.

Detaillierte Informationen über Excel-Schriftarten und die maximale Anzahl verschiedene Schriften in Excel erhalten Sie hier:

Weitere Informationen

Limitationen in Excel: Fachartikel "Maximale Anzahl verschiedene Schriften" (Artikel-ID xllimit17)

Zum Seitenanfang


Unterschiede zwischen Excel für Windows und Excel für Macintosh

Nachfolgend ein paar wichtige Unterschiede zwischen den beiden Excel-Ausgaben:
- Tabellenfunktionen
- Dateinamen
- Speichern einer Arbeitsmappe
- Hyperlink-Basis
- 1900- und 1904-Datumssystem
- Tastaturbelegung/Tastenkombinationen
- Landkarten (Data Maps)
- Publish and Subscribe

To Top


Tabellenfunktionen
Alle Tabellenfunktionen von Excel für Windows können auch in Excel für Macintosh (bzw. umgekehrt) benutzt werden. Es gibt keine Funktionen, die ausschliesslich in Excel für Windows oder in Excel für Macintosh verwendet werden können. Allerdings liefern einzelne Tabellenfunktionen je nach Plattform unterschiedliche Ergebnisse. Davon sind insbesondere ein paar Informations-, Text- und Datum-/Zeit-Funktionen betroffen.

Welche Tabellenfunktionen unterschiedliche Resultate liefern, ist im Kapitel Unterschiede bei Excel-Tabellenfunktionen beschrieben.

To Top


Dateinamen
Auf dem Macintosh verwenden Arbeitsmappendateien nicht die unter Windows übliche Dateinamenerweiterung ".xls", sondern gar keine Dateinamenerweiterung (Diese Angabe ist ohne Gewähr!).

To Top


Speichern einer Arbeitsmappe
Die Art und Weise, wie eine Microsoft Excel-Arbeitsmappe gespeichert wird, ist auf den beiden Plattformen Windows und Macintosh unterschiedlich. Hier ein Auszug aus einer Dokumentation von Microsoft (Originaltext):

When you save a file that you changed in some way on a Windows-based computer, Microsoft Excel saves the file with a temporary file name and places this file in the same folder as the original file. This creates a new file. The original file is then deleted and the temporary file is renamed with the original file name.

If this process is somehow interrupted, your file may not be saved properly or you may find one or more temporary files in the folder where you tried to save your file. In addition, you may receive one of several alert or error messages.

When you use Microsoft Excel to save a file that you changed in some way on a Macintosh-based computer, and the program unexpectedly quits, Microsoft Excel saves the file with a temporary file name. Temporary files are placed in an invisible folder called Temporary Items in the root level of the hard disk. When Microsoft Excel unexpectedly quits, this folder becomes visible. When you restart the computer, this folder is moved to the Trash and placed in a folder called "Rescued Items from <hard disk name>." You can then drag the file back to the hard disk to recover it.

To Top


Hyperlink-Basis
Anhand der so genannten Hyperlink-Basis kann man für eine Arbeitsmappe ein Verzeichnis festlegen, welches als Basis für alle relativen Hyperlinks in der Arbeitsmappe verwendet wird. In Microsoft Excel wird die Hyperlink-Basis im Eigenschaften-Dialogfenster der Arbeitsmappe (Menü Datei/Eigenschaften) eingegeben bzw. abgefragt. Diese Einstellung gilt pro Arbeitsmappe.

Dokument-Eigenschaften mit Hyperlink-Basis
Abbildung: Dokument-Eigenschaften mit Hyperlink-Basis

Bitte beachten Sie, dass der als Hyperlink-Basis festgelegte Pfad nicht unbedingt gültig sein muss. Das bedeutet, dass der Pfad nicht vorhanden/verfügbar sein könnte. Es kann sogar sein, dass als Hyperlink-Basis etwas ganz anderes eingegeben wurde, also irgend ein Wort oder Text. Das Problem ist nämlich, dass das Feld "Hyperlink-Basis" ein gewöhnliches Texteingabefeld ist, dessen Inhalt nicht überprüft wird.

Wenn man nun eine Arbeitsmappe mit Microsoft Excel für Windows erstellt und als Hyperlink-Basis zum Beispiel "D:\Daten" einträgt, und dann die Mappe mit Microsoft Excel für Macintosh öffnet, so werden die relativen Hyperlinks in der Arbeitsmappe nicht mehr funktionieren, weil der Macintosh mit der Angabe "D:\Daten" nichts anfangen kann. Wie weiter oben beschrieben wurde, müsste - sofern es das "Daten"-Verzeichnis auf dem Mac-Rechner überhaupt gibt - der Pfad korrekterweise "HD:Daten" lauten. Das gleiche Problem tritt natürlich auch beim umgekehrten Vorgehen auf, also beim Bearbeiten einer mit Excel für Macintosh erstellten Mappe mit Microsoft Excel für Windows.

Die Auswirkung dieses Problems äusserst sich in einer Fehlermeldung, die beim Anklicken eines Hyperlinks erscheint. Beim Öffnen der Arbeitsmappe tritt dagegen kein Fehler auf. Die angezeigte Fehlermeldung ist zu allem Übel noch ziemlich miss- bzw. unverständlich:

Die Adresse dieser Web-Site ist unzulässig
Abbildung: Fehlermeldung "Die Adresse dieser Web-Site ist unzulässig"

Der Text ist insofern 'ungünstig', weil auch dann von "Adresse" und "Web-Site" gesprochen wird, wenn der Hyperlink auf eine Arbeitsmappendatei zeigt, die sogar im gleichen Ordner wie die aktuelle Arbeitsmappe liegt. Zudem ist die vorgeschlagene Überprüfung gar nicht immer so einfach, wie die nachfolgende Abbildung beweist:

Hyperlink bearbeiten (mit Hyperlink-Basis)
Abbildung: Hyperlink bearbeiten (mit Hyperlink-Basis)

Zusammenfassend lässt sich somit sagen, dass eine statische, sprich in den Dokument-Eigenschaften eingetragene Hyperlink-Basis nicht mehr funktioniert, sobald man die Arbeitsmappe auf der anderen Systemplattform bearbeitet. Damit die (relativen) Hyperlinks sowohl unter Windows als auch auf Macintosh funktionieren, muss man die Hyperlink-Basis mit VBA-Programmcode dynamisch festlegen, damit die plattformspezifischen Unterschiede berücksichtigt werden können.

Der Zugriff auf die Hyperlink-Basis erfolgt via BuiltInDocumentProperties-Eigenschaft der Arbeitsmappe, indem man als Element-Index das Schlüsselwort "Hyperlink base" angibt.

Hier wird die Hyperlink-Basis der aktiven Arbeitsmappe abgefragt:

Sub GetHyperlinkBase()
  MsgBox ActiveWorkbook.BuiltInDocumentProperties("Hyperlink base").Value

End Sub

Dieses Beispiel zeigt, wie die Hyperlink-Basis automatisch beim Öffnen der Arbeitsmappe festgelegt wird, wobei dies in Abhängigkeit der aktuell eingesetzten Plattform geschieht:

Private Sub Workbook_Open()
  If Application.OperatingSystem Like "*Windows*" Then

    'Windows
    ThisWorkbook.BuiltInDocumentProperties("Hyperlink base").Value = "C:\Daten"
  Else
    'Macintosh
    ThisWorkbook.BuiltInDocumentProperties("Hyperlink base").Value = "HD:Daten"
  End If

End Sub

Siehe auch Codebeispiel 8 "Hyperlink-Basis abfragen/ändern".

To Top


1900- und 1904-Datumssystem von Microsoft Excel
Microsoft Excel 97 unterstützt zwei Datumswertesysteme: das 1900- und das 1904-Datumswertesystem. In Microsoft Excel 97 für Windows wird standardmässig das 1900-Datumswertesystem verwendet. Um zum 1904-Datumswertesystem zu wechseln, klicken Sie im Menü Extras auf Optionen, klicken Sie auf die Registerkarte Berechnen, und aktivieren Sie dann das Kontrollkästchen 1904-Datumswerte.

Die folgende Tabelle enthält für beide Datumswertesysteme das erste und das letzte Datum sowie die entsprechenden seriellen Datumswerte:

Datumswertesystem Erstes Datum Letztes Datum
1900 1. Januar 1900
Serieller Wert: 1
31. Dezember 9999
Serieller Wert: 2958525
1904 2. Januar 1904
Serieller Wert: 1
31. Dezember 9999
Serieller Wert: 2957063

Bei Microsoft Excel für Windows (und Lotus 1-2-3) werden Tage vom Anfang dieses Jahrhunderts an gezählt; die serielle Datumszahl 1 entspricht dem Datum 1. Januar 1900. Microsoft Excel für den Macintosh verwendet das 1904-Datumswertesystem; die serielle Datumszahl 1 entspricht dem Datum 2. Januar 1904. Um das Datumssystem für Berechnungen zu ändern, klicken Sie im Menü Extras auf Optionen und dann auf die Registerkarte Berechnen. Unter Arbeitsmappe aktivieren Sie das Kontrollkästchen 1904-Datumswerte. Verwenden Sie das 1904-Datumswertesystem für eine Arbeitsmappe, wenn Sie diese zusammen mit Arbeitsmappen nutzen, in denen das 1904-Datumswertesystem eingesetzt wird.

Wenn Sie in Microsoft Excel für Windows eine Datei öffnen, die in Microsoft Excel, Version 2.0 oder höher, für den Macintosh erstellt wurde, erkennt Microsoft Excel das Dateiformat und ändert die Datumswerte automatisch in das 1900-Datumswertesystem. Ebenso wird eine Datei, die mit Microsoft Excel für Windows erstellt wurde, beim Macintosh in das 1904-Datumswertesystem umgewandelt.

 

TODO

- Bei Einsatz des 1900-Datumssystems (Standard in Microsoft Excel für Windows), liefert DATUM(91; 1; 1) den Wert 33239. Dies ist die fortlaufende Zahl, die dem 1. Januar 1991 entspricht.

- Bei Einsatz des 1904-Datumssystems (Standard in Microsoft Excel für den Macintosh), liefert DATUM(91; 1; 1) den Wert 31777. Dies ist die fortlaufende Zahl, die dem 1. Januar 1991 entspricht.

 

Einstellung "1904-Datumswerte" (Optionen-Dialog von Excel)

Wenn aktiviert: Ersetzt das Anfangsdatum 1. Januar 1900, aus dem alle Datumswerte berechnet werden, durch den 2. Januar 1904.

 

 

Siehe auch Codebeispiel 9 "Datumssystem einstellen".

Hinweis
This problem does not occur when Microsoft Excel uses the 1900 Date System; however, Microsoft Excel for Macintosh uses the 1904 Date System by default. Specifically, the problem occurs because Microsoft Excel for Macintosh uses the 1904 Date System for the serial date values that you type in the Minimum and Maximum boxes.

Hier ein paar Artikel aus der Microsoft Knowledge Base zu diesem Thema:
  XL (alle Versionen): 1900- und 1904-Datumssystem im Vergleich
  http://support.microsoft.com/?scid=kb;de;214330
  MacXL: Date Returned in a Macro Is Four Years Too Early
  http://support.microsoft.com/?scid=kb;en-us;274238
  Description of the differences between the 1900 Date System and the 1904 Date System in Excel
  http://support.microsoft.com/?scid=kb;en-us;214330
  XL98: How Microsoft Excel Works with Two-Digit Year Numbers
  http://support.microsoft.com/?scid=kb;EN-US;164406
  XL2001: How Microsoft Excel Works with Two-Digit Year Numbers
  http://support.microsoft.com/?scid=kb;en-us;302768
  MacXL: Chart Axis May Be Four Years Early After You Format Scale
  http://support.microsoft.com/?scid=kb;en-us;274277
  MacXL: Date Values Earlier Than 1904 Appear as Text
  http://support.microsoft.com/?scid=kb;en-us;323218
  XL (all Versions): Days of the week before March 1, 1900 are incorrect in Excel
  http://support.microsoft.com/?scid=kb;en-us;214058

Verwandte Themen
Date-Anweisung
Unterschiede bei Excel-Tabellenfunktionen

To Top


Tastaturbelegung/Tastenkombinationen in Microsoft Excel
Zwischen Excel für Windows und Excel für Macintosh gibt es bezüglich Tastenbefehlen ein paar kleinere Unterschiede. Der wohl wichtigste Unterschied betrifft die Taste zum Aufrufen der Online-Hilfe. In Excel für Windows wird dazu üblicherweise die Funktionstaste F1 benutzt - in Excel für Macintosh dagegen die speziell dafür vorhandene HILFE-Taste. Einem Excel für Macintosh-Anwender darf man also nicht empfehlen, er solle die Taste F1 drücken. Auf dem Macintosh wird mit dieser Taste nämlich die letzte Aktion rückgängig gemacht (entspricht der Tastenkombination Strg+Z in Excel für Windows). In der Macintosh-Ausgabe von Microsoft Excel gibt es eine ähnliche Tastenkombination wie Strg+Z, nämlich COMMAND+Z. Diese macht jedoch die letzte Selektion und nicht den letzten Befehl rückgängig.

Diese Tabelle zeigt die deutschen und englischen Tastenbezeichnungen für Windows und Macintosh:

Windows (deutsch) Windows (englisch) Macintosh (deutsch) Macintosh (englisch)
Strg Ctrl BEFEHL COMMAND
Alt Alt OPTION OPTION
Umschalt Shift Umschalt Shift
F1 F1 HILFE HELP

Eine vollständige Liste sämtlicher Tastenbefehle von Microsoft Excel 2001 für Macintosh finden Sie hier:
  XL2001: Shortcut Keys Available in Excel 2001 for Mac (Part 1)
  http://support.microsoft.com/?scid=kb;en-us;275633
  XL2001: Shortcut Keys Available in Excel 2001 for Mac (Part 2)
  http://support.microsoft.com/?scid=kb;en-us;275634
  XL2001: Shortcut Keys Available in Excel 2001 for Mac (Part 3)
  http://support.microsoft.com/?scid=kb;en-us;275635

To Top


Landkarten (Data Maps)
Mithilfe von Landkarten kann man sehr einfach geografische Daten visualisieren. Eine Landkarte wird anhand des Zusatzprogrammes Microsoft Map erstellt.

Muster einer Landkarte
Abbildung: Muster einer Landkarte (Ausschnitt eines Tabellenblattes)

Bitte beachten Sie, dass Landkarten nur in Microsoft Excel für Windows existieren. Diese können über das Menü Einfügen/Landkarte in ein Arbeitsblatt eingefügt werden. Wenn Sie eine mit Excel für Windows gespeicherte Arbeitsmappe in Excel für Macintosh öffnen, so erscheint die Landkarte als eingebettetes schwarz-weisses Bildobjekt. Wird ein Doppelklick auf das Bild ausgeführt (was unter Windows zum Bearbeiten der Landkarte führt), wird auf dem Macintosh stattdessen eine Fehlermeldung eingeblendet. Interessant ist, dass, obwohl es in Excel für Macintosh keine Landkarten gibt, die eingebettete Landkarte vollständig erhalten bleibt. Man kann somit die Arbeitsmappeappe bearbeiten und speichern. Wird die Mappe anschliessend in Microsoft Excel für Windows geöffnet, liegt die Landkarte wieder als bearbeitbares Objekt vor und ist vollkommen intakt.

Mehr zum Thema Data Maps in Excel erfahren Sie hier:
  MacXL: Data Maps Are Not Supported in Microsoft Excel for Mac
  http://support.microsoft.com/?scid=kb;en-us;274220

To Top


Publish and Subscribe
Die Office-Programme für Macintosh von Microsoft Office Version 2001 besitzen keine Publish and Subscribe-Funktionalität.

Informationen zu diesem Thema erhalten Sie hier:
  OFF2001: Publish and Subscribe Not Available in Office 2001 Programs
  http://support.microsoft.com/?scid=kb;en-us;288951

In älteren Versionen von Microsoft Excel für Macintosh (z.B. Version 4.x) gab es dagegen Publisher und Subscriber (Verleger und Abonnenten).

Zum Seitenanfang


Unterschiede zwischen VBA für Windows und VBA für Macintosh

Nachfolgend ein paar interessante Unterschiede zwischen den beiden VBA-Ausgaben:
- VBA-Version
- Anzahl gleichzeitig geöffnete Dateien
- Unicode-Zeichenfolgen
- Automatisierung

To Top


VBA-Version
Zwar kein 'echter' Unterschied zwischen VBA für Windows und VBA für Macintosh, aber unbedingt zu beachten: Je nach Office-Version ist eine andere Version von VBA in der Office-Anwendung enthalten. Während unter Windows der Wechsel von VBA 5 auf VBA 6 bereits bei Microsoft Office 2000 vollzogen wurde, enthält Microsoft Office für Macintosh noch bis zur Version v.X die VBA-Version 5. Erst Office 2004 für Macintosh verwendet VBA 6.

Hier die Übersicht der in Microsoft Office integrierten VBA-Versionen:

Office-Version VBA-Version
Office 97 (Windows) VBA 5
Office 98 (Macintosh) VBA 5
Office 2000 (Windows) VBA 6
Office 2001 (Macintosh) VBA 5
Office 2002/XP (Windows) VBA 6
Office v.X (Macintosh) VBA 5
Office 2003 (Windows) VBA 6
Office 2004 (Macintosh) VBA 6

Wenn Sie also mit Microsoft Excel für Windows ein VBA-Programm schreiben, welches auch mit Excel für Macintosh fehlerfrei funktionieren soll, so dürfen Sie nur die Sprachelemente von VBA 5 benutzen, weil Excel für Macintosh fast ausschliesslich noch VBA 5 enthält. Nur die neueste Version Excel 2004 enthält VBA 6.

To Top


Anzahl gleichzeitig geöffnete Dateien
Unter Windows können mit einem VBA-Programm bedeutend mehr Dateien gleichzeitig geöffnet sein als auf einem Macintosh-Computer.

Plattform Merkmal
Windows 512 Dateien (Angabe ohne Gewähr)
Macintosh 40 Dateien (Standard-Einstellung; kann geändert werden)

Diese Limitation müssen Sie beachten, wenn Sie beispielsweise viele Dateien für Lese- und/oder Schreibzugriffe anhand der Open-Anweisung von VBA öffnen.

Beispiel
Zum Öffnen einer Datei wird gewöhnlich die Open-Anweisung von VBA verwendet. So wird eine Datei für den Lesezugriff geöffnet:

Open "<Datei>" For Input As #<n>

Auf einem Macintosh-Rechner können Sie die obige Anweisung 40 mal hintereinander ausführen, wenn Sie für "<n>" unterschiedliche Dateinummern angeben und keine der bereits geöffneten Dateien zwischenzeitlich schliessen.

TODO

Sub OpenFiles()
  Dim intCounter As Integer
  For intCounter = 1 To 256
    Open "C:\Daten\Textdatei.txt" For Input As #FreeFile()
  Next intCounter

  Close
End Sub

Verwandte Themen
Fehlermeldung: Zu viele Dateien (Fehler 67)
FreeFile-Funktion

To Top


Unicode-Zeichenfolgen
Visual Basic für den Macintosh unterstützt keine Unicode-Zeichenfolgen. (Quelle: Microsoft Excel Visual Basic-Referenz, Thema "Chr-Funktion")

Definition von Unicode:
ISO-Zeichenstandard (International Standards Organization). Unicode verwendet eine 16-Bit-Codierung (2 Bytes), die 65'536 verschiedene Zeichen erlaubt. Unicode enthält Darstellungen für Satzzeichen, mathematische Symbole und Dingbats und bietet noch ausreichend Platz für künftige Erweiterungen.

Verwandte Themen
AscW-Funktion
ChrW-Funktion

To Top


Automatisierung
Wenn Sie Code zum Automatisieren von anderen Office-Programmen schreiben, sollten Sie auf jeden Fall die so genannte Late Binding-Technik benutzen. Bei Late Binding wird im VBA-Projekt kein Verweis auf die Objektbibliothek der zu automatisierenden Anwendung gesetzt. Alle Objektvariablen werden mit dem Datentyp Object deklariert (zum Beispiel "Dim objSlide As Object"). Die Instanzierung erfolgt mittels CreateObject oder GetObject.

Wenn Sie sich nicht mit Late Binding auskennen oder ganz allgemein Informationen darüber erhalten möchten, werfen Sie einen Blick auf die Seite Automation Theory. Sie finden dort eine detaillierte Beschreibung sämtlicher Automation-Techniken und vieles mehr. Verschiedene Dokumentationen und Anleitungen von Microsoft stehen ausserdem auf der Downloadseite zur Verfügung.

Zum Seitenanfang


Sonstige Unterschiede

Creator Code von Microsoft Office-Programmen
Die Creator-Eigenschaft wurde speziell für den Einsatz in Microsoft Excel für den Macintosh geschaffen. Jede Anwendung auf dem Macintosh besitzt einen Urheber-Code, der aus vier Zeichen besteht. Der Urheber-Code wird oft Creator Code genannt. Der Creator Code für Microsoft Excel lautet "XCEL".

Weitere Informationen erhalten Sie hier:
  The eXpLorer: Die Bedeutung des von Application.Creator zurückgegebenen Wertes
  http://195.186.84.74/explorer/creator.htm

To Top


Senden von Tastenfolgen
Leider ist nicht eindeutig zu erkennen, ob die SendKeys-Anweisung von VBA auf dem Macintosh zur Verfügung steht oder nicht. Der Grund liegt an den widersprüchlichen Beschreibungen in den VBA-Referenzen von Excel 97 und Excel 2000. Während in der Dokumentation von Excel-VBA 97 ganz klar steht, dass SendKeys auf dem Macintosh nicht benutzt werden kann, steht in der Dokumentation von Excel-VBA 2000 das genaue Gegenteil.

Nachstehend zwei Auszüge aus den beiden Referenzen (die wichtigen Textstellen sind dunkelblau und unterstrichen dargestellt):

VBA-Referenz von Microsoft Excel 97:

Thema "Beispiel zur SendKeys-Anweisung"
In diesem Beispiel wird die Shell-Funktion verwendet, um die Rechner-Anwendung von Microsoft Windows auszuführen. Anschliessend werden mit der SendKeys-Anweisung Tastenanschläge an den Rechner gesendet, um Zahlen zu addieren und den Rechner wieder zu beenden. Die SendKeys-Anweisung steht auf dem Macintosh nicht zur Verfügung. (Sie probieren das Beispiel aus, indem Sie es in eine Prozedur einfügen und diese anschliessend ausführen. Da AppActivate den Fokus auf die Rechner-Anwendung setzt, können Sie den Code nicht mit Einzelschritten ausführen.)

Thema "SendKeys-Anweisung"
SendKeys kann keine Tastenanschläge an Anwendungen senden, die nicht unter Microsoft Windows ausgeführt werden können. [...]

VBA-Referenz von Microsoft Excel 2000:

Thema "Beispiel zur SendKeys-Anweisung"
In diesem Beispiel wird die Shell-Funktion verwendet, um die Rechner-Anwendung von Microsoft Windows auszuführen. Anschliessend werden mit der SendKeys-Anweisung Tastenanschläge an den Rechner gesendet, um Zahlen zu addieren und den Rechner wieder zu beenden. (Sie probieren das Beispiel aus, indem Sie es in eine Prozedur einfügen und diese anschliessend ausführen. Da AppActivate den Fokus auf die Rechner-Anwendung setzt, können Sie den Code nicht mit Einzelschritten ausführen.) Verwenden Sie auf dem Macintosh anstelle des Windows-Rechners eine Macintosh-Anwendung, die Tastatureingabe akzeptiert.

Thema "SendKeys-Anweisung"
SendKeys kann keine Tastenanschläge an Anwendungen senden, die nicht unter Microsoft Windows oder auf dem Macintosh ausgeführt werden können. [...]

Auch in der Dokumentation der Microsoft Excel Makro-Funktionen ist angegeben, dass das Senden von Tastenanschlägen nicht möglich ist:

Microsoft Excel Makro-Funktionen Hilfe:

Thema "TASTENF.SENDEN"
TASTENF.SENDEN
Sendet Tastenanschläge an die aktive Anwendung, als wenn sie direkt über die Tastatur eingegeben würden. Verwenden Sie TASTENF.SENDEN, um Tastenanschläge, die Aktionen und Befehle ausführen, an Anwendungen zu senden, die Sie mit den anderen DDE-Funktionen (DDE=Dynamischer Datenaustausch) von Microsoft Excel ablaufen lassen.

Syntax
TASTENF.SENDEN(Taste_Text; Warten_Wahrheitswert)

Hinweis
Diese Funktion steht nur in Microsoft Excel für Windows zur Verfügung.

 

Aufgrund dieser Unklarheit sollten Sie auf die Benutzung der SendKeys-Anweisung möglichst verzichten.

Zum Kapitelanfang Zum Seitenanfang


Unterschiede bei Dateinamen, Dateipfaden und Verzeichnispfaden

Allgemeines

Macintosh- und Windows-Computer verwenden unterschiedliche Bezeichnungen und Schreibweisen für Pfade.

- Laufwerke: Auf einem Macintosh-Computer besitzt die Festplatte die Bezeichnung "HD" ("HD" steht für "HardDisk"). Windows dagegen verwendet einen einzelnen Buchstaben, von "A" bis "Z", als Laufwerksbezeichnung.

- Verzeichnisse: Auf Macintosh wird zum Unterteilen der einzelnen Bestandteile eines Pfades der Doppelpunkt ':' verwendet. Bei Windows dagegen wird der umgekehrte Schrägstrich '\' verwendet (z.B. C:\Programme\Microsoft Office\Vorlagen).

- Dateien: In Dateinamen ist auf dem Macintosh lediglich der Doppelpunkt ':' nicht erlaubt, wogegen Windows eine ganze Reihe spezieller Zeichen verbietet.

 

Dateiname: z.B. MeineMappe.xls

Dateipfad: z.B. C:\Daten\MeineMappe.xls

Verzeichnispfad:

 

Zum Seitenanfang


Pfade in der Anwendung Microsoft Excel

- Standardarbeitsordner in Optionen

- Zusätzlicher Startordner in Optionen

Zum Seitenanfang


Pfade in der Arbeitsmappe

...

Zellen

Zellen können sowohl im Zelltext als auch in der Zellformel Pfade enthalten.

Externe Zellbezüge
='C:\Daten\Excel\[Statistik 2005.xls]Regionen'!$A$1

Werden im Verknüpfungen-Dialog angezeigt.

Externe benutzerdefinierte Funktionen
='C:\Daten\Excel\Funktionen.xls'!GetVersion()

Werden im Verknüpfungen-Dialog angezeigt.

Statische Pfade
C:\Daten
C:\Daten\Excel\Statistik 2005.xls

DDE-Verknüpfungen
=WinWord|'D:\NeueDaten\Statistik.doc'!Umsatz

Werden im Verknüpfungen-Dialog angezeigt.

To Top


Namen

Namen können Bezüge auf Zellen anderer Arbeitsmappen enthalten und auch auf benutzerdefinierte Funktionen zugreifen, die sich in anderen Mappen befinden.

Externe Zellbezüge
='C:\Daten\Excel\[Statistik 2005.xls]Regionen'!$A$1

Werden im Verknüpfungen-Dialog angezeigt.

Externe benutzerdefinierte Funktionen

Namen festlegen
Abbildung: Name mit Pfad in Bezug (Dialog "Namen festlegen")

Werden im Verknüpfungen-Dialog angezeigt.

To Top


Objekt-Makrozuweisungen

(AutoForm, Zeichnungselement, Bild, Textfeld, Formular-Steuerelement, Diagramm, eingebettetes Objekt, WordArt-Objekt, Symbolleisten-Steuerelement etc.)

Werden im Verknüpfungen-Dialog angezeigt.

To Top


Verknüpfte Objekte

z.B. Bild oder Formular-Steuerelement

 

Objekttyp Objekt
Zeichnungsobjekt Rechteck, Ellipse
AutoForm Standardformen, Blockpfeile, Flussdiagramm, Sterne und Banner, Legende
Formular-Steuerelement Bezeichnungsfeld, Gruppenfeld, Schaltfläche
Bild Verknüpfte Grafik (siehe Anmerkung)
Textfeld Textfeld

 

MsgBox ActiveSheet.Shapes("Button 1").DrawingObject.Formula

 

Werden im Verknüpfungen-Dialog angezeigt.

To Top


Verknüpfte OLE-Objekte

z.B. verknüpftes Word-Dokument:

=Word.Document.8|'C:\Daten\Brief.doc'!''''

?ActiveSheet.OLEObjects(6).SourceName
Word.Document.8|D:\NeueDaten\Tools\Cell Format Analyzer\Behandlung von speziellen Zellen.doc!'

?activesheet.shapes("Object 11").drawingobject.sourcename
Word.Document.8|D:\NeueDaten\Tools\Cell Format Analyzer\Behandlung von speziellen Zellen.doc!'

Werden im Verknüpfungen-Dialog angezeigt.

To Top


Hyperlinks

Pfade in Hyperlinks (Zellen, Objekte)

Werden im Verknüpfungen-Dialog nicht angezeigt.

To Top


Konsolidierungen

Konsolidieren-Dialog
Abbildung: Bezüge auf externe Konsolidierungsbereiche (Dialog "Konsolidieren")

Werden im Verknüpfungen-Dialog nicht angezeigt.

To Top


Diagramme

 

Diagramm-Datenquelle
Abbildung: Externer Bezug in einer Diagramm-Datenquelle (Dialog "Datenquelle")

 

Werden im Verknüpfungen-Dialog nicht angezeigt.

To Top


Externe Datenbereiche

 

 

To Top


Listenbereiche und Ausgabeverknüpfungen von Formular-Steuerelementen

Dialog "Steuerelement formatieren"
Abbildung: Dialog "Steuerelement formatieren"

 

Werden im Verknüpfungen-Dialog nicht angezeigt.

Zum Seitenanfang


Pfade im VBA-Programmcode

Es gibt massenhaft Sprachelemente, d.h. Anweisungen, Funktionen, Methoden, Eigenschaften usw., die als Argumente oder Parameter Datei- bzw. Pfadnamen verwenden. Weil Macintosh und Windows unterschiedliche Dateisysteme benutzen, muss bei jedem dieser Sprachelemente der benötigte Pfad in der korrekten, der eingesetzten Plattform entsprechenden Schreibweise angegeben sein. In einem VBA-Programm gibt es folgedessen eine Vielzahl Codezeilen, die zu einem Fehler führen können, wenn der Dateiname bzw. der Pfad falsch geschrieben ist.

Beispiel:

Kopieren einer Arbeitsmappe in einen anderen Ordner.

Windows:

FileCopy "C:\Daten\Personl.xls", "C:\Backup\Personl.xls"

Macintosh:

FileCopy "HD:Daten:Personal Macro Workbook", "HD:Backup:Personal Macro Workbook"

 

Ein paar Sprachelemente existieren erst ab Excel 2000.

Bei einigen Sprachelementen ist auf den ersten Blick nur schwer zu erkennen, weshalb sie einen Zusammenhang mit dem Dateisystem besitzen. Beispielsweise bei der Raise-Methode des ErrObject-Objektes von VBA:

Err.Raise 9000, , "Ausnahmefehler aufgetreten!", "C:\MeinProgramm\Hilfedatei.hlp", 1000

OnTime-Eigenschaft des Application-Objektes von Excel:

Sub SetTimer()
  Dim varTime As Variant
  varTime = Now + TimeValue("0:00:05")
  Application.OnTime varTime, "C:\Daten\DemoMappe.xls!MeineProzedur"
End Sub

 

Nachfolgend finden Sie mehrere Tabellen mit sämtlichen Dateisystem-relevanten Sprachelementen von VBA und den Objektmodellen von Excel, Office, MSForms und VBA-Editor.

Es sind insgesamt 187 verschiedene Sprachelemente. Davon sind 136 Sprachelemente solche von VBA und Excel-VBA.

 

To Top


Anweisungen und Funktionen von VBA

Aufsteigend sortiert nach Element.

Element Typ Bemerkung
ChDir Anweisung -
ChDrive Anweisung -
CurDir Funktion -
Dir Funktion -
FileAttr Funktion -
FileCopy Anweisung -
FileDateTime Funktion -
FileLen Funktion -
GetAttr Funktion -
GetObject Funktion -
HelpFile Eigenschaft Eigenschaft des ErrObject-Objektes
InputBox Funktion -
Kill Anweisung -
MkDir Anweisung -
MsgBox Funktion -
Name Anweisung -
Open Anweisung -
Raise Methode Methode des ErrObject-Objektes
RmDir Anweisung -
SetAttr Anweisung -
Shell Funktion -

 

To Top


Methoden und Eigenschaften des Excel-Objektmodells

Aufsteigend sortiert nach Objekt/Klasse und Element.

 

Objekt/Klasse

Element

Typ

Bemerkung

AddIn

FullName

Eigenschaft

-

AddIn

Name

Eigenschaft

-

AddIn

Path

Eigenschaft

-

AddIns

Add

Methode

-

Application

AltStartupPath

Eigenschaft

-

Application

CheckSpelling

Methode

-

Application

DDEInitiate

Methode

-

Application

DefaultFilePath

Eigenschaft

-

Application

GetOpenFilename

Methode

-

Application

GetSaveAsFilename

Methode

-

Application

Help

Methode

-

Application

InputBox

Methode

-

Application

LibraryPath

Eigenschaft

-

Application

MacroOptions

Methode

-

Application

NetworkTemplatesPath

Eigenschaft

-

Application

OnCalculate

Eigenschaft

Ausgeblendet im Objektmodell

Application

OnData

Eigenschaft

Ausgeblendet im Objektmodell

Application

OnDoubleClick

Eigenschaft

Ausgeblendet im Objektmodell

Application

OnEntry

Eigenschaft

Ausgeblendet im Objektmodell

Application

OnKey

Methode

-

Application

OnRepeat

Methode

-

Application

OnSheetActivate

Eigenschaft

Ausgeblendet im Objektmodell

Application

OnSheetDeactivate

Eigenschaft

Ausgeblendet im Objektmodell

Application

OnTime

Methode

-

Application

OnUndo

Methode

-

Application

OnWindow

Eigenschaft

-

Application

Path

Eigenschaft

-

Application

RegisterXLL

Methode

-

Application

Run

Methode

-

Application

SaveWorkspace

Methode

-

Application

StartupPath

Eigenschaft

-

Application

TemplatesPath

Eigenschaft

-

Chart

CheckSpelling

Methode

-

Chart

Export

Methode

-

Chart

OnDoubleClick

Eigenschaft

Ausgeblendet im Objektmodell

Chart

OnSheetActivate

Eigenschaft

Ausgeblendet im Objektmodell

Chart

OnSheetDeactivate

Eigenschaft

Ausgeblendet im Objektmodell

Chart

PrintOut

Methode

Ab Excel 2000

Chart

SaveAs

Methode

-

Chart

SetBackgroundPicture

Methode

-

ChartFillFormat

TextureName

Eigenschaft

-

ChartFillFormat

UserPicture

Methode

-

ChartFillFormat

UserTextured

Methode

-

Charts

Add

Methode

-

Charts

PrintOut

Methode

Ab Excel 2000

Fill

TextureName

Eigenschaft

-

Fill

UserPicture

Methode

-

Fill

UserTextured

Methode

-

FillFormat

TextureName

Eigenschaft

-

FillFormat

UserPicture

Methode

-

FillFormat

UserTextured

Methode

-

Hyperlink

Address

Eigenschaft

-

Hyperlink

CreateNewDocument

Methode

Ab Excel 2000

Hyperlink

Name

Eigenschaft

-

Hyperlinks

Add

Methode

-

OLEObjects

Add

Methode

-

PivotCache

Connection

Eigenschaft

-

PivotCache

SQL

Eigenschaft

-

PivotTable

PivotTableWizard

Methode

-

PivotTable

SourceData

Eigenschaft

-

PublishObject

FileName

Eigenschaft

-

PublishObjects

Add

Methode

-

QueryTable

Connection

Eigenschaft

-

QueryTable

SQL

Eigenschaft

-

QueryTables

Add

Methode

-

Range

Consolidate

Methode

-

Range

PrintOut

Methode

Ab Excel 2000

RecentFile

Name

Eigenschaft

-

RecentFile

Path

Eigenschaft

-

RecentFiles

Add

Methode

-

Shape

OnAction

Eigenschaft

-

Shapes

AddOLEObject

Methode

-

Shapes

AddPicture

Methode

-

Sheets

Add

Methode

-

SoundNote

Import

Methode

-

Window

Close

Methode

-

Window

OnWindow

Eigenschaft

-

Window

PrintOut

Methode

Ab Excel 2000

Workbook

ChangeLink

Methode

-

Workbook

Close

Methode

-

Workbook

FollowHyperlink

Methode

-

Workbook

FullName

Eigenschaft

-

Workbook

LinkInfo

Methode

-

Workbook

MergeWorkbook

Methode

-

Workbook

Name

Eigenschaft

-

Workbook

OnSave

Eigenschaft

Ausgeblendet im Objektmodell

Workbook

OnSheetActivate

Eigenschaft

Ausgeblendet im Objektmodell

Workbook

OnSheetDeactivate

Eigenschaft

Ausgeblendet im Objektmodell

Workbook

OpenLinks

Methode

-

Workbook

Path

Eigenschaft

-

Workbook

PrintOut

Methode

Ab Excel 2000

Workbook

ProtectSharing

Methode

-

Workbook

SaveAs

Methode

-

Workbook

SaveCopyAs

Methode

-

Workbook

SetLinkOnData

Methode

-

Workbook

UpdateLink

Methode

-

Workbooks

Add

Methode

-

Workbooks

Open

Methode

-

Workbooks

OpenDatabase

Methode

Ab Excel 2002

Workbooks

OpenText

Methode

-

Workbooks

OpenXML

Methode

Ab Excel 2002

Worksheet

ConsolidationSources

Eigenschaft

-

Worksheet

OnCalculate

Eigenschaft

Ausgeblendet im Objektmodell

Worksheet

OnData

Eigenschaft

Ausgeblendet im Objektmodell

Worksheet

OnDoubleClick

Eigenschaft

Ausgeblendet im Objektmodell

Worksheet

OnEntry

Eigenschaft

Ausgeblendet im Objektmodell

Worksheet

OnSheetActivate

Eigenschaft

Ausgeblendet im Objektmodell

Worksheet

OnSheetDeactivate

Eigenschaft

Ausgeblendet im Objektmodell

Worksheet

PasteSpecial

Methode

-

Worksheet

PivotTableWizard

Methode

-

Worksheet

PrintOut

Methode

Ab Excel 2000

Worksheet

SaveAs

Methode

-

Worksheet

SetBackgroundPicture

Methode

-

Worksheets

Add

Methode

-

Worksheets

PrintOut

Methode

Ab Excel 2000

 

To Top


Methoden und Eigenschaften des Office-Objektmodells

 

Aufsteigend sortiert nach Objekt/Klasse und Element.

Objekt/Klasse Element Typ Bemerkung
Assistant FileName Eigenschaft -
CommandBarButton HelpFile Eigenschaft -
CommandBarButton OnAction Eigenschaft -
CommandBarComboBox HelpFile Eigenschaft -
CommandBarComboBox OnAction Eigenschaft -
CommandBarControl HelpFile Eigenschaft -
CommandBarControl OnAction Eigenschaft -
CommandBarPopup HelpFile Eigenschaft -
CommandBarPopup OnAction Eigenschaft -
FileSearch FileName Eigenschaft Nur Windows
FileSearch FoundFiles Eigenschaft Nur Windows. Gibt ein FoundFiles-Objekt zurück.
FileSearch LookIn Eigenschaft Nur Windows
FoundFiles LookIn Eigenschaft Nur Windows
IFind Results Eigenschaft Nur Macintosh. Gibt ein FileFindResults-Objekt (IFoundFiles) zurück.
IFind SearchPath Eigenschaft Nur Macintosh
IFoundFiles Item Eigenschaft Nur Macintosh

 

To Top


Methoden und Eigenschaften des MSForms-Objektmodells

Aufsteigend sortiert nach Objekt/Klasse und Element.

 

Objekt/Klasse Element Typ Bemerkung
CheckBox MouseIcon Eigenschaft -
CheckBox Picture Eigenschaft -
ComboBox MouseIcon Eigenschaft -
CommandButton MouseIcon Eigenschaft -
CommandButton Picture Eigenschaft -
Frame MouseIcon Eigenschaft -
Frame Picture Eigenschaft -
Image MouseIcon Eigenschaft -
Image Picture Eigenschaft -
Label MouseIcon Eigenschaft -
Label Picture Eigenschaft -
ListBox MouseIcon Eigenschaft -
OptionButton MouseIcon Eigenschaft -
OptionButton Picture Eigenschaft -
Page Picture Eigenschaft -
ScrollBar MouseIcon Eigenschaft -
SpinButton MouseIcon Eigenschaft -
TabStrip MouseIcon Eigenschaft -
TextBox MouseIcon Eigenschaft -
ToggleButton MouseIcon Eigenschaft -
ToggleButton Picture Eigenschaft -
UserForm MouseIcon Eigenschaft -
UserForm Picture Eigenschaft -

 

To Top


Methoden und Eigenschaften des VBIDE-Objektmodells

Aufsteigend sortiert nach Objekt/Klasse und Element.

 

Objekt/Klasse Element Typ Bemerkung
CodeModule AddFromFile Methode -
Reference FullPath Eigenschaft -
Reference Name Eigenschaft -
References AddFromFile Methode -
VBComponent Export Methode -
VBComponent InsertFile Methode Ab Excel 2000
VBComponent SaveAs Methode Ab Excel 2000. Kann nur bei Standalone-Projekten verwendet werden.
VBComponents Import Methode -
VBProject BuildFileName Eigenschaft Ab Excel 2000
VBProject FileName Eigenschaft Ab Excel 2000
VBProject HelpFile Eigenschaft -
VBProject SaveAs Methode Ab Excel 2000. Kann nur bei Standalone-Projekten verwendet werden.

 

Zum Seitenanfang


Pfade an anderen Stellen

- Pfad der Hyperlink-Basis in den Dokument-Eigenschaften
Siehe auch unter Hyperlink-Basis

 

To Top


- Pfad der Hilfedatei des VBA-Projektes
Siehe auch unter Projekteigenschaften

 

To Top


- Pfade von Verweisen im VBA-Projekt

 

To Top


- Pfade in Makrozuweisungen von Symbolleisten-Steuerelementen

 

To Top


- Pfade in Hyperlinks von Symbolleisten-Steuerelementen

 

To Top


- Pfade in Benutzerformularen und Steuerelementen

 

Zum Kapitelanfang Zum Seitenanfang


Unterschiede bei Dateitypen und Dateiformaten

Allgemeines

...

Datei mit Format CSV (Macintosh) im Editor
Abbildung: Datei mit Format CSV (Macintosh) im Editor

 

Datei mit Format CSV (OS/2 oder MS-DOS) im Editor
Abbildung: Datei mit Format CSV (OS/2 oder MS-DOS) im Editor

 

 

Dateityp Beschreibung
Text (Tabs getrennt)  
Text (Macintosh)  
Text (OS/2 oder MS-DOS)  
CSV (Komma getrennt)  
CSV (Macintosh)  
CSV (OS/2 oder MS-DOS)  

 

Verwandte Themen
Unterschiede bei integrierten Konstanten
Dateiformate (Konstanten)

Zum Kapitelanfang Zum Seitenanfang


Unterschiede bei Excel-Tabellenfunktionen

Allgemeines

Sämtliche Tabellenfunktionen funktionieren in den neueren Excelversionen, d.h. ab Excel 97 für Windows bzw. Excel 98 für Macintosh, absolut identisch. Es existieren diesbezüglich keinerlei Inkompatibilitäten zwischen den Excelversionen für Windows und Macintosh. Man muss allerdings beachten, dass einzelne Excel-Tabellenfunktionen je nach Plattform unterschiedliche Resultate liefern. Nachfolgend die wichtigsten Unterschiede (Liste nicht abschliessend).

Informationsfunktionen
- INFO
- ZELLE

Textfunktionen
- SÄUBERN
- ZEICHEN
- CODE

Datums- und Zeitfunktionen
- DATUM
- DATWERT
- HEUTE
- JETZT
- JAHR

Matrixfunktionen
- HYPERLINK

Zum Seitenanfang


Tabellenfunktion INFO

Die Tabellenfunktion INFO liefert Informationen zu der aktuellen Betriebssystemumgebung. Sie funktioniert unter Windows und auf Macintosh identisch.

Bei der Tabellenfunktion INFO muss lediglich beachtet werden, dass bei Verwendung des Infotyps "Verzeichnis" (oder "Directory") der Pfad des aktuellen Verzeichnisses zurückgegeben wird, und zwar in der Schreibweise der gerade verwendeten Plattform. In Microsoft Excel für Windows könnte dies beispielsweise "C:\Daten\Excel" sein, während Microsoft Excel für Macintosh "HD:Daten:Excel" zurückgibt.

Die Infotypen "System", "SysVersion" (bzw. "OSVersion") und "Version" liefern das aktuelle Betriebssystem, die Betriebssystemversion sowie die Excelversion. All diese Informationen sind je nach verwendeter Plattform unterschiedlich.

Verwandte Themen
Dateipfade
Abfragen der Ausführungsumgebung

Zum Seitenanfang


Tabellenfunktion ZELLE

Die Tabellenfunktion ZELLE liefert Informationen zu der Formatierung, der Position oder dem Inhalt einer Zelle.

Bei der Tabellenfunktion ZELLE muss bei Verwendung des Infotyps "Dateiname" darauf geachtet werden, dass der zurückgegebene Dateiname, welcher den vollständigen Dateipfad enthält, je nach Plattform die Windows- oder die Macintosh-Schreibweise besitzt.

Mit dem Infotyp "Adresse" wird eine Zelladresse zurückgegeben. Befindet sich die Zelle auf einem anderen Arbeitsblatt, wird zusätzlich zum Blattname immer auch der Dateiname der Arbeitsmappe geliefert.

Verwandte Themen
Dateipfade

Zum Seitenanfang


Tabellenfunktion SÄUBERN

Die Tabellenfunktion SÄUBERN löscht alle nicht druckbaren Zeichen aus einem Text. Verwenden Sie SÄUBERN für Texte, die aus anderen Anwendungsprogrammen importiert wurden und eventuell Zeichen enthalten, die das von Ihnen verwendete Betriebssystem nicht drucken kann. Beispielsweise können Sie SÄUBERN dazu einsetzen, maschinennahen Code zu entfernen, der sich häufig am Anfang und Ende einer Datendatei befindet und nicht gedruckt werden kann.

Auch die Tabellenfunktion SÄUBERN kann somit unterschiedliche Ergebnisse erzeugen, da sie das eingesetzte Betriebssystem berücksichtigt.

Zum Seitenanfang


Tabellenfunktion ZEICHEN

Die Tabellenfunktion ZEICHEN liefert das der Codezahl entsprechende Zeichen. Verwenden Sie ZEICHEN, um Zahlen in einer anderen Kodierung, die Sie aus Dateien erhalten, die auf Rechnern anderen Typs erstellt wurden, in Zeichen umzuwandeln.

Bei Microsoft Excel für Windows gibt die Tabellenfunktion ZEICHEN ein Zeichen des ANSI-Zeichensatzes zurück. Bei Microsoft Excel für Macintosh dagegen liefert ZEICHEN ein Zeichen des Macintosh-Zeichensatzes. Man darf somit nicht davon ausgehen, dass man in beiden Excel-Programmen das gleiche Zeichen erhält.

Systemumgebung Zeichensatz
Windows ANSI
Macintosh Macintosh-Zeichensatz

Beispiel:

=ZEICHEN(189)

Liefert unter Windows das Zeichen "½".

 

Verwandte Themen
Sonderzeichen

Zum Seitenanfang


Tabellenfunktion CODE

Die Tabellenfunktion CODE liefert die Codezahl des ersten Zeichens in einem Text. Die ausgegebene Codezahl entspricht dem Zeichensatz, mit dem der verwendete Rechner arbeitet.

Bei Microsoft Excel für Windows gibt die Tabellenfunktion CODE eine Codezahl des ANSI-Zeichensatzes zurück. Bei Microsoft Excel für Macintosh dagegen liefert CODE eine Codezahl des Macintosh-Zeichensatzes. Man darf somit nicht davon ausgehen, dass man in beiden Excel-Programmen die gleiche Codezahl erhält.

Systemumgebung Zeichensatz
Windows ANSI
Macintosh Macintosh-Zeichensatz

Verwandte Themen
Sonderzeichen

Zum Seitenanfang


Tabellenfunktion DATUM

Die Tabellenfunktion DATUM liefert die fortlaufende Zahl des angegebenen Datums.

Syntax

DATUM(Jahr,Monat,Tag)

Die DATUM-Tabellenfunktion verwendet die folgenden Argumente:

Teil Beschreibung
Jahr Jahr ist in Microsoft Excel für Windows eine ganze Zahl im Bereich von 1900 bis 9999 oder in Microsoft Excel für den Macintosh im Bereich von 1904 bis 9999.
Monat Monat ist eine Zahl, die den Monat des jeweiligen Jahres angibt. Ist Monat grösser als 12, addiert Monat die Zahl der Monate zu dem ersten Monat des angegebenen Jahres hinzu. So liefert beispielsweise DATUM(90;14;2) die fortlaufende Zahl, die dem 2. Februar 1991 entspricht.
Tag Tag ist eine Zahl, die den Tag des jeweiligen Monats angibt. Ist Tag grösser als die Anzahl der Tage des angegebenen Monats, addiert Tag die Zahl der Tage zu dem ersten Tag des angegebenen Monats hinzu. So liefert beispielsweise DATUM(91;1;35) die fortlaufende Zahl, die dem 4. Februar 1991 entspricht.

Beispiele

- Bei Einsatz des 1900-Datumssystems (Standard in Microsoft Excel für Windows), liefert DATUM(91; 1; 1) den Wert 33239. Dies ist die fortlaufende Zahl, die dem 1. Januar 1991 entspricht.

- Bei Einsatz des 1904-Datumssystems (Standard in Microsoft Excel für den Macintosh), liefert DATUM(91; 1; 1) den Wert 31777. Dies ist die fortlaufende Zahl, die dem 1. Januar 1991 entspricht.

Verwandte Themen
1900- und 1904-Datumssystem von Microsoft Excel

Zum Seitenanfang


Tabellenfunktion DATWERT

Die Tabellenfunktion DATWERT wandelt ein als Text vorliegendes Datum in eine fortlaufende Zahl um. Verwenden Sie DATWERT, wenn Sie ein in Textform vorliegendes Datum in eine fortlaufende Zahl umwandeln möchten.

Der bei DATWERT angegebene Datumstext ist ein Text, der ein Tagesdatum in einem der Microsoft Excel-Datumsformate angibt. Wird mit dem standardmässigen Datumssystem von Microsoft Excel für Windows gearbeitet, muss Datumstext ein Datum darstellen, das zwischen dem 1. Januar 1900 und dem 31. Dezember 9999 liegt. Wird mit dem standardmässigen Datumssystem von Microsoft Excel für den Macintosh gearbeitet, muss Datumstext ein Datum darstellen, das zwischen dem 1. Januar 1904 und dem 31. Dezember 9999 liegt. Entspricht Datumstext einem Datum, das ausserhalb dieses Bereichs liegt, liefert DATWERT den Fehlerwert #WERT!.

Verwandte Themen
1900- und 1904-Datumssystem von Microsoft Excel

Zum Seitenanfang


Tabellenfunktion HEUTE

Die Tabellenfunktion HEUTE liefert die fortlaufende Zahl des heutigen Datums. Eine fortlaufende Zahl ist eine Datums- oder Zeitangabe in der Kodierung, die Microsoft Excel für Datums- und Zeitberechnungen verwendet.

Verwandte Themen
1900- und 1904-Datumssystem von Microsoft Excel

Zum Seitenanfang


Tabellenfunktion JETZT

Die Tabellenfunktion JETZT liefert die fortlaufende Zahl des aktuellen Datums und der aktuellen Uhrzeit. Eine fortlaufende Zahl ist eine Datums- oder Zeitangabe in der Kodierung, die Microsoft Excel für Datums- und Zeitberechnungen verwendet.

Verwandte Themen
1900- und 1904-Datumssystem von Microsoft Excel

Zum Seitenanfang


Tabellenfunktion JAHR

Die Tabellenfunktion JAHR wandelt eine fortlaufende Zahl in eine Jahreszahl um. Das Jahr wird als ganze Zahl ausgegeben, die einen Wert von 1900 bis 9999 annehmen kann.

Syntax

JAHR(Zahl)

Die JAHR-Tabellenfunktion verwendet die folgenden Argumente:

Teil Beschreibung
Zahl Zahl ist die Kodierung für Datum und Zeit, die Microsoft Excel für Datums- und Zeitberechnungen verwendet. Sie müssen das Argument Zahl nicht zwingend als Zahl, sondern können es auch als Text angeben, also zum Beispiel "15. April 1993" oder "15.4.93". Ein solcher Text wird automatisch in die entsprechende fortlaufende Zahl umgewandelt.

Hinweis

Microsoft Excel für Windows und Microsoft Excel für den Macintosh verwenden unterschiedliche Standard-Datumssysteme.

Beispiele

Unabhängig vom verwendeten Datumssystem

JAHR("5.7.90") liefert den Wert 1990

1900-Datumssystem (Voreinstellung in Microsoft Excel für Windows)

JAHR(0,007) liefert den Wert 1900

JAHR(29747,007) liefert den Wert 1981

1904-Datumssystem (Voreinstellung in Microsoft Excel für Macintosh)

JAHR(0,007) liefert den Wert 1904

JAHR(29747,007) liefert den Wert 1985

Verwandte Themen
1900- und 1904-Datumssystem von Microsoft Excel

Zum Seitenanfang


Tabellenfunktion HYPERLINK

Die Tabellenfunktion HYPERLINK erstellt eine Verknüpfung oder einen Sprung über die ein auf einem Netzwerk-Server, im Intranet oder im Internet gespeicherte Datei geöffnet wird. Beim Klicken auf die Zelle mit der Funktion HYPERLINK öffnet Microsoft Excel 97 die in Hyperlink_Adresse gespeicherte Datei.

Syntax

HYPERLINK(Hyperlink_Adresse;Freundlicher_Name)

Die HYPERLINK-Tabellenfunktion verwendet die folgenden Argumente:

Teil Beschreibung
Hyperlink_Adresse Erforderlich. Hyperlink_Adresse ist der Pfad- und Dateiname der Datei, die als Text geöffnet werden soll. Hyperlink_Adresse kann ein Bezug zu einer Stelle in einem Dokument, beispielsweise eine bestimmte Zelle oder ein benannter Bereich in einer Microsoft Excel-Tabelle oder -Arbeitsmappe oder zu einer Textmarke in einem Microsoft Word-Dokument sein. Der Pfad kann entweder eine auf einer Festplatte gespeicherte verweisen, oder ein UNC (Universal Naming Convention)-Pfad auf einem Server (in Microsoft Excel 97 für Windows) oder ein URL (Uniform Resource Locator)-Pfad im Internet oder einem Intranet sein.
Freundlicher_Name Optional. Freundlicher_Name ist der Sprungtext oder eine Zahl, die in der Zelle angezeigt wird. Freundlicher_Name wird blau und unterstrichen angezeigt. Wird Freundlicher_Name nicht angegeben, wird in der Zelle die Hyperlink_Adresse als Sprungtext angezeigt.

Hinweise

- Hyperlink_Adresse ist entweder eine in Anführungszeichen eingeschlossene Zeichenfolge oder eine Zelle, welche die Verknüpfung als Textzeichenfolge enthält.
- Freundlicher_Name kann ein Wert, eine Textzeichenfolge, ein Name oder eine Zelle sein, die den Sprungtext oder den Wert enthält.
- Gibt Freundlicher_Name einen Fehlerwert (beispielsweise #WERT!), wird in der Zelle der Fehler anstelle des Sprungtextes angezeigt.
- Wenn der durch Hyperlink_Adresse festgelegte Sprung nicht existiert oder nicht erreichbar ist, entsteht beim Klicken auf die Zelle ein Fehler.
- Um eine Zelle, die HYPERLINK enthält zu markieren, klicken Sie auf eine Zelle daneben, und verwenden Sie eine Pfeiltaste, um sich zu der Zelle zu bewegen.

Beispiele

Im folgenden Beispiel wird ein Tabellenblatt mit dem Namen Budget Bericht.xls geöffnet, das im Internet am Speicherort mit dem Namen www.betrieb.com/bericht befindet und zeigt den Text "Für Bericht hier klicken" an:

HYPERLINK("http://www.betrieb.com/bericht/jahresbericht.xls"; "Für Bericht hier klicken")

Im folgenden Beispiel wird ein Hyperlink zur Zelle F10 auf dem Tabellenblatt mit dem Namen jährlich in der Arbeitsmappe Budget Bericht.xls erstellt, das sich im Internet am Speicherort www.betrieb.com/bericht befindet. In der Zelle im Tabellenblatt, die den Hyperlink enthält, wird der Inhalt der Zelle D1 als Sprungtext angezeigt:

HYPERLINK("[http://www.betrieb.com/bericht/jahresbericht.xls]jährlich!F10"; D1)

Im folgenden Beispiel wird ein Hyperlink zum Bereich mit dem Namen AbteilÜbersicht im Tabellenblatt mit dem Namen Erstes Quartal in der Arbeitsmappe Budget Bericht.xls erstellt, die sich im Internet an dem Speicherort mit dem Namen www.betrieb.com/bericht befindet. Die Zelle im Tabellenblatt, die den Hyperlink enthält, zeigt den Text "Klicken Sie hier, um eine Übersicht über das Erste Quartal der Abteilung zu erhalten" an:

HYPERLINK("[http://www.betrieb.com/bericht/jahresbericht.xls]Erstes Quartal!AbteilÜbersicht"; "Klicken Sie hier, um eine Übersicht über das Erste Quartal der Abteilung zu erhalten")

Um einen Hyperlink zu einer bestimmten Stelle in einem Microsoft Word-Dokument zu erstellen, müssen Sie eine Textmarke verwenden, um die Stelle im Dokument festzulegen, zu der gesprungen werden soll. Im folgenden Beispiel wird ein Hyperlink zu einer Textmarke mit dem Namen QrtlErtrag in dem Dokument mit dem Namen Jahresbericht.doc bei www.betrieb.com erstellt:

HYPERLINK("[http://www.betrieb.com/bericht/jahresbericht.doc]QrtlErtrag"; "Vierteljährlicher Ertragsbericht")

In Microsoft Excel 97 für Windows zeigt beim folgenden Beispiel der Inhalt der Zelle D5 als Sprungtext in der Zelle an und öffnet die Datei mit dem Namen qrtl1.xls, die sich auf einem Server mit dem Namen FINANZ auf der Freigabe Angaben befindet. In diesem Beispiel wird ein UNC-Pfad verwendet:

HYPERLINK("\\FINANZ\Angaben\qrtl1.xls"; D5)

Im folgenden Beispiel wird die Datei qrtl1.xls in Microsoft Excel 97 für Windows geöffnet, die sich in einem Verzeichnis mit dem Namen Finanz auf dem Laufwerk D befindet und der Wert von Zelle H10 angezeigt:

HYPERLINK("D:\FINANZ\qrtl1.xls"; H10)

Verwandte Themen
Dateipfade

Zum Kapitelanfang Zum Seitenanfang


Unterschiede bei Formular-Steuerelementen

Allgemeines

Formular-Steuerelemente stehen sowohl in Microsoft Excel für Windows als auch in Miccrosoft Excel für Macintosh zur Verfügung. Sie sind uneingeschränkt zwischen den verschiedenen Excelversionen kompatibel.

Einige Formular-Steuerelemente können einen so genannten Listenbereich und/oder eine Ausgabeverknüpfung besitzen. Beide Eigenschaften erlauben die Verwendung von Zellbereichen, die sich in einer anderen Arbeitsmappe befinden.

 

 

Steuerung-Eigenschaften eines Formular-Steuerelementes
Abbildung: Steuerung-Eigenschaften eines Formular-Steuerelementes

 

Wenn der Listenbereich beziehungsweise die Ausgabeverknüpfung eines Formular-Steuerelementes einen Bezug auf eine andere Arbeitsmappe enthält, so wird in der Arbeitsmappendatei ein SUPBOOK-Record geschrieben, der den relativen Pfad zur anderen Mappe enthält.

 

Zum Seitenanfang


Formular-Steuerelemente

CheckBox-Steuerelement (Kontrollkästchen)

- Pfad in Ausgabeverknüpfung

 

OptionButton-Steuerelement (Optionsfeld)

- Pfad in Ausgabeverknüpfung

 

DropDown-Steuerelement (Kombinationsfeld)

- Pfad in Listenbereich

- Pfad in Ausgabeverknüpfung

 

ListBox-Steuerelement (Listenfeld)

- Pfad in Listenbereich

- Pfad in Ausgabeverknüpfung

 

ScrollBar-Steuerelement (Bildlaufleiste)

- Pfad in Ausgabeverknüpfung

 

SpinButton-Steuerelement (Drehfeld)

- Pfad in Ausgabeverknüpfung

Zum Kapitelanfang Zum Seitenanfang


Unterschiede in der Programmiersprache VBA

Allgemeines

In diesem Kapitel geht es um diejenigen Sprachelemente von VBA, die auf Macintosh und unter Windows verschieden sind.

nicht auf beiden Plattformen funktionieren,

unterschiedliche Ergebnisse liefern

 

Insbesondere in diesen Bereichen gibt es Unterschiede:
» Laufwerks-, Verzeichnis- und Dateinamen (auf Macintosh werden andere Zeichen verwendet)
» Dateioperationen und Dateizugriffe (Unterschiede bei SetAttr, Dir, Kill, Name usw.)
» Dateisuche (FileFind-Objekt auf Macintosh)
» Systemumgebung (z.B. Environ)
» Registry-Zugriffe (auf Macintosh werden Anwendungs-Initialisierungsdateien verwendet)
» ActiveX-Controls (existieren nur in Windows)
» Grafik-Dateiformate (PICT auf Macintosh)
» API-Funktionen (Macintosh verwendet Code Ressourcen und nicht DLLs)

Gewöhnlich sind existierende Unterschiede und Spezialitäten direkt im jeweiligen Thema in der VBA-Referenz beschrieben. Leider sind sie nur sehr schwierig aufzuspüren, da es keine Übersicht aller Unterschiede zwischen VBA von Windows und Macintosh gibt.

Nachfolgend werden sämtliche derzeit bekannten Unterschiede ausführlich beschrieben. Die Microsoft VBA-Referenz enthält mehrere Fehler, die in den nachstehenden Beschreibungen korrigiert sind.

Zum Seitenanfang


Übersicht der Unterschiede

Element Typ Element von Bibliothek
Shell Funktion VBA VBA
Name Anweisung VBA VBA
Dir Funktion VBA VBA
SetAttr Anweisung VBA VBA
GetAttr Funktion VBA VBA
CurDir Funktion VBA VBA
ChDir Anweisung VBA VBA
ChDrive Anweisung VBA VBA
Kill Anweisung VBA VBA
AppActivate Anweisung VBA VBA
GetObject Funktion VBA VBA
Raise Methode Err-Objekt VBA
FreeFile Funktion VBA VBA
SendKeys Anweisung VBA VBA
StrConv Funktion VBA VBA
AscW Funktion VBA VBA
ChrW Funktion VBA VBA
Timer Funktion VBA VBA
RGB Funktion VBA VBA
Date Anweisung VBA VBA
Declare Anweisung VBA VBA
CDecl Schlüsselwort VBA VBA
MacScript Funktion VBA VBA
MacID Funktion VBA VBA
MsgBox Funktion VBA VBA
InputBox Funktion VBA VBA
Option Compare Anweisung VBA VBA
Environ Funktion VBA VBA
LastDLLError Eigenschaft Err-Objekt VBA

Zum Seitenanfang


Shell-Funktion

Shell führt ein ausführbares Programm aus. Falls erfolgreich, gibt sie einen Wert vom Typ Variant (Double) zurück, der die Task-ID des Programms darstellt. Andernfalls wird Null zurückgegeben.

Syntax

Shell(Pathname[, WindowStyle])

Die Syntax der Shell-Funktion verwendet die folgenden benannten Argumente:

Teil Beschreibung
Pathname Erforderlich. Wert vom Typ Variant (String). Name des auszuführenden Programms sowie alle erforderlichen Argumente oder Befehlszeilen-Optionen. Auch Verzeichnis-, Ordner- oder Laufwerksangaben können enthalten sein. Auf dem Macintosh können Sie mit der MacID-Funktion die Signatur einer Anwendung anstelle ihres Namens angeben.
WindowStyle Optional. Wert vom Typ Variant (Integer), der dem Stil des Fensters entspricht, in dem das Programm ausgeführt werden soll. Wenn WindowStyle nicht angegeben wird, erhält das Programm den Fokus und wird im minimierten Zustand gestartet. Auf dem Macintosh (System 7.0 oder höher) bestimmt WindowStyle lediglich, ob die Anwendung bei der Ausführung den Fokus erhält.

Die Werte des benannten Arguments WindowStyle sind folgendermassen definiert (Shell-Konstanten):

Konstante Wert Beschreibung
vbHide 0 Das Fenster ist ausgeblendet, und das ausgeblendete Fenster erhält den Fokus. Die Konstante vbHide kann auf Macintosh nicht verwendet werden.
vbNormalFocus 1 Das Fenster hat den Fokus, und die ursprüngliche Grösse und Position wird wiederhergestellt.
VbMinimizedFocus 2 Das Fenster wird als Symbol mit Fokus angezeigt.
vbMaximizedFocus 3 Das Fenster wird maximiert mit Fokus angezeigt.
vbNormalNoFocus 4 Die zuletzt verwendete Grösse und Position des Fensters wird wiederhergestellt. Das momentan aktive Fenster bleibt aktiv.
vbMinimizedNoFocus 6 Das Fenster wird als Symbol angezeigt. Das momentan aktive Fenster bleibt aktiv.

Die obigen Shell-Konstanten heissen auf beiden Plattformen gleich, besitzen aber zum Teil unterschiedliche Auswirkungen.

In Bezug auf Anzeige des Anwendungsfenster im Vordergrund oder Hintergrund gibt es Unterschiede. Auf dem Macintosh plazieren vbNormalFocus, vbMinimizedFocus und vbMaximizedFocus die Anwendung im Vordergrund. vbNormalNoFocus und vbMinimizedNoFocus plazieren die Anwendung im Hintergrund.

Bemerkungen

Wenn die Shell-Funktion die angegebene Datei erfolgreich ausführt, liefert sie die Task-ID des gestarteten Programmes zurück. Die Task-ID ist eine Zahl, die das ausgeführte Programm eindeutig kennzeichnet. Wenn die Shell-Funktion das angegebene Programm nicht starten kann, tritt ein Fehler auf.

Auf dem Macintosh können Sie mit der MacID-Funktion die Signatur einer Anwendung anstelle ihres Namens angeben. Im folgenden Beispiel wird die Signatur für Microsoft Word verwendet:

Shell MacID("MSWD")

In diesem Beispiel wird Microsoft Excel gestartet:

Shell MacID("XCEL")

Wenn Sie die MacID-Funktion mit Shell unter Microsoft Windows verwenden, tritt ein Fehler auf.

Weitere Beispiele

Dim Ergebnis As Long

' Unter Windows:
Ergebnis = Shell("C:\Windows\Calc.exe", vbNormalFocus)


' Auf Macintosh:
Ergebnis = Shell("Microsoft Excel")

Ergebnis = Shell(MacID("XCEL"))

Achtung!

In der Visual Basic Online-Hilfe steht, dass auch vbHide die Anwendung in den Hintergrund stellt. Diese Angabe ist jedoch falsch. Korrekt ist, dass vbHide auf einem Macintosh-System nicht verwendet werden kann. Zudem steht in der Online-Hilfe, dass vbNoFocus und vbMinimizeFocus die Anwendung im Hintergrund plazieren. Auch das stimmt nicht ganz, weil die Konstanten vbNormalNoFocus und vbMinimizedNoFocus heissen.

Anmerkung

Die Shell-Funktion startet ein Programm standardmässig asynchron. Daher muss ein mit Shell ausgeführtes Programm noch nicht abgeschlossen sein, wenn die nächsten Anweisungen, die auf die Shell-Funktion folgen, ausgeführt werden.

Tipp: ActivateMicrosoftApp-Methode für Microsoft-Anwendungen einsetzen
Wenn Sie in Ihrem VBA-Programm eine andere Microsoft-Anwendung starten wollen, können Sie anstelle der Shell-Funktion die Methode ActivateMicrosoftApp des Application-Objektes benutzen.

TODO

Verwandte Themen
MacID-Funktion
AppActivate-Anweisung
Unterschiede bei integrierten Konstanten

Detaillierte Informationen über das synchrone und asynchrone Starten von Programmen erhalten Sie hier:

Weitere Informationen

The SOSCQ Page: Starten von Programmen

Zum Seitenanfang


Name-Anweisung

Benennt eine Datei, ein Verzeichnis oder einen Ordner um. Die Name-Anweisung kann auch zum Verschieben einer Datei verwendet werden.

Syntax

Name AlterPfadname As NeuerPfadname

In den folgenden Beispielen wird die Name-Anweisung verwendet, um den Namen einer Datei zu ändern. Im Rahmen dieses Beispiels wird angenommen, dass die Verzeichnisse/Ordner bereits existieren. Auf dem Macintosh ist der Standardlaufwerkname "HD", und die Bestandteile des Pfadnamens sind durch Doppelpunkte statt umgekehrte Schrägstriche voneinander getrennt.

Beispiele

Dim AlterName As String
Dim NeuerName As String
AlterName = "DATEIALT"

NeuerName = "DATEINEU"
Name AlterName As NeuerName


' Unter Windows:
AlterName = "C:\VERZ1\DATEIALT"

NeuerName = "C:\VERZ2\DATEINEU"
Name AlterName As NeuerName


' Auf Macintosh:
AlterName = "HD:ORDNER1:DATEIALT"

NeuerName = "HD:ORDNER2:DATEINEU"
Name AlterName As NeuerName

Verwandte Themen
Unterschiede zwischen Windows und Macintosh: Dateipfade

Zum Seitenanfang


Dir-Funktion (Apple Power Macintosh)

Unter Microsoft Windows unterstützt die Dir-Funktion die Verwendung von Platzhaltern für mehrere Zeichen (*) und für ein einzelnes Zeichen (?), um mehrere Dateien anzugeben. Auf dem Macintosh werden diese Zeichen jedoch als gültige Zeichen von Dateinamen behandelt und können daher nicht als Platzhalter zum Angeben mehrerer Dateien verwendet werden. Da der Macintosh die Platzhalter nicht unterstützt, verwenden Sie den Dateityp, um Gruppen von Dateien zu kennzeichnen. Sie können die MacID-Funktion verwenden, um den Dateityp anstatt des Dateinamens anzugeben. Die folgende Anweisung gibt z.B. den Namen der ersten TEXT-Datei im aktuellen Ordner zurück:

Dir("Pfad2", MacID("TEXT"))

Sie können alle Dateien in einem Ordner durchlaufen, indem Sie eine leere Zeichenfolge angeben:

Dir("")

Wenn Sie die MacID-Funktion zusammen mit der Dir-Funktion in Microsoft Windows verwenden, tritt ein Fehler auf.

Attribut-Werte, die grösser als 256 sind, werden als MacID-Werte angesehen.

Gemäss VBA-Referenz sind die beiden folgenden Konstanten auf dem Macintosh nicht verfügbar:

Konstante Wert Beschreibung
vbSystem 4 Systemdatei
vbVolume 8 Datenträgerbezeichnung

Gemäss VBA-Referenz ist die folgende Konstante nur auf dem Macintosh verfügbar:

Konstante Wert Beschreibung
vbAlias 64 Der angegebene Dateiname ist ein Alias

Wichtiger Hinweis!

Bitte beachten Sie, dass die obigen, der VBA-Referenz entnommenen Informationen unvollständig sind! Korrekt ist, dass auf Macintosh nur diese vier und sonst keine anderen Konstanten für Dir verfügbar sind:
- vbNormal
- vbReadOnly
- vbHidden
- vbAlias

Alle anderen Konstanten sind auf Macintosh nicht erlaubt.

Eine vollständige Liste der Konstanten-Inkompatibilitäten finden Sie unter Unterschiede bei integrierten Konstanten.

Beispiel

' Dateityp mit der MacID-Funktion angeben.
' Die folgende Anweisung gibt die erste Datei mit dem Typ "TEXT"
' zurück, die im angegebenen Verzeichnis oder Ordner gefunden wurde.
Datei1 = Dir("HD:ORDNER1:", MacID("TEXT"))

Verwandte Themen
MacID-Funktion

Zum Seitenanfang


SetAttr-Anweisung und GetAttr-Funktion

Die SetAttr-Anweisung und die GetAttr-Funktion arbeiten unter Windows und Macintosh identisch. Es gibt aber Unterschiede bei den zur Verfügung stehenden Konstanten (sogenannte VbFileAttribute-Konstanten).

Gemäss VBA-Referenz sind die beiden folgenden Konstanten auf dem Macintosh nicht verfügbar:

Konstante Wert Beschreibung
vbSystem 4 Systemdatei
vbVolume 8 Datenträgerbezeichnung

Gemäss VBA-Referenz ist die folgende Konstante ausschliesslich auf dem Macintosh verfügbar:

Konstante Wert Beschreibung
vbAlias 64 Der angegebene Dateiname ist ein Alias

Wichtiger Hinweis!

Bitte beachten Sie, dass die obigen, der VBA-Referenz entnommenen Informationen unvollständig sind! Korrekt ist, dass auf dem Macintosh nur diese vier und sonst keine anderen Konstanten für SetAttr und GetAttr verfügbar sind:
- vbNormal
- vbReadOnly
- vbHidden
- vbAlias

Alle anderen Konstanten sind auf dem Macintosh nicht erlaubt und sollten daher nicht verwendet werden.

Eine vollständige Liste der Konstanten-Inkompatibilitäten finden Sie unter Unterschiede bei integrierten Konstanten.

Zum Seitenanfang


CurDir-Funktion

Gibt einen Wert vom Typ Variant (String) zurück, der den aktuellen Pfad darstellt.

Syntax

CurDir[(Laufwerk)]

Das optionale Argument Laufwerk ist ein Zeichenfolgenausdruck, der ein existierendes Laufwerk angibt. Ist kein Laufwerk angegeben, oder enthält das Laufwerk eine Null-Zeichenfolge (""), so gibt die CurDir-Funktion den Pfad des aktuellen Laufwerks zurück.

Anmerkung

Wenn für Laufwerk ein ungültiges Zeichen angegeben wird, so erscheint der Laufzeitfehler 5 "Unzulässiger Prozeduraufruf oder ungültiges Argument". Als Zeichen sind nur Buchstaben von a bis z beziehungsweise von A bis Z erlaubt.

Wird ein existierendes Laufwerk angegeben, welches aber nicht bereit ist, so wird das Stammverzeichnis des angegebenen Laufwerkes zurückgegeben (z.B. "A:\" beim Diskettenlaufwerk "A:", auch wenn keine Diskette eingelegt ist).

Wenn ein nicht vorhandenes Laufwerk angegeben wird, so tritt der Laufzeitfehler 68 "Gerät nicht verfügbar" auf.

Bemerkungen

Beim Macintosh ignoriert CurDir die Angabe für Laufwerk und gibt einfach den Pfad des aktuellen Laufwerks zurück. Wenn das Programm auf einem Macintosh ausgeführt wird, können Sie für Laufwerk irgend etwas angeben, weil es keinen Einfluss auf den von CurDir zurückgegebenen Pfad hat.

Verwandte Themen
ChDir-Anweisung
ChDrive-Anweisung

Zum Seitenanfang


ChDir-Anweisung

Wechselt das aktuelle Verzeichnis oder den aktuellen Ordner.

Syntax

ChDir Pfad

Das erforderliche Argument Pfad ist ein Zeichenfolgenausdruck, der angibt, welches Verzeichnis oder welcher Ordner zum neuen Standardverzeichnis oder -ordner wird. Pfad kann das Laufwerk beinhalten. Ist kein Laufwerk angegeben, so wechselt die ChDir-Anweisung das Standardverzeichnis oder den Standardordner auf dem aktuellen Laufwerk.

Anmerkung

Als Pfad kann auch ein UNC-Pfad (\\Server\Share...) angegeben werden, was bedeutet, dass ChDir korrekt zwischen UNC-Pfaden wechselt.

Achtung!

Beachten Sie bitte, dass im Gegensatz zu ChDir die Anweisung ChDrive keine UNC-Pfade verarbeiten kann (siehe unter ChDrive-Anweisung).

Bemerkungen

Die ChDir-Anweisung wechselt das Standardverzeichnis, aber nicht das Standardlaufwerk. Ist das Standardlaufwerk zum Beispiel C:, dann wechselt die folgende Anweisung zwar das Standardverzeichnis auf Laufwerk D:, aber C: bleibt das Standardlaufwerk. In diesem Beispiel ist die genau der Fall:

ChDir "D:\TMP"

Auf dem Power Macintosh ändert sich das Standardlaufwerk immer auf das Laufwerk, das in Pfad angegeben wird. Eine vollständige Pfadangabe beginnt mit dem Volumennamen, eine relative Pfadangabe beginnt mit einem Doppelpunkt (:). ChDir löst alle im Pfad angegebenen Aliase auf:

ChDir "MacDrive:Tmp"   ' Auf dem Macintosh (vollständiger Pfad)
ChDir ":Tmp"           ' Auf dem Macintosh (relativer Pfad)

Beim Wechseln relativer Verzeichnisse werden unter Microsoft Windows und auf dem Macintosh unterschiedliche Symbole verwendet:

ChDir ".."    ' Wechselt unter Microsoft Windows ein Verzeichnis nach oben
ChDir "::"    ' Wechselt auf dem Macintosh ein Verzeichnis nach oben

Verwandte Themen
CurDir-Funktion
ChDrive-Anweisung

Zum Seitenanfang


ChDrive-Anweisung

Mit der ChDrive-Anweisung wird das aktuelle Laufwerk gewechselt.

Syntax

ChDrive Laufwerk

Das erforderliche Argument Laufwerk ist ein Zeichenfolgenausdruck, der ein existierendes Laufwerk angibt. Wenn Sie eine Null-Zeichenfolge ("") angeben, ändert sich das aktuelle Laufwerk nicht. Ist das Argument Laufwerk eine Zeichenfolge mit mehreren Zeichen, so verwendet die ChDrive-Anweisung grundsätzlich nur das erste angegebene Zeichen.

Beim Macintosh wechselt ChDrive vom aktuellen Verzeichnis zum Stammverzeichnis des angegebenen Laufwerks.

Achtung!

Beachten Sie bitte, dass ChDrive keine UNC-Pfade bzw. mittels UNC ausgedrückte Laufwerksangaben verarbeitet. Wenn für Laufwerk ein UNC-Pfad bzw. -Laufwerk angegeben wird, erscheint ein Laufzeitfehler. Diesen können Sie verhindern, indem die Anweisung On Error Resume Next verwendet wird, oder indem geprüft wird, ob die ersten beiden Zeichen von Laufwerk umgekehrte Schrägstriche (\) sind.

Anmerkung

Die ChDir-Anweisung dagegen kann UNC-Pfade problemlos verarbeiten (siehe unter ChDir-Anweisung).

Bemerkungen

Immer wenn das angegebene Zeichen bzw. das erste der angegebenen Zeichen kein Buchstabe von a bis z beziehungsweise von A bis Z ist, so erscheint der Laufzeitfehler 5 "Unzulässiger Prozeduraufruf oder ungültiges Argument".

Verwandte Themen
CurDir-Funktion
ChDir-Anweisung

Zum Seitenanfang


Kill-Anweisung

Die Kill-Anweisung löscht eine oder mehrere Datei(en).

Syntax

Kill Pfadname

Das erforderliche Argument Pfadname ist ein Zeichenfolgenausdruck, der eine oder mehrere zu löschende Dateien angibt. Pfadname kann ein Verzeichnis oder einen Ordner sowie ein Laufwerk enthalten.

Anmerkung zu Windows

Unter Microsoft Windows unterstützt die Kill-Anweisung die Verwendung von Platzhaltern für mehrere Zeichen (*) und für ein einzelnes Zeichen (?), um mehrere Dateien anzugeben und zu löschen.

Anmerkung zu Macintosh

Auf dem Macintosh werden die Platzhalterzeichen * und ? als gültige Zeichen von Dateinamen behandelt und können daher nicht als Platzhalter zum Angeben mehrerer Dateien verwendet werden. Da der Macintosh diese Platzhalter nicht unterstützt, müssen Sie stattdessen den Dateityp verwenden, um Gruppen von Dateien zu kennzeichnen. Sie können die MacID-Funktion verwenden, um den Dateityp anstatt des Dateinamens anzugeben. Die folgende Anweisung löscht zum Beispiel alle TEXT-Dateien im aktuellen Ordner:

Kill MacID("TEXT")

Wenn Sie die MacID-Funktion zusammen mit der Kill-Anweisung in Microsoft Windows verwenden, tritt der Laufzeitfehler 13 "Typen unverträglich" auf:

Laufzeitfehler 13
Abbildung: Laufzeitfehler 13

Verwandte Themen
MacID-Funktion
Unterschiede zwischen Windows und Macintosh: Dateipfade

Zum Seitenanfang


AppActivate-Anweisung

Mit AppActivate wird ein Anwendungsfenster aktiviert.

Syntax

AppActivate Title[, Wait]

Die Syntax der AppActivate-Anweisung verwendet die folgenden benannten Argumente:

Teil Beschreibung
Title Erforderlich. Ein Zeichenfolgenausdruck, der den Titel in der Titelleiste des zu aktivierenden Anwendungsfensters angibt. Die von der Shell-Funktion zurückgegebene Task-ID kann anstelle von Title verwendet werden, um eine Anwendung zu aktivieren.
Wait Optional. Ein Wert vom Typ Boolean, der angibt, ob die aufrufende Anwendung den Fokus hat, bevor sie eine andere Anwendung aktiviert. Beim Wert False (Voreinstellung) wird die angegebene Anwendung mit sofortiger Wirkung aktiviert, auch wenn die aufrufende Anwendung nicht den Fokus hat. Beim Wert True wartet die aufrufende Anwendung, bis sie den Fokus erhält, und aktiviert dann die angegebene Anwendung.

Bemerkungen

Die AppActivate-Anweisung setzt den Fokus auf die angegebene Anwendung oder das angegebene Fenster, hat aber keinen Einfluss darauf, ob diese maximiert oder minimiert dargestellt werden. Das aktivierte Anwendungsfenster verliert den Fokus, wenn der Benutzer das Fenster schliesst oder den Fokus auf ein anderes Fenster setzt. Verwenden Sie die Shell-Funktion, wenn Sie eine Anwendung starten und den Fensterstil festlegen möchten.

Welche Anwendung aktiviert werden soll, wird bestimmt, indem Title mit der Zeichenfolge des Titels jeder einzelnen momentan ausgeführten Anwendung verglichen wird. Wenn es keine genaue Übereinstimmung gibt, wird eine beliebige Anwendung, deren Zeichenfolge mit Title beginnt, aktiviert. Wenn mehr als eine Instanz dieser Anwendung mit Title bezeichnet ist, wird eine der Instanzen willkürlich aktiviert.

Beispiele

Dim Ergebnis As Long

' Unter Windows und auf Macintosh:

AppActivate "Microsoft Word"

' Unter Windows:
Ergebnis = Shell("C:\Windows\Calc.exe", vbNormalFocus)
AppActivate Ergebnis

' Auf Macintosh:
Ergebnis = Shell(MacID("XCEL"))
AppActivate Ergebnis

Verwandte Themen
Shell-Funktion
MacID-Funktion

Weiterführende Informationen über das Aktivieren von Anwendungen erhalten Sie hier:

Dokumentation

The eXpLorer: Senden von Tastenbefehlen

Zum Seitenanfang


GetObject-Funktion

Die GetObject-Funktion gibt einen Verweis auf ein ActiveX-Objekt aus einer Datei zurück oder referenziert eine bereits laufende Server-Anwendung.

Syntax

GetObject([Pathname] [, Class])

Die Syntax der GetObject-Funktion verwendet die folgenden benannten Argumente:

Teil Beschreibung
Pathname Optional. Ein Wert vom Typ Variant (String). Der vollständige Pfad und Name der Datei, die das abzurufende Objekt enthält. Wird Pathname nicht angegeben, so ist Class erforderlich.
Class Optional. Ein Wert vom Typ Variant (String). Eine Zeichenfolge, die die Klasse des Objekts darstellt.

Wird eine Datei bei Pathname angegeben, so muss ihr Pfad- und Dateiname entsprechend den Namenskonventionen der aktuellen Plattform angepasst werden.

Verwandte Themen
Unterschiede zwischen Windows und Macintosh: Dateipfade

Zum Seitenanfang


Raise-Methode des Err-Objektes

Die Raise-Methode des Err-Objektes von VBA löst einen Laufzeitfehler aus.

Syntax

Err.Raise Number, [Source], [Description], [HelpFile], [HelpContext]

Die Raise-Methode funktioniert unter Windows und auf Macintosh identisch. Lediglich beim Argument HelpFile müssen Sie daran denken, dass der Pfad- und Dateiname der angegebenen Hilfedatei an die jeweils vorhandene Plattform angepasst werden muss.

Verwandte Themen
Unterschiede zwischen Windows und Macintosh: Dateipfade

Zum Seitenanfang


FreeFile-Funktion

Die FreeFile-Funktion gibt einen Wert vom Typ Integer zurück, der die nächste verfügbare Dateinummer darstellt, die die Open-Anweisung zum Öffnen einer Datei verwenden kann.

Syntax

FreeFile([Bereichsnummer])

Die FreeFile-Funktion funktioniert unter Windows und auf Macintosh genau gleich. Man muss jedoch beachten, dass je nach Konfiguration des Rechners (egal ob PC oder Macintosh) der Aufruf von FreeFile mehr oder weniger schnell zum Laufzeitfehler 67 "Zu viele Dateien" führen kann.

Verwandte Themen
Fehlermeldung: Zu viele Dateien (Fehler 67)

Zum Seitenanfang


SendKeys-Anweisung

SendKeys sendet eine Tastenfolge, die aus einem oder mehreren Tastenanschlägen bestehen kann, an das aktive Fenster, als ob sie über die Tastatur eingegeben worden wäre.

Es ist nicht eindeutig erkennbar, ob die SendKeys-Anweisung auf dem Macintosh verfügbar ist oder nicht.

TODO

Wenn Sie SendKeys auf dem Macintosh ausführen, tritt der Laufzeitfehler 5 "Unzulässiger Prozeduraufruf oder ungültiges Argument" auf.

Verwandte Themen
Senden von Tastenfolgen

Eine umfassende Dokumentation zum Thema "Senden von Tastenbefehlen" finden Sie hier:

Dokumentation

The eXpLorer: Senden von Tastenbefehlen

 

Zum Seitenanfang


StrConv-Funktion (StrConv-Konstanten)

Die StrConv-Funktion wandelt eine Zeichenfolge um. Sie gibt einen Wert vom Typ Variant (String) zurück, der wie angegeben umgewandelt wurde.

Syntax

StrConv(String, Conversion)

Die Einstellungen für das Argument Conversion sind:

Konstante Wert Beschreibung
vbUpperCase 1 Wandelt die Zeichenfolge in Grossbuchstaben um.
vbLowerCase 2 Wandelt die Zeichenfolge in Kleinbuchstaben um.
vbProperCase 3 Wandelt den Anfangsbuchstaben in jedem Wort der Zeichenfolge in einen Grossbuchstaben um.
vbWide 4 Wandelt schmale Zeichen (Einzelbyte) in der Zeichenfolge in breite Zeichen (Doppelbyte) um. Betrifft Gebietsschemata Fernost.
vbNarrow 8 Wandelt breite Zeichen (Doppelbyte) in der Zeichenfolge in schmale Zeichen (Einzelbyte) um. Betrifft Fernost-Gebietsschemata.
vbKatakana 16 Wandelt Hiragana-Zeichen in der Zeichenfolge in Katakana-Zeichen um. Betrifft nur Japan.
vbHiragana 32 Wandelt Katakana-Zeichen in der Zeichenfolge in Hiragana-Zeichen um. Betrifft nur Japan.
vbUnicode 64 Wandelt die Zeichenfolge unter Verwendung der Standard-Zeichenumsetzungstabelle des Systems in Unicode um. Nicht verfügbar auf dem Macintosh.
vbFromUnicode 128 Wandelt die Zeichenfolge unter Verwendung der Standard-Zeichenumsetzungstabelle des Systems aus Unicode um. Nicht verfügbar auf dem Macintosh.

Wie der obigen Tabelle entnommen werden kann, stehen die beiden Konstanten vbUnicode und vbFromUnicode auf dem Macintosh nicht zur Verfügung. Bei Verwendung dieser Konstanten auf Macintosh tritt ein Laufzeitfehler auf.

Eine vollständige Liste der Konstanten-Inkompatibilitäten finden Sie unter Unterschiede bei integrierten Konstanten.

Verwandte Themen
Unicode-Zeichenfolgen

Zum Seitenanfang


AscW-Funktion

Die Asc-Funktion gibt einen Wert vom Typ Integer zurück, der den Zeichencode entsprechend dem ersten Buchstaben in einer Zeichenfolge darstellt. Die AscW-Funktion gibt den Unicode-Zeichencode zurück.

Visual Basic für den Macintosh unterstützt keine Unicode-Zeichenfolgen. Daher kann AscW(n) nicht alle Unicode-Zeichen für n Werte im Bereich von 128 – 65'535 zurückgeben, wie das in der Windows-Umgebung passiert. Statt dessen versucht AscW(n), die Unicode-Werte zu "erraten", für die n grösser als 127 ist. Sie sollten daher AscW nicht in der Macintosh-Umgebung verwenden.

Verwandte Themen
Unicode-Zeichenfolgen

Zum Seitenanfang


ChrW-Funktion

Die Chr-Funktion gibt einen Wert vom Typ String zurück, der das Zeichen enthält, das dem angegebenen Zeichen-Code zugeordnet ist. Die ChrW-Funktion gibt einen Wert vom Typ String zurück, der das Unicode-Zeichen enthält.

Visual Basic für den Macintosh unterstützt keine Unicode-Zeichenfolgen. Deshalb kann ChrW(n) nicht wie in der Windows-Umgebung alle Unicode-Zeichen für n Werte im Bereich von 128 bis 65'535 zurückgeben. Statt dessen versucht ChrW(n), für Unicode-Werte, bei denen n grösser als 127 ist, den Wert zu "erraten". Sie sollten ChrW daher nicht in der Macintosh-Umgebung verwenden.

Anmerkung

In der Referenz von VBA 5 (Office 97 für Windows, Office 98 für Macintosh, Office 2001 für Macintosh und Office v.X für Macintosh) steht nicht exakt das gleiche wie in der Referenz von VBA 6 (ab Office 2000 für Windows bzw. ab Office 2004 für Macintosh). In der VBA 5-Referenz ist angegeben, dass auf Macintosh die ChrW-Funktion das gleiche Zeichen wie die Chr-Funktion zurückgibt. In der VBA 6-Referenz steht jedoch, dass man auf Macintosh die ChrW-Funktion nicht verwenden sollte.

Verwandte Themen
Unicode-Zeichenfolgen

Zum Seitenanfang


Timer-Funktion

Mit der Timer-Funktion erhält man einen Wert vom Typ Single (Gleitkommazahl mit einfacher Genauigkeit) zurück, der die Anzahl der seit Mitternacht vergangenen Sekunden angibt.

Unter Microsoft Windows gibt die Timer-Funktion Bruchteile einer Sekunde zurück (z.B. 48651.43). Die kleinste Einheit ist Hundertstel-Sekunde. Auf dem Macintosh ist die Einheit dagegen eine Sekunde.

Zum Seitenanfang


RGB-Funktion

Die RGB-Funktion gibt einen Wert vom Typ Long zurück, der einen RGB-Farbwert (red, green, blue) darstellt.

Die von dieser Funktion zurückgegebenen RGB-Farbwerte sind nicht mit den vom Macintosh-Betriebssystem zurückgegebenen Werten kompatibel. Sie können im Zusammenhang mit Microsoft-Anwendungen für den Macintosh verwendet werden, sollten aber nicht zum Einsatz kommen, wenn Farbänderungen direkt dem Macintosh-Betriebssystem mitgeteilt werden.

Zum Seitenanfang


SaveSetting-Anweisung

Speichert oder erstellt einen Eintrag einer Anwendung in der Windows-Registrierung oder, auf dem Macintosh, die entsprechenden Informationen in der Initialisierungsdatei der Anwendung.

Anmerkung zum Argument appname

Das Argument appname ist erforderlich und enthält einen Zeichenfolgenausdruck mit dem Namen der Anwendung oder des Projekts, deren/dessen Schlüsseleinstellungen angefordert werden. Auf dem Macintosh ist dies der Name der Initialisierungsdatei im Ordner Preferences aus dem Systemordner.

Zum Seitenanfang


GetSetting-Funktion

Gibt einen Wert einer Schlüsseleinstellung aus dem Eintrag einer Anwendung in der Windows-Registrierung oder, auf dem Macintosh, die entsprechenden Informationen aus der Initialisierungsdatei der Anwendung zurück.

Anmerkung zum Argument appname

Das Argument appname ist erforderlich und enthält einen Zeichenfolgenausdruck mit dem Namen der Anwendung oder des Projekts, deren/dessen Schlüsseleinstellungen angefordert werden. Auf dem Macintosh ist dies der Name der Initialisierungsdatei im Ordner Preferences aus dem Systemordner.

Zum Seitenanfang


GetAllSettings-Funktion

Gibt eine Liste von Schlüsseleinstellungen zusammen mit den zugehörigen Werten (die ursprünglich mit SaveSetting erstellt wurden) für den Eintrag einer Anwendung in der Windows-Registrierung oder, auf dem Macintosh, die entsprechenden Informationen aus der Initialisierungsdatei der Anwendung zurück.

Anmerkung zum Argument appname

Das Argument appname ist erforderlich und enthält einen Zeichenfolgenausdruck mit dem Namen der Anwendung oder des Projekts, deren/dessen Schlüsseleinstellungen angefordert werden. Auf dem Macintosh ist dies der Name der Initialisierungsdatei im Ordner Preferences aus dem Systemordner.

Zum Seitenanfang


DeleteSetting-Anweisung

Löscht einen Abschnitt oder eine Schlüsseleinstellung aus einem Eintrag einer Anwendung in der Windows-Registrierung oder, auf dem Macintosh, die entsprechenden Informationen in der Initialisierungsdatei der Anwendung.

Anmerkung zum Argument appname

Das Argument appname ist erforderlich und enthält einen Zeichenfolgenausdruck mit dem Namen der Anwendung oder des Projekts, deren/dessen Schlüsseleinstellungen angefordert werden. Auf dem Macintosh ist dies der Name der Initialisierungsdatei im Ordner Preferences aus dem Systemordner.

Zum Seitenanfang


Date-Anweisung

Stellt das aktuelle Systemdatum ein.

Syntax

Date = Datum

- Auf Systemen vom Typ Microsoft Windows 95 muss das mit dem Argument Datum angegebene Datum zwischen dem 1. Januar 1980 und dem 31. Dezember 2099 (einschliesslich) liegen.
- Auf Systemen vom Typ Microsoft Windows NT muss das mit dem Argument Datum angegebene Datum zwischen dem 1. Januar 1980 und dem 31. Dezember 2079 (einschliesslich) liegen.
- Beim Macintosh muss Datum ein Tag zwischen dem 1. Januar 1904 und dem 5. Februar 2040 sein.

Verwandte Themen
1900 und 1904 Datumssystem von Microsoft Excel

Zum Seitenanfang


Declare-Anweisung

Die Declare-Anweisung deklariert auf Modulebene Verweise auf externe Prozeduren in einer Dynamic Link Library (DLL) oder Code-Ressource (Macintosh).

Syntax 1

[Public | Private] Declare Sub Name Lib "BibName" [Alias "Aliasname"] [([ArgListe])]

Syntax 2

[Public | Private] Declare Function Name Lib "BibName" [Alias "Aliasname"] [([ArgListe])] [As Typ]

Syntax 3 (Power Macintosh)

[Public | Private ] Declare Function Name [CDecl] Lib "BibName" [Alias "Aliasname" ] [([ArgListe])] [As Typ]

Die Syntax der Declare-Anweisung besteht aus folgenden Teilen:

Teil Beschreibung
Public Optional. Deklariert Prozeduren, die allen anderen Prozeduren in allen Modulen zur Verfügung stehen.
Private Optional. Deklariert Prozeduren, die nur innerhalb des Moduls verfügbar sind, in dem sie deklariert wurden.
Sub Optional (entweder Sub oder Function muss auftreten). Die Prozedur gibt keinen Wert zurück.
Function Optional (entweder Sub oder Function muss auftreten). Die Prozedur gibt einen Wert zurück, der in einem Ausdruck verwendet werden kann.
Name Erforderlich. Ein beliebiger gültiger Name für eine Prozedur. Beachten Sie, dass bei den Namen der DLL-Einsprungpunkte zwischen Gross-/Kleinschreibung unterschieden wird.
Lib Erforderlich. Die deklarierte Prozedur ist in einer DLL oder Code-Ressource enthalten. Der Lib-Abschnitt ist bei allen Deklarationen erforderlich.
BibName Erforderlich. Name der DLL oder Code-Ressource, die die deklarierte Prozedur enthält.
Alias Optional. Gibt an, dass die aufgerufene Prozedur in der DLL einen anderen Namen hat. Dies ist sinnvoll, wenn der Name einer externen Prozedur einem Schlüsselwort entspricht. Alias kann auch verwendet werden, wenn eine DLL-Prozedur denselben Namen hat wie eine öffentliche Variable, Konstante oder eine andere Prozedur mit demselben Gültigkeitsbereich. Alias bietet sich darüber hinaus an, wenn bestimmte Zeichen im Namen der DLL-Prozedur aufgrund der Namenskonvention für DLLs nicht zulässig sind.

Auf dem Power Macintosh kann das Schlüsselwort Alias auch verwendet werden, um anzuzeigen, dass die aufgerufene Prozedur sich in einer Macintosh Code-Ressource befindet.

Aliasname Optional. Name der Prozedur in der DLL oder Code-Ressource. Wenn das erste Zeichen nicht das Zeichen # ist, gibt Aliasname den Namen des Einsprungpunktes in der DLL an. Ist das Zeichen # das erste Zeichen, so müssen alle nachfolgenden Zeichen die Ordnungszahl (laufende Nummer) für den Einsprungpunkt in die Prozedur angeben.

Auf dem Power Macintosh kann Aliasname folgendermassen verwendet werden, um den Typ der Code-Ressource anzugeben:

"[Ressourcentyp]$[Ressourcenname]"

Der Ressourcentyp ist eine beliebige zulässige Konstante. Wird sie nicht angegeben, so ist der Standard-Ressourcentyp CODE. Der Ressourcenname ist der Name der Prozedur in der Code-Ressource. Wird Ressourcenname weggelassen, so wird Name als Ressourcenname angenommen.

ArgListe Optional. Variablenliste mit den Argumenten, die beim Aufruf an die Prozedur übergeben werden.
Typ Optional. Datentyp des Rückgabewerts einer Function-Prozedur. Zulässige Typen sind: Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (zur Zeit nicht unterstützt), Date, String (nur Zeichenfolgen variabler Länge) oder Variant, ein benutzerdefinierter Typ oder ein Objekttyp.
CDecl Auf dem Power Macintosh kann das Schlüsselwort CDecl verwendet werden, um anzuzeigen, dass die Prozedur die Argument-Reihenfolge, Namens- und Aufrufkonventionen der Sprache C verwendet.

Das Argument ArgListe hat die folgende Syntax und die folgenden Teile:

[Optional] [ByVal | ByRef] [ParamArray] VarName[( )] [As Typ]

Teil Beschreibung
Optional Optional. Ein Argument ist nicht erforderlich. Alle im Anschluss an Optional in ArgListe angegebenen Argumente müssen ebenfalls optional sein und mit dem Schlüsselwort Optional deklariert werden. Optional kann nicht verwendet werden, wenn ParamArray verwendet wird.
ByVal Optional. Das Argument wird als Wert übergeben.
ByRef Das Argument wird als Referenz übergeben. ByRef ist die Voreinstellung in Visual Basic.
ParamArray Optional. Wird nur als letztes Argument in ArgListe verwendet und gibt an, dass das letzte Argument ein Datenfeld vom Typ Optional aus Elementen vom Typ Variant ist. Das Schlüsselwort ParamArray erlaubt die Angabe einer variablen Anzahl von Argumenten und darf nicht in Kombination mit den Schlüsselwörtern ByVal, ByRef oder Optional verwendet werden.
VarName Erforderlich. Name der Variablen, die das an die Prozedur zu übergebende Argument darstellt. Der Name muss den Standardkonventionen für Namen von Variablen entsprechen.
( ) Erforderlich für Datenfeldvariablen. Zeigt an, dass VarName ein Datenfeld ist.
Typ Optional. Datentyp des an die Prozedur übergebenen Arguments. Zulässige Typen sind: Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (zur Zeit nicht unterstützt), Date, String (nur Zeichenfolgen variabler Länge), Object, Variant, ein benutzerdefinierter Typ oder ein Objekttyp.

Bemerkungen

In Function-Prozeduren legt der Datentyp für die Prozedur den Datentyp des Rückgabewerts fest. Mit einem As-Abschnitt im Anschluss an ArgListe können Sie den Rückgabetyp der Funktion festlegen. Innerhalb von ArgListe legen Sie mit einem As-Abschnitt den Datentyp der einzelnen an die Prozedur übergebenen Argumente fest. Neben den Standard-Datentypen können Sie an dieser Stelle auch As Any in ArgListe angeben, um die Typprüfung zu unterdrücken und einen beliebigen Datentyp an die Prozedur zu übergeben.

Ein leeres Klammernpaar steht für eine Sub- oder Function-Prozedur ohne Argumente und weist darauf hin, dass Visual Basic keine Argumente übergeben soll. Im folgenden Beispiel wird "Erster" ohne Argumente deklariert. Wenn Sie beim Aufruf von "Erster" ein Argument verwenden, tritt ein Fehler auf:

Declare Sub Erster Lib "MeineLib" ()

Wenn Sie eine Argumentliste angeben, werden die Anzahl und der Typ der Argumente bei jedem Prozeduraufruf überprüft. Im folgenden Beispiel erwartet "Erster" ein Argument vom Typ Long:

Declare Sub Erster Lib "MeineLib" (X As Long)

Anmerkung

Zeichenfolgen fester Länge sind in der Argumentliste einer Declare-Anweisung nicht zulässig, da nur Zeichenfolgen variabler Länge an eine Prozedur übergeben werden können. Zeichenfolgen fester Länge sind als Prozedurargumente zwar zulässig, werden aber vor der Übergabe in Zeichenfolgen variabler Länge umgewandelt.

Anmerkung

Die Konstante vbNullString wird von Visual Basic für den Aufruf externer Prozeduren verwendet, wenn die externe Prozedur eine Zeichenfolge mit dem Wert Null erfordert. Eine solche Zeichenfolge ist nicht mit einer Null-Zeichenfolge ("") identisch.

Auf dem Power Macintosh unterstützt die Declare-Anweisung Aufrufe von native Code nur in Codefragmenten. Der Aufruf von Code in Code-Ressourcen wird ebenfalls unterstützt, aber nur im 68000-Emulationsmodus.

Bei Verwendung auf dem Power Macintosh ist die Syntax der Declare-Anweisung folgende:

Declare Function MeineFunktion Lib "hd:Systemordner:Systemerweiterungen:MeinCodeFragment" Alias "MeineFunktion" () As Long

Sowohl bei Codefragmenten als auch bei Code-Ressourcen kann ein vollständiger oder teilweiser Pfadname in der Lib-Klausel angegeben werden. Falls die angegebene Lib-Klausel mehrdeutig ist, wird sie folgendermassen aufgelöst:

Damit ist die Erstellung von "Fat"-Codefragmenten möglich, d.h. von Dateien, die sowohl Code-Fragmente als auch 68000-Code-Ressourcen enthalten. Bei Ausführung von Visual Basic for Applications auf einem 68000-Macintosh wird die Code-Ressource verwendet. Bei Ausführung auf einem Power Macintosh wird das native Codefragment verwendet.

Die Macintosh-Toolbox ist auf dem Power Macintosh mit Hilfe einer Deklaration in das Codefragment des Systems zugänglich.

In diesem Beispiel wird die Verwendung der Declare-Anweisung auf Modulebene eines Standardmoduls gezeigt, um einen Verweis auf eine externe Prozedur in einer Dynamic Link Library (DLL) oder Macintosh-Code-Ressource zu deklarieren. Sie können Declare-Anweisungen in Klassenmodulen angeben, wenn die Declare-Anweisungen das Attribut Private haben.

Code für Microsoft Windows (16-Bit):

Declare Sub MessageBeep Lib "User" (ByVal N As Integer)
' Signal1 ist ein Alias für den Prozedurnamen.
Declare Sub MessageBeep Lib "User" Alias "Signal1"(ByVal N As Integer)
' Laufende Nummer in Alias-Abschnitt zum Aufruf von GetWinFlags verwenden.
Declare Function GetWinFlags Lib "Kernel" Alias "#132"() As Long

Code für Microsoft Windows (32-Bit und 16-Bit):

' Geben Sie in 32-Bit Microsoft Windows-Systemen nicht die Bibliothek USER.DLL an, sondern USER32.DLL.
' Mit bedingter Kompilierung können Sie Code schreiben, der sowohl unter Win32 als auch unter Win16 ausgeführt werden kann.

#If Win32 Then
  Declare Sub MessageBeep Lib "User32" (ByVal N As Long)
#Else
  Declare Sub MessageBeep Lib "User" (ByVal N As Integer)
#End If

Code für Macintosh:

Declare Sub MessageAlert Lib "HD1:Warnung1" Alias "Warnung1" (ByVal N As Integer)
' Code-Ressource in Alias-Abschnitt verwenden.
Declare Sub MessageAlert Lib "HD1:Warnung1" Alias "XTST$Warnung1" (ByVal N As Integer)

' Wenn der Typbezeichner der Code-Ressource nur 3 Zeichen hat, müssen Sie ein Leerzeichen an der Stelle stehen lassen,
' an der das letzte Zeichen normalerweise stehen würde.

Declare Sub MessageAlert Lib "HD1:EineWarnung" Alias "COD $EineWarnung" (ByVal N As Integer)

Verwandte Themen
CDecl-Schlüsselwort

Zum Seitenanfang


CDecl-Schlüsselwort

Auf dem Power Macintosh kann in einer Declare-Anweisung das Schlüsselwort CDecl verwendet werden, um anzuzeigen, dass die Prozedur die Argument-Reihenfolge, Namens- und Aufrufkonventionen der Sprache C verwendet.

Syntax der Declare-Anweisung (Power Macintosh)

[Public | Private] Declare Function Name [CDecl] Lib "BibName" [Alias "Aliasname" ] [([ArgListe])] [As Typ]

Das CDecl-Schlüsselwort steht nur auf Macintosh zur Verfügung. Bei Verwendung von CDecl unter Windows tritt der Laufzeitfehler 49 "Falsche DLL-Aufrufkonvention" auf, sobald die externe Funktion aufgerufen wird.

Verwandte Themen
Declare-Anweisung
Laufzeitfehler 49 "Falsche DLL-Aufrufkonvention"

Zum Seitenanfang


MacScript-Funktion

Die MacScript-Funktion führt ein AppleScript-Skript aus und gibt durch das Skript einen Wert zurück, falls vorhanden. Sie ist nur auf dem Macintosh verfügbar.

Syntax

MacScript Skript

Das Argument Skript ist ein Zeichenfolgenausdruck. Der Zeichenfolgenausdruck kann entweder eine Reihe von AppleScript-Befehlen repräsentieren oder den Namen eines AppleScript-Skripts oder eine Skriptdatei angeben.

Anmerkung

Weil die MacScript-Funktion zum Standard-Sprachumfang von VBA gehört, kann der Programmcode auf beiden Plattformen fehlerfrei kompiliert werden (d.h. es tritt kein Kompilierungsfehler auf). Wird aber eine Codezeile mit MacScript unter Windows ausgeführt, tritt der Laufzeitfehler 5 "Ungültiger Prozeduraufruf oder ungültiges Argument" auf, weil die Funktion nicht aufgerufen werden kann. Die Codezeile darf nur dann ausgeführt werden, wenn das Programm auf dem Macintosh läuft.

Ob ein Macintosh- oder Windows-System vorliegt, kann sehr einfach abgefragt werden. Wie das geht, erfahren Sie unter Abfragen der Ausführungsumgebung.

Zum Seitenanfang


MacID-Funktion

Die MacID-Funktion wird auf dem Macintosh verwendet, um eine 4-Zeichen-Konstante in einen Wert umzuwandeln, der von Dir, Kill, Shell und AppActivate verwendet werden kann.

Syntax

MacID(Konstante)

Das erforderliche Argument Konstante besteht aus vier Zeichen, die verwendet werden, um einen Ressourcentyp, Dateityp, eine Anwendungssignatur oder ein Apple-Ereignis anzugeben. Beispiele:

Bemerkungen zu Dir und Kill

MacID wird mit Dir und Kill verwendet, um einen Macintosh-Dateityp anzugeben. Da der Macintosh die Platzhalterzeichen * und ? nicht unterstützt, können Sie eine 4-Zeichen-Konstante verwenden, anstatt Gruppen von Dateien zu kennzeichnen. Die folgende Anweisung gibt z.B. alle Dateien vom Typ TEXT im aktuellen Ordner zurück:

Dir("EinPfad", MacID("TEXT"))

Bemerkungen zu Shell und AppActivate

MacID wird mit Shell und AppActivate verwendet, um eine Anwendung anzugeben, die die eindeutige Signatur dieser Anwendung verwendet.

In diesem Beispiel werden verschiedene Einsatzmöglichkeiten der MacID-Funktion aufgezeigt. Die MacID-Funktion steht unter Microsoft Windows nicht zur Verfügung.

Dim strFilename As String, lngResult As Long
' Die erste Textdatei im Ordner HD:ORDNER1 zurückgeben.
strFilename = Dir("HD:ORDNER1:", MacID("TEXT"))

' Alle Dateien vom Typ "TEXT" im aktuellen Ordner löschen.
Kill MacID("TEXT")

' Microsoft Excel starten.
lngResult = Shell(MacID("XCEL"))

' Microsoft Word aktivieren.
AppActivate MacID("MSWD")

Anmerkung

Weil die MacID-Funktion zum Standard-Sprachumfang von VBA gehört, kann der Programmcode auf beiden Plattformen fehlerfrei kompiliert werden (d.h. es tritt kein Kompilierungsfehler auf). Wird aber eine Codezeile mit MacID unter Windows ausgeführt, tritt in den meisten Fällen der Laufzeitfehler 5 "Ungültiger Prozeduraufruf oder ungültiges Argument" auf, weil die Funktion nicht aufgerufen werden kann. In bestimmten Situationen kann auch ein anderer Laufzeifehler auftreten. Beispielsweise erscheint der Laufzeitfehler 53 "Datei nicht gefunden", wenn die MacID-Funktion zusammen mit Shell verwendet wird. Die Codezeile darf nur dann ausgeführt werden, wenn das Programm auf dem Macintosh läuft.

Ob ein Macintosh- oder Windows-System vorliegt, kann sehr einfach abgefragt werden. Wie das geht, erfahren Sie unter Abfragen der Ausführungsumgebung.

Verwandte Themen
Shell-Funktion
Dir-Funktion
Kill-Anweisung
AppActivate-Anweisung

Zum Seitenanfang


Kennzeichnen von Konstanten mit einem Bibliotheksverweis

TODO

Sie können einen Verweis auf eine Konstante mit folgender Syntax kennzeichnen:

[BibName.][Modulname.]KonstName

Die Syntax für zu qualifizierende Konstanten besteht aus diesen Teilen:

Teil Beschreibung
BibName Optional. Der Name der Klassenbibliothek, die die Konstante definiert. Für die meisten benutzerdefinierten Steuerelemente (nicht verfügbar beim Macintosh) ist dies auch der Klassenname des Steuerelements. Wenn Sie sich nicht mehr an den Klassennamen des Steuerelements erinnern, führen Sie den Mauszeiger über das Steuerelement in der Werkzeugsammlung. Der Klassenname wird in der QuickInfo angezeigt.
Modulname Optional. Der Name des Moduls innerhalb der Klassenbibliothek, die die Konstante definiert hat. Sie können den Namen des Moduls im Objektkatalog finden.
KonstName Der für die Konstante definierte Name in der Klassenbibliothek.

Zum Seitenanfang


VBA-Konstante vbNewLine

Die Konstante vbNewLine existiert auf beiden Plattformen, verhält sich jedoch unterschiedlich, sprich besitzt einen anderen Inhalt.

Plattform Merkmal
Windows Die Konstante vbNewLine enthält die Zeichen Chr(13) + Chr(10). vbNewLine entspricht somit der Konstante vbCrLf.
Macintosh Die Konstante vbNewLine enthält das Zeichen Chr(13). vbNewLine entspricht somit der Konstante vbCr.

Wenn Sie vbNewLine verwenden, müssen Sie daran denken, dass sie unter Windows zwei Zeichen lang ist, auf einem Macintosh-Rechner dagegen nur ein Zeichen.

TODO

Um mögliche Probleme zu vermeiden, sollten ...

 

Eine vollständige Liste der Konstanten-Inkompatibilitäten finden Sie unter Unterschiede bei integrierten Konstanten.

Zum Seitenanfang


MsgBox-Funktion

Die MsgBox-Funktion zeigt eine Meldung in einem Dialogfeld an und wartet darauf, dass der Benutzer auf eine Schaltfläche klickt. Es wird dann einen Wert vom Typ Integer zurückgegeben, der anzeigt, auf welche Schaltfläche der Benutzer geklickt hat.

Syntax

MsgBox(Prompt[, Buttons] [, Title] [, HelpFile, Context])

In der VBA-Referenz von Microsoft steht folgendes (Thema "MsgBox-Funktion", Originaltext):

Wenn sowohl HelpFile als auch Context angeben werden, kann der Benutzer F1 (Windows) oder HILFE (Macintosh) drücken, um das Hilfethema für Context anzuzeigen. Einige Host-Anwendungen, zum Beispiel Microsoft Excel, fügen dem Dialogfeld automatisch die Schaltfläche "Hilfe" hinzu.

Die obige Information stimmt nur für Windows-Systeme! Auf einem Macintosh-Rechner wird keine Schaltfläche "Hilfe" hinzugefügt.

TODO

vbMsgBoxHelpButton (16384)

 

Mehr zum Problem mit der vermissten "Hilfe"-Schaltfläche erfahren Sie hier:
  MacOFF: Help Button Is Missing in VBA Macro Message Box
  http://support.microsoft.com/?scid=kb;en-us;205191

TODO: Dateipfad in HelpFile

Verwandte Themen
InputBox-Funktion
InputBox-Methode (Excel)

Zum Seitenanfang


InputBox-Funktion

Die InputBox-Funktion zeigt eine Eingabeaufforderung in einem Dialogfeld an, wartet auf die Eingabe eines Textes oder auf das Klicken auf eine Schaltfläche und gibt einen Wert vom Typ String zurück, der den Inhalt des Textfeldes angibt.

Syntax

InputBox(Prompt[, Title] [, Default] [, XPos] [, YPos] [, HelpFile, Context])

Es ist nicht klar erkennbar, ob InputBox korrekt funktioniert, oder wie die MsgBox-Funktion einen Bug besitzt.

TODO: Dateipfad in HelpFile

Verwandte Themen
MsgBox-Funktion
InputBox-Methode (Excel)

Zum Seitenanfang


Option Compare-Anweisung

Die Option Compare-Anweisung wird auf Modulebene verwendet, um das Standardverfahren für den Vergleich von Zeichenfolgen festzulegen.

Syntax

Option Compare {Binary | Text | Database}

Die Option Compare-Anweisung legt das Verfahren für den Zeichenfolgenvergleich (Binary, Text oder Database) innerhalb eines Moduls fest. Enthält ein Modul keine Option Compare-Anweisung, so ist Binary das verwendete Standardverfahren.

Auf dem Macintosh wird die Sortierreihenfolge durch den Zeichensatz bestimmt.

Anmerkung

Aufgrund der Beschreibung in der Visual Basic-Referenz ist nicht klar erkennbar, ob auf einem Macintosh-Computer die Option Compare-Anweisung überhaupt eine Auswirkung besitzt. Es wird daher empfohlen, diese Anweisung generell nicht zu verwenden.

Zum Seitenanfang


Environ-Funktion

Die Environ-Funktion gibt die mit einer Betriebssystem-Umgebungsvariablen verbundene Zeichenfolge (String) zurück.

Diese Funktion ist auf dem Macintosh nicht verfügbar. Wird sie auf dem Macintosh verwendet, tritt der Laufzeitfehler 5 "Unzulässiger Prozeduraufruf oder ungültiges Argument" auf.

Zum Seitenanfang


LastDLLError-Eigenschaft des Err-Objektes

Gibt einen Systemfehler-Code zurück, der von einem Aufruf an eine Dynamic Link Library (DLL) erzeugt wurde. Schreibgeschützt.

Auf dem Macintosh gibt LastDLLError immer Null zurück.

Zum Kapitelanfang Zum Seitenanfang


Unterschiede im Objektmodell von Microsoft Excel

Allgemeines

In diesem Kapitel geht es um diejenigen Sprachelemente von VBA, die auf Macintosh und unter Windows verschieden sind.

nicht auf beiden Plattformen funktionieren,

unterschiedliche Ergebnisse liefern

 

Nachfolgend werden sämtliche derzeit bekannten Unterschiede ausführlich beschrieben. Die Microsoft VBA-Referenz enthält mehrere Fehler, die in den nachstehenden Beschreibungen korrigiert sind.

Zum Seitenanfang


Übersicht der Unterschiede

Element Typ Element von Bibliothek
Creator Eigenschaft Diverse Excel-Objekte Excel
GetSaveAsFilename Methode Application-Objekt Excel
GetOpenFilename Methode Application-Objekt Excel
InputBox Methode Application-Objekt Excel
PathSeparator Eigenschaft Application-Objekt Excel
LibraryPath Eigenschaft Application-Objekt Excel
CommandUnderlines Eigenschaft Application-Objekt Excel
ActivateMicrosoftApp Methode Application-Objekt Excel
Connection Eigenschaft PivotCache- und QueryTable-Objekt Excel

Zum Seitenanfang


Creator-Eigenschaft (Verschiedene Excel-Objekte)

Die Creator-Eigenschaft gibt den aus vier Zeichen bestehenden Code für die Anwendung zurück, in der das angegebene Objekt erstellt wurde. Nur Macintosh. Long. Nur-Lese-Zugriff.

Bei Verwendung unter Windows tritt kein Fehler auf. In Excel für Windows wird der Wert 1480803660 zurückgegeben.

Verwandte Themen
Creator Code

Zum Seitenanfang


GetSaveAsFilename-Methode des Application-Objektes (Excel)

Die GetSaveAsFilename-Methode des Application-Objektes zeigt das Standarddialogfeld "Speichern unter" an und bekommt einen Dateinamen vom Benutzer, ohne jedoch irgendwelche Dateien zu speichern.

Syntax

Ausdruck.GetSaveAsFilename([InitialFilename], [FileFilter], [FilterIndex], [Title], [ButtonText])

Das optionale Argument ButtonText existiert nur auf Macintosh. Genauer gesagt besitzt es nur auf dem Macintosh eine Auswirkung. Wenn Sie ButtonText angeben und den Programmcode unter Windows ausführen, wird das Argument ignoriert. Es tritt kein Fehler auf.

Diese Codezeile funktioniert auf beiden Plattformen, ändert aber nur auf dem Macintosh die Beschriftung der Schaltfläche:

strFile = Application.GetSaveAsFilename(Title:="Datei kopieren", ButtonText:="Kopieren")

Da es in diesem Fall kein Inkompatibilitätsproblem gibt, müssen keine plattformspezifischen Anpassungen vorgenommen werden. Man muss lediglich daran denken, dass in der Programm-Dokumentation, beispielsweise in der Hilfe oder der Bedienungsanleitung Ihres Programmes, der korrekte Schaltflächentext angegeben wird. Bei der obigen Codezeile heisst die Schaltfläche in Excel für Macintosh "Kopieren" und in Excel für Windows "Speichern".

Verwandte Themen
GetOpenFilename-Methode des Application-Objektes (Excel)

Zum Seitenanfang


GetOpenFilename-Methode des Application-Objektes (Excel)

Die GetOpenFilename-Methode des Application-Objektes zeigt das Standarddialogfeld "Öffnen" an und bekommt einen Dateinamen vom Benutzer, ohne jedoch irgendwelche Dateien zu öffnen.

Syntax

Ausdruck.GetOpenFilename([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect])

Das optionale Argument ButtonText existiert nur auf Macintosh. Genauer gesagt besitzt es nur auf dem Macintosh eine Auswirkung. Wenn Sie ButtonText angeben und den Programmcode unter Windows ausführen, wird das Argument ignoriert. Es tritt kein Fehler auf.

Diese Codezeile funktioniert auf beiden Plattformen, ändert aber nur auf dem Macintosh die Beschriftung der Schaltfläche:

strFile = Application.GetOpenFilename(Title:="Datei importieren", ButtonText:="Importieren")

Da es in diesem Fall kein Inkompatibilitätsproblem gibt, müssen keine plattformspezifischen Anpassungen vorgenommen werden. Man muss lediglich daran denken, dass in der Programm-Dokumentation, beispielsweise in der Hilfe oder der Bedienungsanleitung Ihres Programmes, der korrekte Schaltflächentext angegeben wird. Bei der obigen Codezeile heisst die Schaltfläche in Excel für Macintosh "Importieren" und in Excel für Windows "Öffnen".

Tipp: FindFile-Methode verwenden
Wenn Sie das Standard-Dialogfeld "Öffnen" von Excel anzeigen möchten, können Sie auch die FindFile-Methode des Application-Objektes verwenden. Diese funktioniert auf beiden Plattformen.

Hier ein einfaches Beispiel:

Application.FindFile

Es lässt sich auch feststellen, ob der Benutzer die Abbrechen oder die Öffnen-Schaltfläche geklickt hat. Man muss dazu lediglich abfragen, ob FindFile True oder False zurückgegeben hat:

If Application.FindFile = False Then
  MsgBox "Benutzer hat Abbrechen gedrückt.", vbInformation
Else
  MsgBox "Benutzer hat Öffnen gedrückt und die ausgewählte Datei geöffnet.", vbInformation
End If

Bei FindFile wird die ausgewählte Datei (beziehungsweise die ausgewählten Dateien) automatisch geöffnet. Das Auswahlfeld "Dateityp" wird automatisch gefüllt. Bei der GetOpenFilename-Methode muss man das Auswahlfeld im Programmcode füllen (FileFilter- und FilterIndex-Argument).

Verwandte Themen
GetSaveAsFilename-Methode des Application-Objektes (Excel)

Zum Seitenanfang


InputBox-Methode des Application-Objektes

Die InputBox-Funktion zeigt eine Eingabeaufforderung in einem Dialogfeld an, wartet auf die Eingabe eines Textes oder auf das Klicken auf eine Schaltfläche und gibt einen Wert vom Typ String zurück, der den Inhalt des Textfeldes angibt.

Syntax

InputBox(Prompt[, Title] [, Default] [, XPos] [, YPos] [, HelpFile, Context])

Es ist nicht klar erkennbar, ob InputBox korrekt funktioniert, oder wie die MsgBox-Funktion einen Bug besitzt.

InputBox von Excel
Abbildung: InputBox von Microsoft Excel

 

 

TODO: Dateipfad in HelpFile

Verwandte Themen
MsgBox-Funktion

Zum Seitenanfang


PathSeparator-Eigenschaft des Application-Objektes

Die PathSeparator-Eigenschaft des Application-Objektes von Microsoft Excel enthält das Zeichen, welches zum Trennen der einzelnen Bestandteile eines Pfades verwendet wird. Je nach Betriebssystem gibt PathSeparator ein anderes Zeichen zurück.

Plattform Wert von PathSeparator
Windows Die Abfrage von PathSeparator gibt das Zeichen "\" zurück.
Macintosh Die Abfrage von PathSeparator gibt das Zeichen ":" zurück.

Wenn Sie aus zwei Zeichenfolgen einen Dateipfad zusammensetzen möchten, sollten Sie die PathSeparator-Eigenschaft von Microsoft Excel benutzen.

Die korrekte Lösung sieht so aus:

strFullname = strPath & Application.PathSeparator & strFile

Diese Lösung sollten Sie nicht verwenden, da sie nur auf Windows-Rechnern, nicht aber auf Macintosh funktioniert:

strFullname = strPath & "\" & strFile

Verwandte Themen
Unterschiede zwischen Windows und Macintosh: Dateipfade

Zum Seitenanfang


LibraryPath-Eigenschaft des Application-Objektes

Die LibraryPath-Eigenschaft des Application-Objektes von Microsoft Excel enthält auf dem Macintosh als letztes Zeichen immer ein zusätzliches Pfadtrennzeichen (bei Macintosh ist das Pfadtrennzeichen der Doppelpunkt ':'). In Microsoft Excel für Windows ist dies nicht der Fall.

Plattform Wert von LibraryPath
Windows Die Abfrage von LibraryPath gibt einen Pfad ohne Pfadtrennzeichen (\) am Schluss zurück.

Beispiel: C:\Programme\Microsoft Office\Office\Library

Macintosh Die Abfrage von LibraryPath gibt einen Pfad mit Pfadtrennzeichen (:) am Schluss zurück.

Beispiel: Macintosh HD:Microsoft Office 98:Office:Excel Add-Ins:

Microsoft empfiehlt, einen Pfad immer ohne abschliessendes Pfadtrennzeichen zu schreiben.

Beispiel
Mit diesem VBA-Makro wird das überzählige Zeichen entfernt. Der Code kann sowohl in Excel für Windows als auch in Excel für Macintosh ausgeführt werden.

Sub GetGoodLibraryPath()
  'Store the LibraryPath in a variable.
  xLibraryPath = Application.LibraryPath
  'If the LibraryPath ends in a colon...
  If Right(xLibraryPath, 1) = ":" Then
    '...remove the colon from the end of the path.
    xLibraryPath = Left(xLibraryPath, Len(xLibraryPath) - 1)
  End If
  'Display the corrected LibraryPath.
  MsgBox "The application's LibraryPath is " & xLibraryPath
End Sub

LibraryPath Includes Trailing Separator on Macintosh
http://support.microsoft.com/?scid=kb;en-us;176803

Verwandte Themen
PathSeparator-Eigenschaft
Unterschiede zwischen Windows und Macintosh: Dateipfade

Zum Seitenanfang


CommandUnderlines-Eigenschaft des Application-Objektes

Beschreibung folgt in Kürze...

Zum Seitenanfang


ActivateMicrosoftApp-Methode des Application-Objektes

...

Die ActivateMicrosoftApp-Methode aktiviert eine Microsoft-Anwendung. Falls die Anwendung bereits ausgeführt wird, aktiviert diese Methode das betreffende Anwendungsfenster. Wird die Anwendung noch nicht ausgeführt, startet die Methode eine neue Instanz der Anwendung.

Syntax

Application.ActivateMicrosoftApp(Index)

Folgende Konstanten können für Index verwendet werden:

XlMSApplication-Konstanten
  xlMicrosoftAccess (4)
  xlMicrosoftFoxPro (5)
  xlMicrosoftMail (3)
  xlMicrosoftPowerPoint (2)
  xlMicrosoftProject (6)
  xlMicrosoftSchedulePlus (7)
  xlMicrosoftWord (1)

Wenn die als Argument angegebene Office-Anwendung nicht auf dem Rechner installiert ist, erscheint der Laufzeitfehler 1004 mit einem entsprechenden Fehlermeldungstext (Beispiel 'FoxPro für Windows'):

Laufzeitfehler 1004 bei nicht vorhandener Anwendung
Abbildung: Laufzeitfehler 1004 bei nicht vorhandener Anwendung

TODO: Parameter True und False

 

Zum Seitenanfang


Connection-Eigenschaft

Die Connection-Eigenschaft existiert beim PivotCache- und beim QueryTable-Objekt und enthält die Verbindungsinformation zu der benutzten Datenquelle.

Bei einer QueryTable vom Typ "Web-Abfrage" enthält Connection die URL der verwendeten Web-Datenquelle.

Bei einer QueryTable vom Typ "Datenbankabfrage" enthält Connection die URL der verwendeten Web-Datenquelle.

 

?ActiveSheet.QueryTables(1).Connection
URL;http://webservices.pcquote.com/cgi-bin/excel.exe

 

Zum Kapitelanfang Zum Seitenanfang


Unterschiede im Objektmodell von Microsoft Office

Allgemeines

In diesem Kapitel geht es um diejenigen Sprachelemente von VBA, die auf Macintosh und unter Windows verschieden sind.

nicht auf beiden Plattformen funktionieren,

unterschiedliche Ergebnisse liefern

 

Nachfolgend werden sämtliche derzeit bekannten Unterschiede ausführlich beschrieben. Die Microsoft VBA-Referenz enthält mehrere Fehler, die in den nachstehenden Beschreibungen korrigiert sind.

Zum Seitenanfang


Übersicht der Unterschiede

Element Typ Element von Bibliothek
Creator Eigenschaft Diverse Office-Objekte Office
FileFind Objekt Office Office
FileSearch Objekt Office Office
Add Methode CommandBars-Auflistung Office
FileName Eigenschaft Assistant-Objekt Office

Zum Seitenanfang


Creator-Eigenschaft (Verschiedene Office-Objekte)

Die Creator-Eigenschaft gibt den aus vier Zeichen bestehenden Code für die Anwendung zurück, in der das angegebene Objekt erstellt wurde. Nur Macintosh. Long. Nur-Lese-Zugriff.

Bei Verwendung unter Windows tritt kein Fehler auf. In Excel für Windows wird der Wert 1480803660 zurückgegeben.

Verwandte Themen
Creator Code

Zum Seitenanfang


FileFind-Objekt (nur Macintosh)

Das FileFind-Objekt stellt die Funktionen des Dialogfeldes "Dateien finden" dar und existiert ausschliesslich für Macintosh. Das Objekt befindet sich in der Objektbibliothek von Microsoft Office und wird durch die Klasse IFind repräsentiert. Unter Windows wird anstelle des FileFind-Objektes das FileSearch-Objekt verwendet.

Anmerkung
Verwechseln Sie FileFind nicht mit FindFile. FindFile ist eine Methode des Application-Objektes von Microsoft Excel und dient zum Anzeigen des Öffnen-Dialoges.

Das FileFind-Objekt

Das FileFind-Objekt besitzt folgende Methoden und Eigenschaften, die nachfolgend kurz vorgestellt werden:
- FileFindResults
- Results
- Execute
- View
- FileType
- Author
- DateCreatedFrom
- DateCreatedTo
- DateSavedFrom
- DateSavedTo
- Keywords
- ListBy
- Load
- Save
- Delete
- Show
- MatchCase
- Options

FileFindResults-Objekt des FileFind-Objektes

Stellt die Liste der von einer Dateisuche zurückgegebenen Dateien dar.

Results-Eigenschaft des FileFind-Objektes

Nur Macintosh. Gibt das FileFindResults-Objekt zurück. Nur-Lese-Zugriff.

Execute-Methode des FileFind-Objektes

Nur Macintosh. Beginnt die Suche nach den angegebenen Dateien und aktualisiert die FindFileResults-Auflistung.

View-Eigenschaft des FileFind-Objektes

Nur Macintosh. Gibt das Format zurück, in dem Informationen zu den gefundenen Dateien im Dialogfeld angezeigt werden, oder legt das Format fest. Dies kann eine der folgenden msoFileFindView-Konstanten sein: msoFileFindViewFileInfo, msoFileFindViewPreview oder msoFileFindViewSummary. Variant. Nur-Lese-Zugriff.

Achtung!
In der Microsoft Office 8.0-Bibliothek (Office 97) heissen die Konstanten msoViewFileInfo, msoViewPreview und msoViewSummary.

FileType-Eigenschaft des FileFind-Objektes

Gibt den Dateityp zurück, nach dem gesucht werden soll, oder legt ihn fest. Der Wert kann auf eine Zahl festgelegt werden, die von der MacID-Funktion zurückgegeben wird. Nur Macintosh. Long Schreib-Lese-Zugriff.

Anmerkungen
Verwenden Sie die in der folgenden Tabelle aufgelisteten Argumente mit der MacID-Funktion, um den entsprechenden Macintosh-Dateityp zurückzugeben:

Author-Eigenschaft des FileFind-Objektes

Nur Macintosh. Gibt eine Zeichenkette (bis zu 80 Zeichen) zurück, die den in den Eigenschaften des zu suchenden Dokuments aufgeführten Autor darstellt, oder legt eine Zeichenkette fest. String. Schreib-Lese-Zugriff.

DateCreatedFrom-Eigenschaft des FileFind-Objektes

Nur Macintosh. Gibt das Datum zurück, an dem das zu suchende Dokument erstellt wurde, oder legt das Datum fest. Dieses Datum gilt als untere Grenze für die Suche. Variant. Schreib-Lese-Zugriff.

Anmerkungen

Sie können die DateCreatedTo-Eigenschaft verwenden, um eine obere Grenze für die Dateisuche festzulegen, oder diese Eigenschaft auslassen, um eine unbegrenzte Suche durchzuführen.

DateCreatedTo-Eigenschaft des FileFind-Objektes

Nur Macintosh. Gibt das Datum zurück, an dem die zu suchende Datei erstellt wurde, oder legt das Datum fest. Dieses Datum gilt als obere Grenze für die Dateisuche. Variant. Schreib-Lese-Zugriff.

DateSavedFrom-Eigenschaft des FileFind-Objektes

Nur Macintosh. Gibt das Datum zurück, an dem die zu suchende Datei zuletzt gespeichert wurde, oder legt das Datum fest. Dieses Datum gilt als untere Grenze für die Dateisuche. Variant. Schreib-Lese-Zugriff.

Anmerkungen
Sie können die DateSavedTo-Eigenschaft verwenden, um eine obere Grenze für die Dateisuche festzulegen, oder diese Eigenschaft auslassen, um eine unbegrenzte Suche durchzuführen.

DateSavedTo-Eigenschaft des FileFind-Objektes

Nur Macintosh. Gibt das Datum zurück, an dem die zu suchende Datei zuletzt gespeichert wurde, oder legt das Datum fest. Dieses Datum gilt als obere Grenze für die Dateisuche. Variant. Schreib-Lese-Zugriff.

Keywords-Eigenschaft des FileFind-Objektes

Nur Macintosh. Gibt eine Zeichenkette (bis zu 80 Zeichen) zurück, die in den Eigenschaften des zu suchenden Dokuments aufgelistete Schlüsselwörter darstellt, oder legt eine Zeichenkette fest. String. Schreib-Lese-Zugriff.

ListBy-Eigenschaft des FileFind-Objektes

Nur Macintosh. Gibt die Art zurück, wie die gefundenen Dateien im Ergebnisdialogfeld angezeigt werden, oder legt die Art fest. Dies kann eine der folgenden msoFileFindListBy-Konstanten sein: msoFileFindListByName (listet die gefundenen Dateien nach dem Systemdateinamen auf) oder msoFileFindListByTitle (listet die gefundenen Dateien nach der Titel-Eigenschaft auf). Schreib-Lese-Zugriff.

Achtung!
In der Microsoft Office 8.0-Bibliothek (Office 97) heissen die Konstanten msoListByName und msoListByTitle.

Load-Methode des FileFind-Objektes

Nur Macintosh. Lädt die angegebene Abfrage für die Dateisuche in den Speicher.

Syntax

Ausdruck.Load(bstrQueryName)

Ausdruck Erforderlich. Ein Ausdruck, der ein FileFind-Objekt zurückgibt.

bstrQueryName String erforderlich. Eine Zeichenkette mit höchstens 31 Zeichen, die den Namen der gespeicherten Suchkriterien bestimmt, die geladen werden sollen.

Anmerkungen

Verwenden Sie die Execute-Methode, um eine geladene Abfrage auszuführen.

Save-Methode des FileFind-Objektes

...

Delete-Methode des FileFind-Objektes

...

Show-Methode des FileFind-Objektes

...

MatchCase-Eigenschaft des FileFind-Objektes

Nur Macintosh. True, wenn in der Dateisuche Gross- und Kleinschreibung unterschieden wird. Boolean. Schreib-Lese-Zugriff.

Options-Eigenschaft des FileFind-Objektes

Nur Macintosh. Gibt die Art zurück, wie die aktuelle Gruppe von gefundenen Dateien gegenüber der Liste von zuvor gefundenen Dateien angezeigt wird, oder legt die Art fest. Dies kann eine der folgenden msoFileFindOptions-Konstanten sein: msoFileFindOptionsNew, msoFileFindOptionsAdd oder msoFileFindOptionsWithin. Variant. Schreib-Lese-Zugriff.

Achtung!
In der Microsoft Office 8.0-Bibliothek (Office 97) heissen die Konstanten msoOptionsNew, msoOptionsAdd und msoOptionsWithin.

Zum Seitenanfang


FileSearch-Objekt (nur Windows)

Das FileSearch-Objekt gibt ein Objekt zur Verwendung von Dateisuchen zurück. Es ist ausschliesslich in Microsoft Windows verfügbar. Auf Macintosh wird anstelle des FileSearch-Objektes das FileFind-Objekt verwendet.

Anmerkung
Verwechseln Sie FileFind nicht mit FindFile. FindFile ist eine Methode des Application-Objektes von Microsoft Excel und dient zum Anzeigen des Öffnen-Dialoges.

Zum Seitenanfang


Add-Methode der CommandBars-Auflistung (Office-Objekt)

Erstellt eine neue Befehlsleiste und fügt sie der Auflistung der Befehlsleisten hinzu. Gibt ein CommandBar-Objekt zurück.

Syntax

Ausdruck.Add(Name, Position, MenuBar, Temporary)

Argument Position:
Variant. Die Position der neuen Befehlsleiste. Dies kann eine der folgenden MsoBarPosition-Konstanten sein:

Konstante Beschreibung
msoBarLeft Gibt die linke Koordinate der neuen Befehlsleiste an.
msoBarTop Gibt die obere Koordinate der neuen Befehlsleiste an.
msoBarRight Gibt die rechte Koordinate der neuen Befehlsleiste an.
msoBarBottom Gibt die untere Koordinate der neuen Befehlsleiste an.
msoBarFloating Gibt an, dass die neue Befehlsleiste nicht verankert ist.
msoBarPopup Gibt an, dass die neue Befehlsleiste ein Kontextmenü ist.
msoBarMenuBar Gibt an, dass die neue Befehlsleiste die Systemmenüleiste auf dem Macintosh ersetzt.

Die Konstante msoBarMenuBar kann nur auf dem Macintosh benutzt werden. Bei Verwendung unter Windows tritt zwar kein Fehler auf, und die neue Befehlsleiste wird angelegt. Diese ist aber eine Art Menüleiste, die nicht angezeigt werden kann (sie ist unsichtbar).

Eine vollständige Liste der Konstanten-Inkompatibilitäten finden Sie unter Unterschiede bei integrierten Konstanten.

Zum Seitenanfang


FileName-Eigenschaft des Assistant-Objektes

Assistant-Objekt: Gibt den Namen der Datei des aktiven Office-Assistenten zurück oder legt ihn fest. String. Schreib-Lese-Zugriff.

In Windows lautet die Dateinamenerweiterung für Assistenten-Dateien '.act'.

Die Dateien der Assistenten liegen im Ordner "[..]\Programme\Microsoft Office\Office\Assistnt" bei Windows 95, im Ordner "[..]\Windows\MsApps\Assistnt" bei Windows NT und im Ordner "[..]:Microsoft Office:Office:Assistenten" auf dem Macintosh.

Application.Assistant.FileName = "CLIPPIT.ACT"

Zum Kapitelanfang Zum Seitenanfang


Unterschiede im Objektmodell des VBA-Editors

Allgemeines

Der VBA-Editor besitzt nur wenige Unterschiede in seinem Objektmodell.

Objekte, Eigenschaften und Methoden zur Steuerung verknüpfter Fenster, verknüpfter Fensterrahmen und verankerter Fenster sind sowohl für Windows als auch für den Macintosh enthalten. Beim Macintosh allerdings nur aus Gründen der Kompatibilität mit Code, der für Windows geschrieben ist. Diese Sprachelemente sind somit zwar kompatibel, rufen jedoch Laufzeitfehler hervor, wenn sie auf einem Macintosh ausgeführt werden.

Nachfolgend werden alle Unterschiede vorgestellt.

Zum Seitenanfang


Übersicht der Unterschiede

Element Typ Element von Bibliothek
LinkedWindows Objekt VBIDE VBIDE
Window Objekt Windows-Auflistung VBIDE
Windows Objekt VBIDE VBIDE

Zum Seitenanfang


LinkedWindows-Objekt

Im Objektmodell von Microsoft Excel besitzt das Application-Objekt eine Eigenschaft namens VBE, die ein VBE-Objekt zurückgibt. Dieses stammt aus der VBIDE-Objektbibliothek ("Microsoft Visual Basic for Applications Extensibility"). Das VBE-Objekt wiederum besitzt unter anderem ein Window-Objekt und eine Windows-Auflistung. Diese sind für die Fenster des VBA-Editors zuständig.

Objekte, Eigenschaften und Methoden zur Steuerung verknüpfter Fenster, verknüpfter Fensterrahmen und verankerter Fenster sind sowohl für Windows als auch für den Macintosh enthalten. Beim Macintosh allerdings nur aus Gründen der Kompatibilität mit Code, der für Windows geschrieben ist. Diese Sprachelemente sind somit zwar kompatibel, rufen jedoch Laufzeitfehler hervor, wenn sie auf einem Macintosh ausgeführt werden.

Betroffen sind folgende Elemente:

- LinkedWindows-Auflistung

- LinkedWindows-Eigenschaft

- LinkedWindowsFrame-Eigenschaft

- Add-Methode

- Item-Methode

- Remove-Methode

- Close-Methode

- Height-Eigenschaft

- Width-Eigenschaft

- Count-Eigenschaft

 

Verwandte Themen
Window-Objekt
Windows-Objekt

Zum Seitenanfang


Window-Objekt

Im Objektmodell von Microsoft Excel besitzt das Application-Objekt eine Eigenschaft namens VBE, die ein VBE-Objekt zurückgibt. Dieses stammt aus der VBIDE-Objektbibliothek ("Microsoft Visual Basic for Applications Extensibility"). Das VBE-Objekt wiederum besitzt unter anderem ein Window-Objekt und eine Windows-Auflistung. Diese sind für die Fenster des VBA-Editors zuständig.

Objekte, Eigenschaften und Methoden zur Steuerung verknüpfter Fenster, verknüpfter Fensterrahmen und verankerter Fenster sind sowohl für Windows als auch für den Macintosh enthalten. Beim Macintosh allerdings nur aus Gründen der Kompatibilität mit Code, der für Windows geschrieben ist. Diese Sprachelemente sind somit zwar kompatibel, rufen jedoch Laufzeitfehler hervor, wenn sie auf einem Macintosh ausgeführt werden.

Betroffen sind folgende Elemente:

- LinkedWindows-Auflistung

- LinkedWindows-Eigenschaft

- LinkedWindowsFrame-Eigenschaft

- Add-Methode

- Item-Methode

- Remove-Methode

- Close-Methode

- Height-Eigenschaft

- Width-Eigenschaft

- Count-Eigenschaft

 

Verwandte Themen
LinkedWindows-Objekt
Windows-Objekt

Zum Seitenanfang


Windows-Objekt

Im Objektmodell von Microsoft Excel besitzt das Application-Objekt eine Eigenschaft namens VBE, die ein VBE-Objekt zurückgibt. Dieses stammt aus der VBIDE-Objektbibliothek ("Microsoft Visual Basic for Applications Extensibility"). Das VBE-Objekt wiederum besitzt unter anderem ein Window-Objekt und eine Windows-Auflistung. Diese sind für die Fenster des VBA-Editors zuständig.

Objekte, Eigenschaften und Methoden zur Steuerung verknüpfter Fenster, verknüpfter Fensterrahmen und verankerter Fenster sind sowohl für Windows als auch für den Macintosh enthalten. Beim Macintosh allerdings nur aus Gründen der Kompatibilität mit Code, der für Windows geschrieben ist. Diese Sprachelemente sind somit zwar kompatibel, rufen jedoch Laufzeitfehler hervor, wenn sie auf einem Macintosh ausgeführt werden.

Betroffen sind folgende Elemente:

- LinkedWindows-Auflistung

- LinkedWindows-Eigenschaft

- LinkedWindowsFrame-Eigenschaft

- Add-Methode

- Item-Methode

- Remove-Methode

- Close-Methode

- Height-Eigenschaft

- Width-Eigenschaft

- Count-Eigenschaft

 

Verwandte Themen
LinkedWindows-Objekt
Window-Objekt

Zum Kapitelanfang Zum Seitenanfang


Unterschiede im Objektmodell von Microsoft Forms

Einführung

In diesem Kapitel geht es um die Kompatibilität von Benutzerformularen (UserForms) und den auf Formularen verwendbaren Steuerelementen (Controls).

 

Werkzeugsammlung
Abbildung: Werkzeugsammlung

 

Ausgewählte MS Forms-Steuerelemente (Weitere Steuerelemente)
Abbildung: Ausgewählte MS Forms-Steuerelemente (Weitere Steuerelemente)

 

Andere verfügbare Steuerelemente (Weitere Steuerelemente)
Abbildung: Andere verfügbare Steuerelemente (Weitere Steuerelemente)

 

Steuerelement-Toolbox
Abbildung: Steuerelement-Toolbox

 

Unterschiede zwischen Windows und Macintosh: ActiveX-Controls

 

Zum Seitenanfang


Unterschiede bei Benutzerformularen

I.

Element Typ Element von Bibliothek
WhatsThisMode Methode UserForm-Objekt MSForms
WhatsThisHelp Eigenschaft UserForm-Objekt MSForms
WhatsThisButton Eigenschaft UserForm-Objekt MSForms
Picture Eigenschaft UserForm-Objekt MSForms
MouseIcon Eigenschaft UserForm-Objekt MSForms
Error Ereignis UserForm-Objekt MSForms

 

Zum Seitenanfang


WhatsThisMode-Methode des UserForm-Objektes

Die WhatsThisMode-Methode ändert den Mauszeiger in einen Direkthilfe-Zeiger und bereitet die Anwendung so vor, dass die Hilfe für das ausgewählte Objekt angezeigt wird.

Diese Methode existiert zwar für den Macintosh, verfügt jedoch nicht über die Zeigerfunktionalität.

Verwandte Themen
WhatsThisHelp-Eigenschaft
WhatsThisButton-Eigenschaft

Zum Seitenanfang


WhatsThisHelp-Eigenschaft des UserForm-Objektes

Die WhatsThisHelp-Eigenschaft gibt einen Wert vom Typ Boolean zurück, der bestimmt, ob für die kontextbezogene Hilfe das von der Windows 95-Hilfe bereitgestellte Popup-Fenster oder das Hilfe-Hauptfenster verwendet wird. Diese Eigenschaft ist zur Laufzeit schreibgeschützt.

Diese Eigenschaft wird beim Macintosh nicht unterstützt.

Verwandte Themen
WhatsThisButton-Eigenschaft
WhatsThisMode-Methode

Zum Seitenanfang


WhatsThisButton-Eigenschaft des UserForm-Objektes

Die WhatsThisButton-Eigenschaft gibt einen Wert vom Typ Boolean zurück, der bestimmt, ob in der Titelleiste eines UserForm-Objekts die Direkthilfe-Schaltfläche angezeigt wird. Diese Eigenschaft ist zur Laufzeit schreibgeschützt.

Benutzerformular mit Direkthilfe-Schaltfläche
Abbildung: Benutzerformular mit Direkthilfe-Schaltfläche

Diese Eigenschaft wird beim Macintosh nicht unterstützt.

Verwandte Themen
WhatsThisHelp-Eigenschaft
WhatsThisMode-Methode

Zum Seitenanfang


Unterschiede bei Steuerelementen

 

 

Steuerelement (deutsch) Steuerelement (englisch) Eigenschaft
Bezeichnungsfeld Label Picture
Textfeld TextBox  
Kombinationsfeld ComboBox RowSource
Listenfeld ListBox RowSource
Kontrollkästchen CheckBox Picture
Optionsfeld OptionButton Picture
Umschaltfeld ToggleButton Picture
Rahmen Frame Picture
Befehlsschaltfläche CommandButton Picture
Register TabStrip  
Multiseiten MultiPage Picture von Page-Objekt
Bildlaufleiste ScrollBar  
Drehfeld SpinButton  
Anzeige Image Picture

 

 

 

Element Typ Element von Bibliothek
RowSource Eigenschaft ListBox-/ComboBox-Objekt MSForms
Picture Eigenschaft Diverse Control-Objekte MSForms
MouseIcon Eigenschaft Alle Control-Objekte MSForms
Error Ereignis Alle Control-Objekte MSForms

 

Zum Seitenanfang


RowSource-Eigenschaft des ListBox- und ComboBox-Steuerelementes

Die RowSource-Eigenschaft gibt die Quelle an, die eine Liste für ein Kombinationsfeld-Steuerelement (ComboBox) oder ein Listenfeld-Steuerelement (ListBox) zur Verfügung stellt.

Syntax

Objekt.RowSource [= String]

Die RowSource-Eigenschaft akzeptiert Bereiche von Tabellenblättern von Microsoft Excel.

Anmerkung

Auf einem Benutzerformular können sowohl unter Windows als auch auf Macintosh ListBox- und ComboBox-Steuerelemente benutzt werden. Die RowSource-Eigenschaft jedoch steht auf Macintosh-Systemen nicht zur Verfügung. Wenn diese Eigenschaft trotzdem verwendet wird, erscheint der Laufzeitfehler 380 mit diesem Meldungstext:

"Could not set the RowSource property. Invalid property value."

Laufzeitfehler 380
Abbildung: Laufzeitfehler 380

ListBox-Eigenschaften mit RowSource
Abbildung: ListBox-Eigenschaften mit RowSource

 

Wenn die Arbeitsmappe mit der enthaltenen UserForm potenziell auf einem Macintosh-System zum Einsatz kommen könnte, dürfen Sie RowSource nicht verwenden.  und stattdessen die ListBox bzw. ComboBox mittels VBA-Code mit Werten füllen.

Hier ein Beispiel:

Private Sub UserForm_Initialize()
  ListBox1.List = Worksheets("Tabelle1").Range("A1:A5").Value
End Sub

Hier ein anderes Beispiel:

Private Sub UserForm_Initialize()
  ListBox1.List = ThisWorkbook.Worksheets("Mitarbeiter").Range("Namensliste").Value
End Sub

 

Weitere Informationen erhalten Sie hier:
  MacXL: Run-Time Error When You Set RowSource Property (98/2001)
  http://support.microsoft.com/?scid=kb;en-us;175795

Zum Kapitelanfang Zum Seitenanfang


Unterschiede bei integrierten Konstanten

Es gibt Konstanten, die nur für Windows oder nur für Macintosh gelten. Verschiedene Konstanten besitzen auch unterschiedliche Auswirkungen. Zudem gibt es eine Konstante, die je nach Plattform einen anderen Inhalt besitzt.

Konstante Wert Auflistung Kategorie Bibliothek Plattform
vbNewLine Chr(13)+Chr(10)
bzw. Chr(13)
Constants Verschiedene Konstanten VBA Windows und Macintosh (unterschiedlicher Wert)
Mehr dazu siehe hier.
vbHide 0 VbAppWinStyle Shell-Konstanten VBA Nur Windows
vbNormalFocus 1 VbAppWinStyle Shell-Konstanten VBA Windows und Macintosh (unterschiedliche Auswirkung)
Mehr dazu siehe hier.
vbMinimizedFocus 2 VbAppWinStyle Shell-Konstanten VBA Windows und Macintosh (unterschiedliche Auswirkung)
Mehr dazu siehe hier.
vbMaximizedFocus 3 VbAppWinStyle Shell-Konstanten VBA Windows und Macintosh (unterschiedliche Auswirkung)
Mehr dazu siehe hier.
vbNormalNoFocus 4 VbAppWinStyle Shell-Konstanten VBA Windows und Macintosh (unterschiedliche Auswirkung)
Mehr dazu siehe hier.
vbMinimizedNoFocus 6 VbAppWinStyle Shell-Konstanten VBA Windows und Macintosh (unterschiedliche Auswirkung)
Mehr dazu siehe hier.
vbSystem 4 VbFileAttribute Dir-, GetAttr- und SetAttr-Konstanten VBA Nur Windows
vbArchive 32 VbFileAttribute Dir-, GetAttr- und SetAttr-Konstanten VBA Nur Windows
vbDirectory 16 VbFileAttribute Dir-, GetAttr- und SetAttr-Konstanten VBA Nur Windows
vbVolume 8 VbFileAttribute Dir-, GetAttr- und SetAttr-Konstanten VBA Nur Windows
vbAlias 64 VbFileAttribute Dir-, GetAttr- und SetAttr-Konstanten VBA Nur Macintosh
vbUnicode 64 VbStrConv StrConv-Konstanten VBA Nur Windows
vbFromUnicode 128 VbStrConv StrConv-Konstanten VBA Nur Windows
msoBarMenuBar 6 MsoBarPosition Office Office Nur Macintosh

In Bezug auf Anzeige des Anwendungsfenster im Vordergrund oder Hintergrund gibt es Unterschiede. Auf dem Macintosh plazieren vbNormalFocus, vbMinimizedFocus und vbMaximizedFocus die Anwendung im Vordergrund. vbNormalNoFocus und vbMinimizedFocus plazieren die Anwendung im Hintergrund.

 

Unklare Konstanten

Konstante Wert Auflistung Kategorie Bibliothek Plattform
vbAppWindows 2 VbQueryClose QueryClose-Konstanten VBA Nur Windows?
vbAppTaskManager 3 VbQueryClose QueryClose-Konstanten VBA Nur Windows?
vbFormFeed Chr(12) Constants Verschiedene Konstanten VBA Nur Windows?
vbVerticalTab Chr(11) Constants Verschiedene Konstanten VBA Nur Windows?

 

XlFileFormat-Konstanten

FileFormat-Konstante Bemerkung
xlAddIn -
xlCSV -
xlCSVMac Sollte nicht unter Windows verwendet werden.
xlCSVMSDOS Sollte nicht auf Macintosh verwendet werden.
xlCSVWindows Sollte nicht auf Macintosh verwendet werden.
xlCurrentPlatformText Sollte statt xlTextMac und xlTextWindows verwendet werden.
xlDBF2 -
xlDBF3 -
xlDBF4 -
xlDIF -
xlExcel2 -
xlExcel2FarEast -
xlExcel3 -
xlExcel4 -
xlExcel4Workbook -
xlExcel5 -
xlExcel7 -
xlExcel9795 Auch in VBA für Macintosh vorhanden?
xlHTML In Excel 97 nicht vorhanden. Macintosh?
xlIntlAddIn -
xlIntlMacro -
xlSYLK -
xlTemplate -
xlTextMac Sollte nicht unter Windows verwendet werden.
xlTextMSDOS Sollte nicht auf Macintosh verwendet werden.
xlTextPrinter  
xlTextWindows Sollte nicht auf Macintosh verwendet werden.
xlUnicodeText In Excel 97 nicht vorhanden. Macintosh?
Macht auf Macintosh keinen Sinn, weil kein Unicode.
xlWebArchive Nur in Excel 2003 vorhanden. Macintosh?
xlWJ2WD1 -
xlWJ3 -
xlWJ3FJ3 -
xlWK1 -
xlWK1ALL -
xlWK1FMT -
xlWK3 -
xlWK3FM3 -
xlWK4 -
xlWKS -
xlWorkbookNormal -
xlWorks2FarEast -
xlWQ1 -
xlXMLSpreadsheet Nur in Excel 2003 vorhanden. Macintosh?

Zum Kapitelanfang Zum Seitenanfang


Unterschiede bei VBA-Fehlermeldungen

Fehlermeldungen wegen inkompatiblen VBA-Sprachelementen:

- MacID-Funktion

- MacScript-Funktion

- Environ-Funktion

- CDecl-Schlüsselwort

- SendKeys-Anweisung (?)

 

Fehler beim Kompilieren: Sub oder Function nicht definiert

 

Auswirkung bei Verwendung eines nicht verfügbaren Sprachelementes

 

 

Es existieren ein paar Fehlermeldungen, die ausschliesslich auf einem Macintosh-System auftreten können. Oder sie können auf Windows und Macintosh auftreten, jedoch unterschiedliche Ursachen besitzen, und folglich anders behoben werden müssen.

Diese Laufzeitfehler besitzen je nach Plattform ein paar Unterschiede:
- Laufzeitfehler 35
- Laufzeitfehler 49
- Laufzeitfehler 53
- Laufzeitfehler 67
- Laufzeitfehler 447
- Laufzeitfehler 454
- Laufzeitfehler 455

Zum Seitenanfang


Fehlermeldung: Sub, Function oder Property nicht definiert (Fehler 35)

Laufzeitfehler 35
Abbildung: Laufzeitfehler 35

Eine Sub-, Function- oder Property-Prozedur muss definiert sein, um aufgerufen werden zu können. Dieser Fehler hat die folgenden Ursachen und Lösungen:

        So fügen Sie einen Verweis hinzu:
        1. Öffnen Sie das Dialogfeld Verweise.
        2. Bestimmen Sie den Namen des Projekts, das die gewünschte Prozedur enthält.
        Wenn der Projektname nicht im Dialogfeld "Verweise" angezeigt wird, können Sie nach dem Prozedurnamen suchen,
        indem Sie auf die Schaltfläche Suchen klicken.
        3. Aktivieren Sie das Kontrollkästchen links neben dem Projektnamen.
        4. Klicken Sie auf OK.

Siehe auch unter:
Declare-Anweisung

Zum Seitenanfang


Fehlermeldung: Falsche DLL-Aufrufkonvention (Fehler 49)

Laufzeitfehler 49
Abbildung: Laufzeitfehler 49

Argumente, die an eine Routine in einer Dynamic Link Library (DLL) oder in einer Macintosh Code-Ressource übergeben werden, müssen mit den von der Routine erwarteten Argumenten genau übereinstimmen. Aufrufkonventionen legen die Anzahl, den Typ und die Reihenfolge der Argumente fest. Für diesen Fehler gibt es die folgenden Ursachen und Lösungen: