Workbook (Objekt)

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