<< Click to Display Table of Contents >> Workbook (Objekt) |
Zugriffspfade:
▪Application à Workbooks à Item
▪Application à ActiveWorkbook
▪Application à Windows à Item à Workbook
▪Application à ActiveWindow à Workbook
1 Beschreibung
Ein Workbook-Objekt repräsentiert ein einzelnes in PlanMaker geöffnetes Dokument.
Für jedes Dokument existiert ein eigenes Workbook-Objekt. Öffnen oder schließen Sie Dokumente, werden die zugehörigen Workbook-Objekte dynamisch angelegt bzw. entfernt.
2 Zugriff auf das Objekt
Die einzelnen Workbook-Objekte können auf folgenden Wegen angesprochen werden:
▪Alle geöffneten Dokumente werden in der Sammlung Application.Workbooks (Typ: Workbooks) verwaltet:
' Die Namen aller geöffneten Dokumente anzeigen
For i = 1 To pm.Application.Workbooks.Count
MsgBox pm.Application.Workbooks.Item(i).Name
Next i
▪Das aktive Dokument erhalten Sie über Application.ActiveWorkbook:
' Den Namen des aktuellen Dokuments anzeigen
MsgBox pm.Application.ActiveWorkbook.Name
▪Workbook ist der Parent des Sheets-Objekts, einer Sammlung aller Arbeitsblätter eines Dokuments:
' Den Namen des aktuellen Dokuments über einen Umweg anzeigen
MsgBox pm.Application.ActiveWorkbook.Sheets.Parent.Name
▪Das Window-Objekt enthält einen Objektzeiger auf das ihm zugehörige Dokument:
' Über das aktive Dokumentfenster an das aktive Dokument kommen
MsgBox pm.Application.ActiveWindow.Workbook.Name
3 Eigenschaften, Objekte, Sammlungen und Methoden
Eigenschaften:
▪Name (Defaulteigenschaft) R/O
▪FullName R/O
▪Path R/O
▪Saved
▪ReadOnly
▪EnableCaretMovement
▪ManualApply
▪ScreenUpdate
▪Calculation
▪CalculateBeforeSave
▪CalculateBeforeCopying
▪CalculateBeforePrinting
▪DisplayCommentIndicator
▪FixedDecimal
▪FixedDecimalPlaces
▪Iteration
▪MaxIteration
▪MaxChange
▪ShowGuideLinesForTextFrames
▪ShowHiddenObjects
▪RoundFinalResults
▪RoundIntermediateResults
Objekte:
▪ActiveSheet → Sheet
▪ActiveWindow → Window
▪BuiltInDocumentProperties → DocumentProperties
▪Application → Application
▪Parent → Workbooks
Sammlungen:
▪Sheets → Sheets
Methoden:
▪Activate
▪Calculate
▪Close
▪Save
▪SaveAs
▪PrintOut
Name (Eigenschaft, R/O)
Datentyp: String
Liefert den Namen des Dokuments (z.B. "Müller.pmdx").
FullName (Eigenschaft, R/O)
Datentyp: String
Liefert den Pfad und Namen des Dokuments (z.B. "c:\Dokumente\Müller.pmdx").
Path (Eigenschaft, R/O)
Datentyp: String
Liefert den Pfad des Dokuments (z.B. "c:\Dokumente").
Saved (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Saved-Eigenschaft des Dokuments. Diese bezeichnet, ob ein Dokument nach seiner letzten Speicherung verändert wurde:
▪Wenn Saved auf True steht, wurde das Dokument seit dem letzten Speichern nicht mehr verändert.
▪Wenn Saved auf False steht, wurde das Dokument seit dem letzten Speichern verändert. Der Anwender wird beim Schließen des Dokuments gefragt, ob es gespeichert werden soll.
ReadOnly (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die ReadOnly-Eigenschaft des Dokuments.
Wenn diese Eigenschaft True ist, ist das Dokument gegen Änderungen durch den Benutzer geschützt. Er kann dann nichts mehr editieren, löschen oder einfügen.
Setzen Sie diese Eigenschaft auf True, wird automatisch die Eigenschaft EnableCaretMovement (siehe dort) auf False gesetzt. Dadurch kann dann im Dokument die Schreibmarke nicht mehr versetzt werden. Sie können aber EnableCaretMovement auch wieder auf True setzen, sodass dieses wieder möglich ist.
EnableCaretMovement (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die EnableCaretMovement-Eigenschaft des Dokuments. Diese Eigenschaft ist nur sinnvoll in Kombination mit der ReadOnly-Eigenschaft (siehe dort).
Wenn EnableCaretMovement True ist, kann die Schreibmarke im (schreibgeschützten) Dokument frei bewegt werden. Wird die Eigenschaft auf False gesetzt, ist das Versetzen der Schreibmarke nicht mehr möglich.
ManualApply (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Einstellung, ob sich von Ihrem Basic-Programm gemachte Formatierungsänderungen sofort auswirken oder nicht.
Standardmäßig ist die Eigenschaft auf False gesetzt, wodurch sich Formatierungsanweisungen wie Range.Font.Size = 12 sofort auswirken.
Wenn Sie aber eine große Anzahl von Formatierungen anbringen möchten, können Sie ManualApply auf True setzen. Dann sammelt PlanMaker alle Formatierungsbefehle, bis Sie die Methode Range.ApplyFormatting (siehe dort) aufrufen. Das bringt einen Geschwindigkeitsvorteil.
ScreenUpdate (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Einstellung, ob PlanMaker nach jeder Änderung den Bildschirm aktualisieren sollte.
Wenn Sie diese Eigenschaft auf False setzen und dann den Inhalt oder die Formatierung von Zellen ändern, wird dies solange nicht angezeigt, bis Sie diese wieder auf True setzen. Dies kann Geschwindigkeitsvorteile bewirken, wenn Sie viele Zellen auf einmal abändern.
Calculation (Eigenschaft)
Datentyp: Long (PmCalculation)
Liest oder setzt die Einstellung, ob das Dokument automatisch oder manuell neu berechnet wird. Mögliche Werte:
pmCalculationAutomatic = 0 ' Berechnungen automatisch aktualisieren
pmCalculationManual = 1 ' Berechnungen manuell aktualisieren
CalculateBeforeSave (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Einstellung, ob das Dokument vor dem Speichern neu berechnet wird.
Diese Eigenschaft hat nur dann eine Wirkung, wenn das Dokument manuell berechnet wird. Ist die Eigenschaft Calculation (siehe dort) auf pmCalculationAutomatic gesetzt, werden alle Berechnungen ohnehin ständig aktualisiert.
CalculateBeforeCopying (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Einstellung, ob das Dokument vor dem Kopieren oder Ausschneiden von Zellen neu berechnet wird.
Diese Eigenschaft hat nur dann eine Wirkung, wenn das Dokument manuell berechnet wird. Ist die Eigenschaft Calculation (siehe dort) auf pmCalculationAutomatic gesetzt, werden alle Berechnungen ohnehin ständig aktualisiert.
CalculateBeforePrinting (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Einstellung, ob das Dokument vor dem Drucken neu berechnet wird.
Diese Eigenschaft hat nur dann eine Wirkung, wenn das Dokument manuell berechnet wird. Ist die Eigenschaft Calculation (siehe dort) auf pmCalculationAutomatic gesetzt, werden alle Berechnungen ohnehin ständig aktualisiert.
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
FixedDecimal (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Einstellung, ob der Dezimaltrenner nach der Eingabe von Zahlen automatisch verschoben werden soll.
Um wie viele Stellen der Dezimaltrenner verschoben wird, legt die Eigenschaft FixedDecimalPlaces (siehe dort) fest.
Beispiel:
' Dezimaltrenner nach Eingabe 2 Stellen nach links verschieben
pm.ActiveWorkbook.FixedDecimal = True
pm.ActiveWorkbook.FixedDecimalPlaces = 2 ' aus 4235 wird 42,35
' Dezimaltrenner nach Eingabe 2 Stellen nach rechts verschieben
pm.ActiveWorkbook.FixedDecimal = True
pm.ActiveWorkbook.FixedDecimalPlaces = -2 ' aus 42 wird 4200
FixedDecimalPlaces (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Einstellung, um wie viele Stellen der Dezimaltrenner nach der Eingabe von Zahlen automatisch verschoben werden soll.
Die Eigenschaft FixedDecimal (siehe dort) muss auf True stehen, damit die Verschiebung ausgeführt wird.
Iteration (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Einstellung "Iterationen durchführen" auf der Karteikarte Berechnen im Dialogfenster des Ribbonbefehls Datei | Eigenschaften.
Wenn Sie diese Eigenschaft einschalten, sollten Sie auch bei MaxChange und MaxIteration (siehe dort) Werte eintragen.
MaxIteration (Eigenschaft)
Datentyp: Long
Liest oder setzt die Einstellung "Maximale Anzahl" (der Iterationen) auf der Karteikarte Berechnen im Dialogfenster des Ribbonbefehls Datei | Eigenschaften. Nur wirksam, wenn Iteration (siehe dort) auf True steht.
MaxChange (Eigenschaft)
Datentyp: Long
Liest oder setzt die Einstellung "Maximale Änderung" (bei Iterationen) auf der Karteikarte Berechnen im Dialogfenster des Ribbonbefehls Datei | Eigenschaften. Nur wirksam, wenn Iteration (siehe dort) auf True steht.
ShowGuideLinesForTextFrames (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Einstellung "Textrahmen-Hilfslinien" auf der Karteikarte Optionen im Dialogfenster des Ribbonbefehls Datei | Eigenschaften.
ShowHiddenObjects (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Einstellung "Verborgene Objekte anzeigen" auf der Karteikarte Optionen im Dialogfenster des Ribbonbefehls Datei | Eigenschaften.
RoundFinalResults (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Einstellung "Endergebnisse runden" auf der Karteikarte Berechnen im Dialogfenster des Ribbonbefehls Datei | Eigenschaften.
RoundIntermediateResults (Eigenschaft)
Datentyp: Boolean
Liest oder setzt die Einstellung "Zwischenergebnisse runden" auf der Karteikarte Berechnen im Dialogfenster des Ribbonbefehls Datei | Eigenschaften.
ActiveSheet (Zeiger auf Objekt)
Datentyp: Object
Liefert das gerade aktive Sheet-Objekt, über das Sie auf das aktuelle Arbeitsblatt zugreifen können.
ActiveWindow (Zeiger auf Objekt)
Datentyp: Object
Liefert das gerade aktive Window-Objekt, über das Sie auf das aktuelle Dokumentfenster zugreifen können.
BuiltInDocumentProperties (Zeiger auf Objekt)
Datentyp: Object
Liefert die DocumentProperties-Sammlung, die Sie auf die Dokumentinfos (Titel, Thema, Autor etc.) des Dokuments zugreifen lässt.
Application (Zeiger auf Objekt)
Datentyp: Object
Liefert das Application-Objekt.
Parent (Zeiger auf Objekt)
Datentyp: Object
Liefert das übergeordnete Objekt, also Workbooks.
Sheets (Zeiger auf Sammlung
Datentyp: Object
Liefert die Sheets-Sammlung, eine Sammlung aller Arbeitsblätter des Dokuments.
Activate (Methode)
Bringt das Dokumentfenster in den Vordergrund (sofern Visible für das Dokument True ist) und setzt den Fokus auf das Dokumentfenster.
Syntax:
Activate
Parameter:
keine |
Rückgabetyp:
keiner |
Beispiel:
' Das erste Dokument der Workbooks-Sammlung in den Vordergrund bringen
pm.Workbooks(1).Activate
Calculate (Methode)
Berechnet das Dokument neu (entspricht dem Ribbonbefehl Formeln | Gruppe Aktualisieren | Daten aktualisieren | Berechnungen aktualisieren in PlanMaker).
Syntax:
Calculate
Parameter:
keine |
Rückgabetyp:
keiner |
Beispiel:
' Das erste Dokument der Workbooks-Sammlung neu berechnen
pm.Workbooks(1).Calculate
Close (Methode)
Schließt das Dokument.
Syntax:
Close [SaveChanges]
Parameter:
SaveChanges (optional; Typ: Long bzw. SmoSaveOptions) gibt an, ob das Dokument gespeichert werden soll oder nicht. Lassen Sie den Parameter weg, wird stattdessen der Benutzer gefragt – jedoch nur dann, wenn das Dokument seit der letzten Speicherung verändert wurde. Mögliche Werte für SaveChanges: |
smoDoNotSaveChanges = 0 ' Nicht fragen, nicht speichern
smoPromptToSaveChanges = 1 ' Den Benutzer fragen
smoSaveChanges = 2 ' Ohne Rückfrage speichern
Rückgabetyp:
keiner |
Beispiel:
' Das aktive Dokument schließen, ohne es zu speichern
pm.ActiveWorkbook.Close smoDoNotSaveChanges
Save (Methode)
Speichert das Dokument.
Syntax:
Save
Parameter:
keine |
Rückgabetyp:
keiner |
Beispiel:
' Das aktive Dokument speichern
pm.ActiveWorkbook.Save
SaveAs (Methode)
Speichert das Dokument unter einem anderen Namen und/oder in einem anderen Pfad.
Syntax:
SaveAs FileName, [FileFormat], [Delimiter], [TextMarker]
Parameter:
FileName (Typ: String): Pfad und Dateiname, unter dem das Dokument gespeichert werden soll |
FileFormat (optional; Typ: Long bzw. PmSaveFormat) bestimmt das Dateiformat. Dieser Parameter kann folgende Werte annehmen (links die symbolische Konstante, rechts der entsprechende numerische Wert): |
pmFormatDocument = 0 ' PlanMaker-Dokument
pmFormatTemplate = 1 ' PlanMaker-Dokumentvorlage
pmFormatExcel97 = 2 ' Excel 97/2000/XP
pmFormatExcel5 = 3 ' Excel 5.0/7.0
pmFormatExcelTemplate = 4 ' Excel-Dokumentvorlage
pmFormatSYLK = 6 ' Sylk
pmFormatRTF = 7 ' Rich Text Format
pmFormatTextMaker = 7 ' TextMaker (= RTF)
pmFormatHTML = 8 ' HTML-Dokument
pmFormatdBaseDOS = 9 ' dBASE-Datenbank mit DOS-Zeichensatz
pmFormatdBaseAnsi = 10 ' dBASE-Datenbank mit Windows-Zeichensatz
pmFormatDIF = 11 ' Textdatei mit Windows-Zeichensatz
pmFormatPlainTextAnsi = 12 ' Textdatei mit Windows-Zeichensatz
pmFormatPlainTextDOS = 13 ' Textdatei mit DOS-Zeichensatz
pmFormatPlainTextUnix = 14 ' Textdatei mit ANSI-Zeichensatz für UNIX, Linux und FreeBSD
pmFormatPlainTextUnicode = 15 ' Textdatei mit Unicode-Zeichensatz
pmFormatdBaseUnicode = 18 ' dBASE-Datenbank mit Unicode-Zeichensatz
pmFormatPlainTextUTF8 = 21 ' Textdatei mit UTF8-Zeichensatz
pmFormatMSXML = 23 ' Excel ab 2007 (.xlsx)
pmFormatPM2008 = 26 ' PlanMaker 2008-Dokument
pmFormatPM2010 = 27 ' PlanMaker 2010-Dokument
pmFormatPM2012 = 28 ' PlanMaker 2012-Dokument
pmFormatPM2012Template = 29 ' PlanMaker 2012-Dokumentvorlage
Wenn Sie diesen Parameter weglassen, wird pmFormatDocument angenommen. |
Delimiter (optional; Typ: String): Gibt bei den Textdatei-Formaten das Trennzeichen an, zum Beispiel Komma oder Strichpunkt. Wenn Sie den Parameter weglassen, wird der Tabulator als Trennzeichen verwendet. |
TextMarker (optional; Typ: Long bzw. PmImportTextMarker): Gibt bei den Textdatei-Formaten an, mit welchem Zeichen Textfelder umgeben werden sollen. Mögliche Werte: |
pmImportTextMarkerNone = 0 ' Text wird nicht speziell markiert
pmImportTextMarkerApostrophe = 1 ' Apostrophe
pmImportTextMarkerQmark = 2 ' Anführungszeichen
Rückgabetyp:
keiner |
Beispiel:
' Das aktuelle Dokument unter neuem Namen im Excel 97-Format speichern
pm.ActiveWorkbook.SaveAs "c:\doks\test.xls", pmFormatExcel97
PrintOut (Methode)
Druckt das Dokument aus.
Syntax:
PrintOut [From], [To]
Parameter:
From (optional; Typ: Long) gibt an, ab welcher Seite gedruckt werden soll. Lassen Sie diesen Parameter weg, wird ab der ersten Seite gedruckt. |
To (optional; Typ: Long) gibt an, bis zu welcher Seite gedruckt werden soll. Lassen Sie diesen Parameter weg, wird bis zur letzten Seite gedruckt. |
Rückgabetyp:
keiner |
Beispiel:
' Das aktuelle Dokument ausdrucken
pm.ActiveWorkbook.PrintOut