Application (Objekt)

<< Click to Display Table of Contents >>

Application (Objekt)

Zugriffspfad: Application

 1  Beschreibung

Application ist das "Wurzelobjekt" aller anderen Objekte in PlanMaker. Es ist das zentrale Steuerobjekt, über das die gesamte Kommunikation zwischen Ihrem Basic-Script und PlanMaker abgewickelt wird.

 2  Zugriff auf das Objekt

Es existiert genau eine Instanz des Application-Objekts. Diese ist während der gesamten Laufzeit von PlanMaker verfügbar und wird direkt über die von CreateObject zurückgegebene Objektvariable angesprochen:

Set pm = CreateObject("PlanMaker.Application")

MsgBox pm.Application.Name

Da Application die Defaulteigenschaft von PlanMaker ist, kann es generell weggelassen werden:

Set pm = CreateObject("PlanMaker.Application")

MsgBox pm.Name ' gleichbedeutend mit pm.Application.Name

 3  Eigenschaften, Objekte, Sammlungen und Methoden

Eigenschaften:

FullName R/O

Name R/O (Defaulteigenschaft)

Path R/O

Build R/O

Bits R/O

Visible

Caption R/O

Left

Top

Width

Height

WindowState

Calculation

CalculateBeforeSave

DisplayCommentIndicator

EditDirectlyInCell

MoveAfterReturn

MoveAfterReturnDirection

PromptForSummaryInfo

WarningOnError

 

Objekte:

Options Options

UserProperties UserProperties

CommandBars CommandBars

AutoCorrect AutoCorrect

ActiveWorkbook Workbook

ActiveSheet Sheet

ActiveWindow Window

ActiveCell Range

Selection Range

Range Range

Cells Range

Application Application

 

Sammlungen:

Workbooks Workbooks

Windows Windows

RecentFiles RecentFiles

FontNames FontNames

Columns Columns

Rows Rows

 

Methoden:

CentimetersToPoints

MillimetersToPoints

InchesToPoints

PicasToPoints

LinesToPoints

Activate

Calculate

Quit

FullName (Eigenschaft, R/O)

Datentyp: String

Liefert Namen und Pfad des Programms (z.B. "c:\Programme\SoftMaker Office\PlanMaker.exe").

Name (Eigenschaft, R/O)

Datentyp: String

Liefert den Namen des Programms, also "PlanMaker".

Path (Eigenschaft, R/O)

Datentyp: String

Liefert den Pfad des Programms, zum Beispiel "c:\Programme\SoftMaker Office\".

Build (Eigenschaft, R/O)

Datentyp: String

Liefert die Revisionsnummer des Programms als Zeichenkette, zum Beispiel "1000".

Bits (Eigenschaft, R/O)

Datentyp: String

Liefert eine Zeichenkette, die der Bit-Version des Programms entspricht: "32" bei der 32-Bit-Version, "64" bei der 64-Bit-Version von PlanMaker.

Visible (Eigenschaft)

Datentyp: Boolean

Liest oder setzt die Sichtbarkeit des Programmfensters:

pm.Application.Visible = True  ' PlanMaker wird sichtbar

pm.Application.Visible = False ' PlanMaker wird unsichtbar

Wichtig: Standardmäßig ist Visible auf False gesetzt – PlanMaker startet also unsichtbar, bis Sie ihn explizit sichtbar machen.

Caption (Eigenschaft, R/O)

Datentyp: String

Liefert eine Zeichenkette mit dem Inhalt der Titelleiste des Programmfensters (z.B. "PlanMaker - Meine Tabelle.pmdx").

Left (Eigenschaft)

Datentyp: Long

Liest oder setzt die X-Koordinate (= linker Rand) des Programmfensters auf dem Bildschirm. Die Maßeinheit sind Bildschirmpixel.

Top (Eigenschaft)

Datentyp: Long

Liest oder setzt die Y-Koordinate (= oberer Rand) des Programmfensters auf dem Bildschirm. Die Maßeinheit sind Bildschirmpixel.

Width (Eigenschaft)

Datentyp: Long

Liest oder setzt die Breite des Programmfensters auf dem Bildschirm. Die Maßeinheit sind Bildschirmpixel.

Height (Eigenschaft)

Datentyp: Long

Liest oder setzt die Höhe des Programmfensters auf dem Bildschirm. Die Maßeinheit sind Bildschirmpixel.

WindowState (Eigenschaft)

Datentyp: Long (SmoWindowState)

Liest oder setzt die Fensterdarstellung des Programmfensters. Mögliche Werte:

smoWindowStateNormal   = 1 ' normal

smoWindowStateMinimize = 2 ' minimiert

smoWindowStateMaximize = 3 ' maximiert

Calculation (Eigenschaft)

Datentyp: Long (PmCalculation)

Liest oder setzt die Einstellung, ob Dokumente automatisch oder manuell neu berechnet werden. Mögliche Werte:

pmCalculationAutomatic   = 0 ' Berechnungen automatisch aktualisieren

pmCalculationManual      = 1 ' Berechnungen manuell aktualisieren

Hinweise:

PlanMaker erlaubt es, diese Einstellung pro Dokument vorzunehmen, Excel hingegen nur programmweit. Diese Eigenschaft ist bei PlanMaker nur aus Kompatibilitätsgründen vorhanden. Vorzuziehen ist die gleichnamige Eigenschaft Calculation im Workbook-Objekt, da sich diese gezielt auf jeweils ein Dokument bezieht.

Wenn Sie die Eigenschaft abfragen und sich die Einstellungen in den verschiedenen geöffneten Dokumenten unterscheiden, wird smoUndefined zurückgeliefert.

CalculateBeforeSave (Eigenschaft)

Datentyp: Boolean

Liest oder setzt die Einstellung, ob Dokumente vor dem Speichern neu berechnet werden.

Hinweise:

Diese Eigenschaft hat nur dann eine Wirkung, wenn die Berechnungen manuell aktualisiert werden. Ist die Eigenschaft Calculation (siehe dort) auf pmCalculationAutomatic gesetzt, werden die Berechnungen ohnehin ständig auf dem aktuellsten Stand gehalten.

PlanMaker erlaubt es, diese Einstellung pro Dokument vorzunehmen, Excel hingegen nur programmweit. Diese Eigenschaft ist bei PlanMaker nur aus Kompatibilitätsgründen vorhanden. Vorzuziehen ist die gleichnamige Eigenschaft CalculateBeforeSave im Workbook-Objekt, da sich diese gezielt auf jeweils ein Dokument bezieht.

Wenn Sie die Eigenschaft abfragen und sich die Einstellungen in den verschiedenen geöffneten Dokumenten unterscheiden, wird smoUndefined zurückgeliefert.

DisplayCommentIndicator (Eigenschaft)

Datentyp: Long (PmCommentDisplayMode)

Liest oder setzt die Art und Weise, in der Kommentare angezeigt werden. Mögliche Werte:

pmNoIndicator          = 0 ' Weder Kommentare noch gelbes Dreieck

pmCommentIndicatorOnly = 1 ' Nur ein gelbes Hinweisdreieck in der Zelle

pmCommentOnly          = 2 ' Kommentare zeigen, aber kein Hinweisdreieck

pmCommentAndIndicator  = 3 ' Sowohl Kommentare als auch Dreieck zeigen

Hinweise:

PlanMaker erlaubt es, diese Einstellung pro Dokument vorzunehmen, Excel hingegen nur programmweit. Diese Eigenschaft ist bei PlanMaker nur aus Kompatibilitätsgründen vorhanden. Vorzuziehen ist die gleichnamige Eigenschaft DisplayCommentIndicator im Workbook-Objekt, da sich diese gezielt auf jeweils ein Dokument bezieht.

Wenn Sie die Eigenschaft abfragen und sich die Einstellungen in den verschiedenen geöffneten Dokumenten unterscheiden, wird smoUndefined zurückgeliefert.

EditDirectlyInCell (Eigenschaft)

Datentyp: Boolean

Liest oder setzt die Einstellung, ob Sie Zellen direkt im Arbeitsblatt editieren können oder nur in der Eingabeleiste oberhalb des Arbeitsblatts.

MoveAfterReturn (Eigenschaft)

Datentyp: Boolean

Liest oder setzt die Einstellung, ob PlanMaker nach dem Drücken der Wagenrücklauftaste den Zellenrahmen in eine andere Zelle verschiebt.

Wenn Sie diese Eigenschaft auf True setzen, wird automatisch die Eigenschaft MoveAfterReturnDirection (siehe dort) auf pmDown gesetzt. Sie können danach aber jede andere Bewegungsrichtung festlegen.

MoveAfterReturnDirection (Eigenschaft)

Datentyp: Long (PmDirection)

Liest oder setzt die Richtung, in der der Zellrahmen nach dem Drücken der Wagenrücklauftaste verschoben wird. Mögliche Werte:

pmDown    = 0 ' nach unten

pmUp      = 1 ' nach oben

pmToRight = 2 ' nach rechts

pmToLeft  = 3 ' nach links

PromptForSummaryInfo (Eigenschaft)

Datentyp: Boolean

Liest oder setzt die Einstellung "Beim Speichern nach Dokumentinfo fragen”, die Sie bei PlanMaker auf der Karteikarte Dateien im Dialogfenster des Ribbonbefehls Datei | Einstellungen finden.

WarningOnError (Eigenschaft)

Datentyp: Boolean

Liest oder setzt die Einstellung "Warnung bei fehlerhaften Formeln", die Sie bei PlanMaker auf der Karteikarte Bearbeiten im Dialogfenster des Ribbonbefehls Datei | Einstellungen finden.

Options (Zeiger auf Objekt)

Datentyp: Object

Liefert das Options-Objekt, mit dem Sie auf diverse globale Programmeinstellungen von PlanMaker zugreifen können.

UserProperties (Zeiger auf Objekt)

Datentyp: Object

Liefert das UserProperties-Objekt, mit dem Sie auf den Namen und die Adresse des Anwenders zugreifen können.

CommandBars (Zeiger auf Objekt)

Datentyp: Object

Liefert das CommandBars-Objekt, mit dem Sie auf die Symbolleisten von PlanMaker zugreifen können.

Hinweis: Symbolleisten funktionieren nur im klassischen Modus, nicht im Ribbonmodus.

AutoCorrect (Zeiger auf Objekt)

Datentyp: Object

Liefert das AutoCorrect-Objekt, mit dem Sie auf die Textbausteine von PlanMaker zugreifen können.

ActiveWorkbook (Zeiger auf Objekt)

Datentyp: Object

Liefert das gerade aktive Workbook-Objekt, über das Sie auf das aktuelle Dokument zugreifen können.

ActiveSheet (Zeiger auf Objekt)

Datentyp: Object

Liefert das gerade aktive Sheet-Objekt, über das Sie auf das aktive Arbeitsblatt des aktuellen Dokuments zugreifen können.

ActiveSheet ist eine Abkürzung für ActiveWorkbook.ActiveSheet. Die folgenden beiden Aufrufe sind daher gleichwertig:

MsgBox pm.Application.ActiveWorkbook.ActiveSheet

MsgBox pm.Application.ActiveSheet

ActiveWindow (Zeiger auf Objekt)

Datentyp: Object

Liefert das gerade aktive Window-Objekt, über das Sie auf das aktuelle Dokumentfenster zugreifen können.

ActiveCell (Zeiger auf Objekt)

Datentyp: Object

Liefert ein Range-Objekt, das die im aktuellen Dokumentfenster aktive Zelle repräsentiert. Mit diesem Objekt können Sie die Formatierung und den Inhalt der Zelle lesen und bearbeiten.

ActiveCell ist eine Abkürzung für ActiveWindow.ActiveCell. Die folgenden beiden Aufrufe sind daher gleichwertig:

pm.Application.ActiveWindow.ActiveCell.Font.Size = 14

pm.Application.ActiveCell.Font.Size = 14

Bitte beachten Sie, dass ActiveCell auch dann nur eine einzige Zelle liefert, wenn im Arbeitsblatt ein Bereich selektiert ist. Denn der Zellrahmen kann innerhalb der Selektion an jeder beliebigen Stelle stehen: Ziehen Sie probehalber mit der Maus einen Bereich auf und drücken Sie dann wiederholt die Wagenrücklauftaste – Sie werden sehen, dass sich der Zellrahmen innerhalb der Selektion verschiebt.

Selection (Zeiger auf Objekt)

Datentyp: Object

Liefert ein Range-Objekt, das die selektierten Zellen im aktiven Arbeitsblatt des aktuellen Dokumentfensters repräsentiert.

Selection ist eine Abkürzung für ActiveWorkbook.ActiveSheet.Selection. Die folgenden beiden Aufrufe sind daher gleichwertig:

pm.Application.ActiveWorkbook.ActiveSheet.Selection.Font.Size = 14

pm.Application.Selection.Font.Size = 14

Range (Zeiger auf Objekt)

Datentyp: Object

Erzeugt anhand der übergebenen Parameter ein Range-Objekt, das sich auf das aktive Arbeitsblatt des aktuellen Dokuments bezieht, und liefert dieses zurück. Sie können mit diesem Objekt dann auf die Zellen im Bereich zugreifen und beispielsweise Werte auslesen und setzen.

Syntax 1:

 obj = Range(Cell1)

Syntax 2:

 obj = Range(Cell1, Cell2)

Parameter:

Cell1 (Typ: String) gibt entweder gemäß Syntax 1 einen Zellbereich an (dann muss Cell2 weggelassen werden) oder gemäß Syntax 2 die linke obere Ecke eines Bereichs (dann gibt der Parameter Cell2 die rechte untere Ecke des Bereichs an).
Cell2 (optional; Typ: String) darf nur verwendet werden, wenn Cell1 eine einzelne Zelle referenziert, und gibt die rechte untere Ecke des Bereichs an).
Beispiele für Syntax 1:

 Range("A1:B20")                ' Zellen A1 bis B20

 Range("A1")                ' Nur Zelle A1

 Range("A:A")                ' Gesamte Spalte A

 Range("3:3")                ' Gesamte Zeile 3

 Range("Sommer")                ' Benannter Bereich "Sommer"

Beispiel für Syntax 2:

 Range("A1", "B20")        ' Zellen A1 bis B20

Range ist eine Abkürzung für ActiveWorkbook.ActiveSheet.Range. Die folgenden beiden Aufrufe sind daher gleichwertig:

pm.Application.ActiveWorkbook.ActiveSheet.Range("A1:B5").Value = 42

pm.Application.Range("A1:B5").Value = 42

Cells (Zeiger auf Objekt)

Datentyp: Object

Liefert ein Range-Objekt, das sämtliche Zellen des aktuellen Arbeitsblatts umfasst. Dies ist für zwei Anwendungsfälle nützlich:

Sie können eine Operation (vorrangig Formatierungen) auf jede Zelle des Arbeitsblatts anwenden:

' Das aktuelle Arbeitsblatt komplett rot einfärben

pm.Cells.Shading.ForegroundPatternColor = smoColorRed

Sie können einzelne Zellen über Schleifenvariablen adressieren, anstatt den Adressierungsstring (zum Beispiel "B5" für die zweite Spalte in der fünften Zeile) manuell zusammenzubauen. Hierzu benutzen Sie die Eigenschaft Item des durch den Cells-Zeiger adressierten Range-Objekts:

' Die ersten 5 * 10 Zellen des aktuellen Arbeitsblatts befüllen

Dim row, col as Integer

For row = 1 To 5

 For col = 1 to 10

                 pm.Cells.Item(row, col).Value = 42

 Next col

Next row

Cells ist eine Abkürzung für ActiveSheet.Cells. Die folgenden beiden Aufrufe sind daher gleichwertig:

pm.Application.ActiveSheet.Cells(1, 1).Font.Size = 14

pm.Application.Cells(1, 1).Font.Size = 14

Application (Zeiger auf Objekt)

Liefert das Application-Objekt, also sich selbst. Dieser Objektzeiger ist eigentlich unnötig und nur der Vollständigkeit halber vorhanden.

Workbooks (Zeiger auf Sammlung)

Datentyp: Object

Liefert die Workbooks-Sammlung, eine Sammlung aller momentan geöffneten Dokumente.

Windows (Zeiger auf Sammlung)

Datentyp: Object

Liefert die Windows-Sammlung, eine Sammlung aller momentan geöffneten Dokumentfenster.

RecentFiles (Zeiger auf Sammlung)

Datentyp: Object

Liefert die RecentFiles-Sammlung, eine Sammlung der zuletzt geöffneten Dokumente (wie sie in PlanMakers Dateimenü unten angezeigt werden).

FontNames (Zeiger auf Sammlung)

Datentyp: Object

Liefert die FontNames-Sammlung, eine Sammlung aller installierten Schriftarten.

Columns (Zeiger auf Sammlung)

Datentyp: Object

Liefert die Columns-Sammlung, eine Sammlung aller Spalten des aktuellen Arbeitsblatts.

Columns ist eine Abkürzung für ActiveWorkbook.ActiveSheet.Columns. Die folgenden beiden Aufrufe sind daher gleichwertig:

MsgBox pm.Application.ActiveWorkbook.ActiveSheet.Columns.Count

MsgBox pm.Application.Columns.Count

Rows (Zeiger auf Sammlung)

Datentyp: Object

Liefert die Rows-Sammlung, eine Sammlung aller Zeilen des aktuellen Arbeitsblatts.

Rows ist eine Abkürzung für ActiveWorkbook.ActiveSheet.Rows. Die folgenden beiden Aufrufe sind daher gleichwertig:

MsgBox pm.Application.ActiveWorkbook.ActiveSheet.Rows.Count

MsgBox pm.Application.Rows.Count

CentimetersToPoints (Methode)

Konvertiert den angegebenen Wert von Zentimetern (cm) in Punkt (pt). Diese Funktion ist nützlich, wenn Sie mit Zentimetern rechnen, eine PlanMaker-Funktion als Maßeinheit aber nur Punkt akzeptiert.

Syntax:

 CentimetersToPoints(Centimeters)

Parameter:

Centimeters (Typ: Single) gibt den umzurechnenden Wert an.

Rückgabetyp:

Single

Beispiel:

' Den oberen Rand des aktiven Arbeitsblatts auf 3 Zentimeter setzen

pm.ActiveSheet.PageSetup.TopMargin = pm.Application.CentimetersToPoints(3)

MillimetersToPoints (Methode)

Konvertiert den angegebenen Wert von Millimetern (mm) in Punkt (pt). Diese Funktion ist nützlich, wenn Sie mit Millimetern rechnen, eine PlanMaker-Funktion als Maßeinheit aber nur Punkt akzeptiert.

Syntax:

 MillimetersToPoints(Millimeters)

Parameter:

Millimeters (Typ: Single) gibt den umzurechnenden Wert an.

Rückgabetyp:

Single

Beispiel:

' Den oberen Rand des aktiven Arbeitsblatts auf 30 Millimeter setzen

pm.ActiveSheet.PageSetup.TopMargin = pm.Application.MillimetersToPoints(30)

InchesToPoints (Methode)

Konvertiert den angegebenen Wert von Zoll (in) in Punkt (pt). Diese Funktion ist nützlich, wenn Sie mit Zoll rechnen, eine PlanMaker-Funktion als Maßeinheit aber nur Punkt akzeptiert.

Syntax:

 InchesToPoints(Inches)

Parameter:

Inches (Typ: Single) gibt den umzurechnenden Wert an.

Rückgabetyp:

Single

Beispiel:

' Den unteren Rand des aktiven Arbeitsblatts auf 1 Zoll setzen

pm.ActiveSheet.PageSetup.BottomMargin = pm.Application.InchesToPoints(1)

PicasToPoints (Methode)

Konvertiert den angegebenen Wert von Pica in Punkt (pt). Diese Funktion ist nützlich, wenn Sie mit Pica rechnen, eine PlanMaker-Funktion als Maßeinheit aber nur Punkt akzeptiert.

Syntax:

 PicasToPoints(Picas)

Parameter:

Picas (Typ: Single) gibt den umzurechnenden Wert an.

Rückgabetyp:

Single

Beispiel:

' Den unteren Rand des aktiven Arbeitsblatts auf 6 Pica setzen

pm.ActiveSheet.PageSetup.BottomMargin = pm.Application.PicasToPoints(6)

LinesToPoints (Methode)

Identisch mit PicasToPoints (siehe dort).

Syntax:

 LinesToPoints(Lines)

Parameter:

Lines (Typ: Single) gibt den umzurechnenden Wert an.

Rückgabetyp:

Single

Beispiel:

' Den unteren Rand des aktiven Arbeitsblatts auf 6 Pica setzen

pm.ActiveSheet.PageSetup.BottomMargin = pm.Application.LinesToPoints(6)

Activate (Methode)

Bringt das Programmfenster in den Vordergrund und setzt den Fokus darauf.

Syntax:

 Activate

Parameter:

keine

Rückgabetyp:

keiner

Beispiel:

' PlanMaker in den Vordergrund holen

pm.Application.Activate

Hinweis: Damit die Funktion erfolgreich ausgeführt werden kann, muss Application.Visible = True sein.

Calculate (Methode)

Berechnet alle derzeit geöffneten Dokumente neu (ähnlich dem Ribbonbefehl Formeln | Gruppe Aktualisieren | Daten aktualisieren | Berechnungen aktualisieren in PlanMaker, nur dass der Ribbonbefehl nur die aktive Arbeitsmappe neu berechnet).

Syntax:

 Calculate

Parameter:

keine

Rückgabetyp:

keiner

Beispiel:

' Alle geöffneten Dokumente neu berechnen

pm.Application.Calculate

Quit (Methode)

Beendet das Programm.

Syntax:

 Quit

Parameter:

keine

Rückgabetyp:

keiner

Beispiel:

' PlanMaker beenden

pm.Application.Quit

Sind noch ungespeicherte Dokumente geöffnet, wird der Benutzer gefragt, ob diese gespeichert werden sollen. Wenn Sie diese Frage vermeiden wollen, sollten Sie entweder alle offenen Dokumente von Ihrem Programm aus schließen oder bei dem Dokument die Eigenschaft Saved auf True setzen (siehe Workbook).