Top 20
Codebeispiele
The SOSCQ Page -
VBA/VB-Codebeispiele bietet eine riesige, kaum
überschaubare Vielzahl interessanter Codebeispiele zu vielen verschiedenen Themen. Nebst
eher einfachen, exemplarischen Codebeispielen gibt es auch sehr umfangreiche Beispiele und
komplette Lösungen. Vor allem aber werden zahlreiche Codebeispiele vorgestellt, die
äusserst interessant und höchst wahrscheinlich einzigartig sind, weil sie
ausschliesslich auf dieser Website zu finden sind.
Hier die Top 20 der besonders
interessanten Codebeispiele:
| Platz |
Codebeispiel |
| 1 |
Ziel-URL
aus einer Internet-Verknüpfung (url-Datei) ermitteln
Eine Internet-Verknüpfung ist eine spezielle Datei mit
Dateinamenerweiterung "url", die einen Weblink zu einer URL enthält. Diese URL
kann dabei eine HTTP-, FTP-, FILE- oder eine MAILTO-URL sein. Dieses Codebeispiel zeigt,
wie man mit weniger als 10 Zeilen Programmcode die Ziel-URL auslesen kann. |
| 2 |
Aktueller
Bearbeiter einer Arbeitsmappe ohne Microsoft Excel herausfinden
Wenn eine Arbeitsmappe bereits von einem anderen Benutzer bearbeitet wird,
erscheint beim Öffnen der Mappe die Dateireservierung-Hinweismeldung. Möchten Sie
wissen, welcher andere Benutzer die Arbeitsmappe gerade bearbeitet, ohne dass die Mappe
geöffnet werden muss und ohne dass Microsoft Excel auf dem Computer installiert sein
muss. Dieses Codebeispiel zeigt wie's geht. |
| 3 |
Druckbereich
eines Arbeitsblattes basierend auf den vorhandenen Zeichnungsobjekten festlegen
Legt man den Druckbereich eines Arbeitsblattes basierend auf den benutzten
Zellen (UsedRange) fest, werden Zeichnungsobjekte wie u.a. AutoFormen nicht
berücksichtigt und daher gar nicht oder nur teilweise ausgedruckt. Dieses Codebeispiel
löst dieses Problem. |
| 4 |
Komprimierte
Grösse einer komprimierten Datei ermitteln
Wenn bei einer Datei das Attribut "Komprimiert" gesetzt ist, ist
die Datei komprimiert und besitzt folglich eine so genannte "Komprimierte
Grösse". Mit reinem VBA/VB lässt sich diese Information nicht ermitteln. Mit einer
Windows API-Funktion dagegen lässt sich die komprimierte Grösse sehr einfach abfragen. |
| 5 |
Standard-Drucker
von Windows festlegen
Bekanntlich erhält man mit Application.ActivePrinter den aktuell
von Microsoft Excel verwendeten Drucker bzw. legt diesen fest. Der Standard-Drucker von
Windows wird dabei allerdings nicht beeinflusst. Dieses Codebeispiel zeigt, wie man den
Standard-Drucker von Windows festlegen kann. |
| 6 |
Datei(en)
kopieren mit Fortschrittsanzeige
Jeder kennt das kleine Fenster des Windows Explorers mit dem
Fortschrittsbalken, das beim Kopieren/Verschieben von Dateien eingeblendet wird. Auch mit
VBA/VB kann man dieses Feature ansprechen und für eigene Zwecke nutzen. |
| 7 |
Anzahl
Druckaufträge in der Warteschlange eines Druckers ermitteln
Möchten Sie wissen, wie viele Druckaufträge sich in der Warteschlange
eines bestimmten Druckers befinden? Dieses Codebeispiel zeigt wie's geht. |
| 8 |
Dateien
eines Ordners mit Datei-Berechtigungen des Benutzers auflisten
Dieses Codebeispiel listet die Dateien eines bestimmten Ordners auf und gibt
zu jeder Datei die Berechtigungen (Vollzugriff, Lesen, Schreiben, Ausführen, Löschen und
Besitz übernehmen) des aktuell angemeldeten Benutzers an. |
| 9 |
Daten
in eine Datei schreiben ohne die Datei zu schliessen
Wenn man Daten in eine Datei schreibt, die mit Open <Datei> For
Append geöffnet wurde, werden die Daten in den E/A-Puffer geschrieben und erst durch
Schliessen der Datei mitels Close tatsächlich in der Datei gespeichert. Wenn man
möchte, dass der Dateiinhalt sofort aktualisiert wird, muss man die Datei somit immer
schliessen und neu öffnen. Weil das umständlich und langsam ist, zeigt dieses
Codebeispiel, mit welchem Trick es erheblich schneller geht. |
| 10 |
Datei
in die Liste der zuletzt bearbeiteten Dokumente von Windows aufnehmen
Im Windows-Startmenü gibt es einen Menübefehl "Dokumente", der
eine Liste der zuletzt benutzten Dokumente von Windows öffnet. Obwohl diese Liste nichts
anderes als den Inhalt des Windows-Ordners "Recent" zeigt, ist es nicht
möglich, durch Erstellen einer Dateiverknüpfung in diesem Ordner eine Datei in die Liste
aufzunehmen. Man benötigt dazu eine spezielle API-Funktion. |
| 11 |
Arbeitsmappe
mit ausgeblendetem Arbeitsmappenfenster öffnen
Wenn man eine Arbeitsmappe wie gewohnt mit Workbooks.Open öffnet,
so erscheint automatisch das Arbeitsmappenfenster der Mappe. Dieses Codebeispiel stellt
einen Trick vor, wie man eine Arbeitsmappe öffnen kann, ohne dass sie in einem Fenster
angezeigt wird. |
| 12 |
Prüfen,
ob eine geschlossene Arbeitsmappe ein Lese-/Schreibkennwort bzw. Mappenschutzkennwort
verwendet
Ob eine Exceldatei durch ein Lese-/Schreibkennwort bzw. Mappenschutzkennwort
geschützt ist, findet man erst heraus, wenn man die Datei mit Microsoft Excel öffnet.
Doch was tun, wenn man die Datei nicht öffnen möchte oder auf dem Computer kein
Microsoft Excel installiert ist? Dieses Codebeispiel zeigt, wie man den Kennwortschutz
ganz ohne Microsoft Excel abfragen kann. |
| 13 |
Gekürzte
Fassung eines langen Dateinamens für die Anzeige erstellen
Viele professionelle Anwendungen besitzen eine so genannte MRU-Dateiliste
(Liste der zuletzt verwendeten Dateien) im Menü 'Datei'. Ein dort angezeigter
Dateiname/-pfad ist meistens eine gekürzte Fassung, weil der vollständig ausgeschriebene
Dateiname wegen seiner Länge das Menü optisch unschön breit machen würde. Dieses
Codebeispiel stellt eine Funktion vor, mit der sich der angezeigte Dateiname nach
bestimmten Regeln kürzen lässt. |
| 14 |
Prüfen,
ob eine xla-Datei wirklich ein Add-In ist
Nur weil eine Exceldatei die Dateinamenerweiterung "xla" besitzt,
bedeutet das noch nicht, dass es sich bei der Datei um ein Microsoft Excel Add-In handelt.
Die Information, ob die Datei tatsächlich ein gültiges Add-In ist, wird nicht durch die
Dateinamenerweiterung sondern durch eine spezielle Angabe in der Datei bestimmt. Dieses
Codebeispiel zeigt, wie man diesen Vermerk abfragen kann. Und das sogar ohne installiertes
Microsoft Excel. |
| 15 |
Prüfen,
ob eine geschlossene Arbeitsmappe ein duales Dateiformat verwendet
Dieses Codebeispiel stellt eine interessante Lösung vor, wie man bei einer
geschlossenen Arbeitsmappe und ganz ohne Microsoft Excel herausfinden kann, ob die
Arbeitsmappe mit einem dualen Dateiformat (z.B. "Microsoft Excel 97-2003 &
5.0/95-Arbeitsmappe") gespeichert wurde. |
| 16 |
Datenträger/Laufwerk
kopieren
Haben Sie schon mal versucht, einen gesamten Datenträger bzw. ein
vollständiges Laufwerk zu kopieren? Da alle Dateien, Ordner, Unterordner und sämtliche
in den Ordnern/Unterordnern liegenden Dateien kopieren muss, kann das VBA/VB-Programm ganz
schön gross werden. Doch es geht bedeutend einfacher, wie dieses Codebeispiel beweist. |
| 17 |
Ordner
suchen (alle Fundstellen anzeigen)
Hier wird eine interessante Funktion vorgestellt, mit der man einen
beliebigen Ordner suchen und alle gefundenen Übereinstimmungen ausgeben kann. Die Suche
wird in einem Ordner begonnen und alle direkten und indirekten Unterverzeichnisse dieses
Ordners durchsucht. |
| 18 |
Screenshot
eines Benutzerformulares in die Zwischenablage kopieren
Möchte man einen Screenshot eines Benutzerformulares erstellen, so
benötigt man dazu sage und schreibe insgesamt 14 verschiedene Windows API-Funktionen und
vergleichsweise viel Programmcode. Dieses Codebeispiel zeigt eine vollständige
Musterlösung. Zudem wird gezeigt, wie man ein beliebiges Fenster, das gerade aktive
Fenster, das Microsoft Excel-Anwendungsfenster und den gesamten Bildschirm als Screenshot
in die Zwischenablage kopieren kann. |
| 19 |
Windows-Prozess
abschiessen
Das Abschiessen eines laufenden Prozesses ist mit VBA/VB gar nicht so
einfach. Doch mit einem kleinen Hilfsmittel geht das sehr einfach und komfortabel. Man
erhält sogar eine Rückmeldung vom System, ob der Prozess erfolgreich beendet werden
konnte. |
| 20 |
Anfangs-
und Maximalgrösse der Speicherauslagerungsdateien von Windows ermitteln
Eine Speicherauslagerungsdatei von Windows besitzt eine so genannte
Anfangsgrösse und eine maximale Grösse. Mit diesem Codebeispiel können Sie Dateipfad,
Anfangsgrösse und Maximalgrösse jeder Speicherauslagerungsdatei abfragen. |
Anmerkung
Die Top 20 stellen lediglich die persönliche Meinung des Autors dar und
zeigen diejenige Codebeispiele, die der Autor besonders interessant findet.

|
|
|