MS Excel - Workbook

Workbook/Workbooks

Open Werkboeken tellen

                Public Function fTelWerkboek() As Integer
                    Dim wrkBoeken As Workbooks
                    Set wrkBoeken = Application.Workbooks
                    fTelWerkboek = wrkBoeken.Count
                End Function
            
Top

Werkboek toevoegen op basis van Template

                Public Sub sNieuwWerkboek()
                    Dim wrkBoeken As Workbooks
                    Set wrkBoeken = Application.Workbooks
                    wrkBoeken.Add "MijnVorm1.xltx"
                    ' Templates worden bewaard in speciale map
                    vb c:\Gebruikers\Jan\Documenten\Custom Office Templates
                End Sub
            
Top

Werkboek- naam en -pad

            'Naam actief werkboek
                    ActiveWorkbook.Name
            'Naam en pad actief werkboek
                    ActiveWorkbook.FullName
                    ThisWorkbook.FullName
            'Pad actief werkboek
                    ActiveWorkBook.Path
            
Top

Aantal open Werkboeken


            'Naam actief werkboek
                    ActiveWorkbook.Name
            'Naam en pad actief werkboek
                    ActiveWorkbook.FullName
                    ThisWorkbook.FullName
            'Pad actief werkboek
                    ActiveWorkBook.Path
            
Top

Is een Werkboek open?

            Public Function fIsWerkboekOpen(strWrkPadNaam As String) As Boolean

            Dim wrk As Workbook
            On Error Resume Next
                Set wrk = Application.Workbooks(strWrkPadNaam)
            'indien VBA geen fout geeft is het werkboek open 
                    If Err.Number = 0 Then
                        fIsWerkboekOpen = True
                    Else
                        fIsWerkboekOpen = False
                    End If
            End Function
            
Top

Code om via VBA werkboek te openen

            Public Sub sDialoogOpenWerkboek()

            Dim strWrkNaam As String

            'de GetOpenFilename methode van het application object opent dialoog kader. 
                strWrkNaam = Application.GetOpenFilename( _
                FileFilter:="Excel Werkboeken,*.xls*", _
                Title:="Blader naar te openen werkboek", _
                MultiSelect:=False)

            If strWrkNaam <> False Then  'betekent dat er een bestand geslecteerd werd  
                Application.Workbooks.Open Filename:=strWrkNaam
            End If

            End Sub
            
Top

Sluit alle open werkboeken

            Public Sub sSluitOpenWrk()

            Dim wrk As Workbook

            For Each wrk In Application.Workbooks
                wrk.Close SaveChanges:=True 'bewaar alle wijzigingen 
            Next wb

            End Sub
            
Top

Names Collectie van het Workbook object

Het workbook object heeft een Names collectie die referen naar de gedefinieƫrde namen in relatie tot de werkboek.

                Public Sub sZoekGedifNamenWrk()
                Dim wrk As Excel.Workbook
                Dim naam As Name
                Set wrk = Application.ActiveWorkbook
                    For Each naam In wrk.Names
                        Debug.Print naam.Name
                    Next
            End Sub
            

Top

De Sheets Collectie van het workbook object.

De Sheets property geeft de Sheets collectie van het werkboek, dit is een Worksheet object voor ieder werkblad en een Chart object voor ieder diagram in het werkboek.

            'Hier de procedure van de knop cmdGeefInfo, die alle werkbladen
                'in het opschrift van een label plaatst.
            Private Sub cmdGeefInfo_Click()
                Dim wkb As Excel.Workbook
                Dim sht As Excel.Worksheet
                Dim strInfo As String
                    Set wkb = ActiveWorkbook
                    For Each sht In wkb.Sheets
                        strInfo = strInfo & sht.Name & vbCr & vbLf
                    Next
                    Me.lblInfo.Caption = strInfo

            End Sub
            
Top

VBA code uitvoeren bij het openen van een Workbook

Wanneer men automatisch een Macro of VBA code wilt uitvoeren bij het open van een Workbook kan men de Macro aanroepen in het Workbook_Open gebeurtenis . Volgende code plaatst datum en tijd in cel A2 van werkbled sheet4

                Private Sub Workbook_Open()
                    ThisWorkbook.Worksheets("sheet4").Range("a5").Value = Now()
                End Sub
            
Top

VBA code uit een ander Workbook uitvoeren.

Het is handig om algemene code die men veel gebruikt in één specifiek Workbook te bewaren.
In het Workbook waar men van deze code gebruik wil maken is het voldoende om in de VBE omgeving onder het menu Tools -> Referentie via bladeren een referentie naar het code-werkboek te maken.

Top

hallo