Tipp 0070
|
Arbeitsmappen - allgemein
|
|
|
Autor/Einsender: Datum: |
|
Angie 27.05.2001 |
|
Entwicklungsumgebung: |
|
Excel 97 |
|
|
Unter Arbeitsmappen (Workbook-Objekte) versteht man Excel-Dateien. Sie beinhalten
in der Regel mehrere Tabellenblätter (ggf. auch Diagrammblätter) und können in einem oder mehreren
Fenstern angezeigt werden. Für den Zugriff auf die geladenen Arbeitsmappen gibt es drei
unterschiedliche Methoden/Eigenschaften, die ein Workbook-Objekt als Ergebnis liefern.
|
Die Workbooks-Methode ermöglicht den Zugriff auf alle geladenen Arbeitsmappen.
Auf die in der Anwendung aktive Arbeitsmappe wird mit der ActiveWorkbook-Eigenschaft
verwiesen und mit der ThisWorkbook-Eigenschaft wird auf die Arbeitsmappe verwiesen,
in der das aktuelle Makro ausgeführt wird.
|
|
Beispiel 1: Dateiname der aktiven Arbeitsmappe ermitteln |
|
|
Dim strFileName As String
strFileName = Application.ActiveWorkbook.Name
MsgBox strFileName, vbOKOnly + vbInformation, "VB-fun-Demo"
|
|
|
Beispiel 2: Dateiname der aktiven Arbeitsmappe ermitteln, inkl. Pfadangabe |
|
|
Dim strFullName As String
strFullName = Application.ActiveWorkbook.FullName
MsgBox strFullName, vbOKOnly + vbInformation, "VB-fun-Demo"
|
|
|
Beispiel 3: Pfad der aktiven Arbeitsmappe ermitteln |
|
|
Dim strFilePath As String
strFilePath = Application.ActiveWorkbook.Path
If Len(strFilePath) > 0 Then
MsgBox strFilePath, vbOKOnly + vbInformation
Else
MsgBox "Die Arbeitsmappe wurde noch nie gespeichert!", _
vbOKOnly + vbInformation, "VB-fun-Demo"
End If
|
|
|
Beispiel 4: Anzahl der in Excel geöffneten Arbeitsmappen ermitteln |
|
|
Dim nWkbCnt As Long
nWkbCnt = Application.Workbooks.Count
MsgBox "Es sind " & nWkbCnt & " Arbeitsmappe(n) in " & _
"Excel geöffnet!", vbOKOnly + vbInformation, _
"VB-fun-Demo"
|
|
|
Beispiel 5: Die Namen der in Excel geöffneten Arbeitsmappen ermitteln |
|
|
Dim wbk As Workbook
Dim strMsg As String
For Each wbk In Application.Workbooks
strMsg = strMsg & wbk.Name & ", sichtbar: " & _
wbk.Windows(1).Visible & vbCrLf
Next
MsgBox strMsg, vbOKOnly + vbInformation, "VB-fun-Demo"
|
|
|
Beispiel 6: Anzahl der in Excel sichtbaren Fenster ermitteln |
|
|
Function GetVisibleWkbWindows() As Long
Dim objWindow As Window
Dim nWindowsCnt As Long
For Each objWindow In Application.Windows
If objWindow.Visible = True Then
nWindowsCnt = nWindowsCnt + 1
End If
Next
GetVisibleWkbWindows = nWindowsCnt
End Function
'Demo-Aufruf:
Sub Demo_GetVisibleWkbWindows()
Dim nWindows As Long
nWindows = GetVisibleWkbWindows
MsgBox "Es sind " & nWindows & " sichtbare Fenster " & _
"in Excel vorhanden!", vbOKOnly + vbInformation, _
"VB-fun-Demo"
End Sub
|
|
|
|
Die im Download befindliche *.bas-Datei kann in Excel im VB-Editor importiert werden.
|
|