<< 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).