Document Properties

.. das wohl mächtigste Werkzeug in Bill Gates' Büro-Sippe. Ob reine Formeln, PowerQuery oder VBA. Hier bleiben kaum Wünsche unerfüllt.
Benutzeravatar
thowe
Beiträge: 196
Registriert: 12. Sep 2022, 16:57
Hat sich bedankt: 78 Mal
Danksagung erhalten: 67 Mal
Kontaktdaten:

Document Properties

#1

Beitrag von thowe »

Moin....

Anlassbezogen aus einer anderen VBAstelei (und in konsequenter Beachtung von vernünftigem Vorgehen (Schule heb :-)) stelle ich hier mal das Modul zu meiner VBAselei betreffend DocumentProperties als .bas rein. -> einfach entzippen.

Ich hoffe ich habe in diesem File keine Queverweise mehr zu anderen Modulen aus meinem modCore_....

So nebenbei wenn ich Arbeitsblätter nicht mit Codenamen anspreche, dann nutze ich gerne diese - jetzt folgende - Vorgehensweise, solltet ihr so einen Verweis im .bas finden....

Code: Alles auswählen

'This active Workbook
Public Property Get p_wb() As Workbook
    Set p_wbActive = Application.ActiveWorkbook
End Property

'Worksheet "Bootstrap"
Public Property Get p_wksDeckblatt() As Worksheet
    Const p_wksBootstrap As String = "bootstrap"
    Set p_wksBootstrap= ActiveWorkbook.Worksheets(p_wksp_wksBootstrap)
End Property

'Worksheet "Input"
Public Property Get p_wksDeckblatt() As Worksheet
    Const p_wksInput As String = "Input"
    Set p_wksInput= ActiveWorkbook.Worksheets(p_wksp_wksInput)
End Property

....
Das hat den Vorteil das man nicht immer schreiben muss: Dim wb as, Dim wks as, set wks = ..., set wks = Nothing etc...

Zum Anfangsthema zurück. Vielleicht kann diese Codeschnippsel - die ich jezt mal so "zum Frass" hinwerfe" nutzen....

LG
Dateianhänge
modCore_DOCUMENTPROPERTIES.zip
(1.27 KiB) Noch nie heruntergeladen
Folgende Benutzer bedankten sich beim Autor thowe für den Beitrag:
d'r Bastler
Benutzeravatar
d'r Bastler
Beiträge: 670
Registriert: 29. Aug 2022, 13:20
Hat sich bedankt: 175 Mal
Danksagung erhalten: 90 Mal

Re: Document Properties

#2

Beitrag von d'r Bastler »

Moin thowe, mein Sohn,

warum denn so kompliziert? ThisWorkBook, Application, WorkSheetFunction lassen sich doch einfach als Public deklarieren, werden dann in einer zentralen Sub System oder bootstrap oder Commons gesetzt:
Public wb as WorkBook, app as Application, wsf as Worksheetfunction
Sub System()
Set wb = ThisWorkbook
Set app = Application
Set wsf = Worksheetfunction
End Sub
Diese System wird einfach mit der Deklaration der privaten Variablen per Sub aufgerufen.

Die Sheets über ihren .codename zu definieren, ist zwar einmalig klickende Handarbeit, vermeidet dann auch die wiederholte Deklaration sowohl in der System, als auch in den folgenden Subs/Functions und ermöglicht sehr bequem multilinguale Benennung der Sheets per .names, bei eindeutigem Aufruf über die .codenames

Dazu die BuiltInDocProps zu bemühen wäre mir zu aufwändig. Bin halt ein altes Faultier ;)

lg btw ... ein leckeres Kristallweizen mit frischer Zitrone ...
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste