{"id":88022022,"date":"2019-11-08T11:47:22","date_gmt":"2019-11-08T11:47:22","guid":{"rendered":"http:\/\/access-basics.de\/index.php\/88022022.html"},"modified":"2019-11-08T11:47:22","modified_gmt":"2019-11-08T11:47:22","slug":"88022022","status":"publish","type":"page","link":"https:\/\/vbentwickler.de\/88022022\/","title":{"rendered":"Visual Basic Entwickler 02\/2022"},"content":{"rendered":"<h3>Office-Ereignisse mit VBA programmieren<\/h3>\n<p>Visual Basic for Applications, kurz VBA, ist eine Ableitung der Programmiersprache Visual Basic. Im Gegensatz zu diesem, das mit Visual Basic 6 vor einigen Jahren seine letzte Version erlebt hat, erfreut sich VBA immer noch reger Beliebtheit. Das liegt vor allem an seinem Hauptzweck: der Programmierung und der Steuerung von automatisierten Abl\u00e4ufen in den Office-Anwendungen, zum Beispiel Access, Excel, Outlook, PowerPoint oder Word. Der Kern dieser Automatisierungen sind sogenannte Ereignisse, also Prozeduren, die an einer bestimmten Stelle unter einem vordefinierten Namen hinzugef\u00fcgt und dann durch das jeweilige Ereignis automatisch ausgel\u00f6st werden \u2013 beispielsweise dem \u00d6ffnen eines Dokuments oder dem Anklicken einer Schaltfl\u00e4che. Dieser Artikel zeigt, welche M\u00f6glichkeiten die einzelnen Office-Anwendungen zum Einrichten von Ereignisprozeduren bieten und was bei der Automatisierung grundlegend zu beachten ist.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/OfficeEreignisse_mit_VBA_programmieren\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Makros in Office aktivieren<\/h3>\n<p>Wenn wir in den Anwendungen eines frisch installierten Office-Pakets VBA-Code ausf\u00fchren wollen, f\u00fchrt dies mitunter nicht zum gew\u00fcnschten Ergebnis. Stattdessen erscheint eine Meldung, die uns mitteilt, dass die Makros in diesem Projekt deaktiviert sind. Der Grund ist einfach: Mit VBA-Code k\u00f6nnen wir eine Menge Schaden anrichten, zum Beispiel Dateien oder Verzeichnisse l\u00f6schen. Daher ist seine Ausf\u00fchrung standardm\u00e4\u00dfig deaktiviert. Wie wir den VBA-Code dennoch ausf\u00fchren k\u00f6nnen, zeigt dieser Artikel.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Makros_in_Office_aktivieren\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Outlook: Die Application-Klasse<\/h3>\n<p>Die Basisklasse einer jeden Office-Anwendung hei\u00dft \u00bbApplication\u00ab. Diese stellt je nach Anwendung verschiedene Eigenschaften, Methoden und Ereignisse bereit. Das ist auch im Objektmodell von  Outlook der Fall. Hier finden wir beispielsweise die M\u00f6glichkeit f\u00fcr den Zugriff auf die \u00bbExplorer\u00ab- und \u00bbInspector\u00ab-Elemente von Outlook, auf die kompletten E-Mails, Kontakte, Termine et cetera \u00fcber die \u00bbGetNamespace\u00ab-Funktion oder das wichtige Ereignis \u00bbStartup\u00ab, mit dem wir gleich beim Start von Outlook wichtige, selbst programmierte Aktionen ausf\u00fchren k\u00f6nnen. Dieser Artikel stellt die verschiedenen Member der Application-Klasse vor und beschreibt, was wir mit diesen alles erledigen k\u00f6nnen.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Outlook_Die_ApplicationKlasse\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Outlook: Elemente durchsuchen mit AdvancedSearch<\/h3>\n<p>Die \u00bbAdvancedSearch\u00ab-Methode der Application-Klasse von Outlook erlaubt das Suchen von Elementen nach bestimmten Kriterien in dem vorgegebenen Ordner \u2013 gegebenenfalls sogar mit Unterordnern. An ihr h\u00e4ngen zwei Ereignisse namens \u00bbAdvancedSearchComplete\u00ab und \u00bbAdvancedSearchStopped\u00ab, die je nach dem Ausgang der Suche ausgel\u00f6st werden. Dieser Artikel zeigt, wie wir eine Suche in Outlook-Elementen per VBA durchf\u00fchren und wie wir die damit zusammenh\u00e4ngenden Ereignisse verwenden m\u00fcssen, damit die Suche wie gew\u00fcnscht funktioniert. Au\u00dferdem erf\u00e4hrst Du, wie Du Suchbegriff und Suchbereich definieren musst.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Outlook_Elemente_durchsuchen_mit_AdvancedSearch\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Outlook: Explorer automatisieren<\/h3>\n<p>Outlook ist wohl die Schaltzentrale an allen Arbeitspl\u00e4tzen, die mit Microsoft Office arbeiten. Es bietet schon von Haus aus sehr viele M\u00f6glichkeiten, um E-Mails, Termine, Aufgaben oder Kontakte zu verwalten. Wenn man l\u00e4nger damit arbeitet, kommen einem fr\u00fcher oder sp\u00e4ter Ideen, wie man es noch weiter automatisieren k\u00f6nnte. Beispielsweise, um die Inhalte von E-Mails, die man in einen bestimmten Ordner verschiebt, gleich in Aufgaben umzuwandeln, vorgefertigte Antworten f\u00fcr E-Mails bereitzuhalten und so weiter. Der Weg zur Umsetzung f\u00fchrt \u00fcber die Programmierung per VBA und genauer von VBA-Ereignissen. Denn f\u00fcr fast jede Aktion, die wir in Outlook durchf\u00fchren, ob es nun das Erstellen oder Abschicken einer E-Mail, das Anlegen einer Aufgabe, das \u00d6ffnen eines Kontaktes ist, k\u00f6nnen wir ein Ereignis definieren, f\u00fcr das wir eine passende Prozedur hinterlegen. Dieser Artikel zeigt die wichtigsten Elemente des Hauptelements der Benutzeroberfl\u00e4che von Outlook, n\u00e4mlich dem Explorer, und wie wir diese direkt im VBA-Projekt von Outlook f\u00fcr unsere Zwecke anpassen k\u00f6nnen.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Outlook_Explorer_automatisieren\">Zum Artikel &#8230;<\/a><\/p>\n<h3>E-Mails per VBA erstellen mit CreateItem <\/h3>\n<p>Wie man mit Outlook eine E-Mail erstellt, diese mit Betreff, Inhalt, Anlagen, Empf\u00e4nger und so weiter f\u00fcllt und diese dann verschickt, wei\u00df mittlerweile jeder. Aber was, wenn man das Erstellen von E-Mails automatisieren m\u00f6chte und dazu VBA nutzen will? Beispielsweise, um auf Knopfdruck eine Standardmail an einen Empf\u00e4nger zu schicken oder auch eine Mail an eine Liste von Kunden zu senden? Der vorliegende Artikel zeigt, wie Sie per VBA neue E-Mails erstellen und diese dann entweder zum Betrachten, Nachbearbeiten und zum manuellen Senden anzeigen oder diese sofort auf den Weg zum Empf\u00e4nger bringen.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/EMails_per_VBA_erstellen_mit_CreateItem_\">Zum Artikel &#8230;<\/a><\/p>\n<h3>twinBASIC: Visual Basic f\u00fcr die Zukunft<\/h3>\n<p>twinBASIC ist eine moderne Version des klassischen Visual Basic, die auf 100% Kompatibilit\u00e4t zu bestehenden Visual Basic 6-Projekten ausgelegt sein soll. Es ist ein Projekt des englischen Programmierers Wayne Phillips, der bereits im Access-Umfeld mit spektakul\u00e4ren L\u00f6sungen auf sich aufmerksam gemacht hat. twinBASIC scheint jedoch sein Meisterwerk zu werden. Es kommt mit einer eigenen Entwicklungsumgebung, die sich nicht vor anderen modernen IDEs verstecken muss. In diesem Artikel schauen wir uns an, wie Du die twinBASIC-Entwicklungsumgebung installierst und die ersten Projekte damit erstellst. In weiteren Artikeln werfen wir einen Blick auf die verschiedenen Projekttypen und wie Du L\u00f6sungen damit erstellen kannst.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/twinBASIC_Visual_Basic_fuer_die_Zukunft\">Zum Artikel &#8230;<\/a><\/p>\n<h3>COM-Add-Ins mit twinBASIC<\/h3>\n<p>COM-Add-Ins sind Erweiterungen f\u00fcr Office-Anwendungen und ihre Entwicklungsumgebung, den VBA-Editor. Damit lassen sich Erweiterungen programmieren, die \u00fcber die Benutzeroberfl\u00e4che der jeweiligen Anwendung verf\u00fcgbar gemacht werden und ihre Aufgabe mit oder ohne ein eigenes User\u00adinterface bereitstellen. COM-Add-Ins kann man jedoch nicht mit den Mitteln der Office-Anwendungen selbst programmieren. Dazu sind weitere Tools notwendig. Fr\u00fcher ging dies am einfachsten mit Visual Studio 6. Dieses ist jedoch sp\u00e4testens seit der Einf\u00fchrung der 64-Bit-Versionen der Office-Anwendungen nicht mehr nutzbar, sodass Alternativen gefragt sind. Neben Visual Studio .NET, das ebenfalls das Erstellen von COM-Add-Ins erlaubt, erschien vor kurzer Zeit eine neue Alternative: twinBASIC ist ein Projekt von Wayne Phillips, das sich nicht nur anschickt, Nachfolger von Visual Studio 6 zu werden, sondern schon jetzt das Erstellen unter anderem von COM-Add-Ins erm\u00f6glicht. Dieser Artikel stellt die grundlegenden Techniken zum Erstellen eines Ger\u00fcsts f\u00fcr COM-Add-Ins vor, das wir in weiteren Artikel mit praktischen L\u00f6sungen f\u00fcr die Erweiterung der Office-Anwendungen und auch des VBA-Editors nutzen werden.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/COMAddIns_mit_twinBASIC\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Outlook: Codebeispiele ausprobieren<\/h3>\n<p>In diesem Magazin stellen wir immer wieder Beispiele zur Programmierung von Outlook per VBA vor. W\u00e4hrend wir solchen Beispielcode bei den anderen Anwendungen wie Word, Excel oder PowerPoint oder auch unter Access in entsprechenden Beispieldokumenten unterbringen k\u00f6nnen, m\u00fcssen wir die Outlook-Beispiele in das VBA-Projekt von Outlook einf\u00fcgen, um diese auszuprobieren. Wie das gelingt, zeigt der vorliegende Artikel.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/Outlook_Codebeispiele_ausprobieren\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Ribbon-Signaturen f\u00fcr VBA, VB6 und twinBASIC<\/h3>\n<p>Wer Anwendungen programmiert, die das Ribbon anpassen, m\u00f6chte die benutzerdefinierten Ribbon-Steuerelemente auch mit entsprechenden Callback-Prozeduren ausstatten. Dieser Artikel liefert eine Zusammenfassung der Ribbon-Signaturen f\u00fcr die Callback-Funktionen unter VBA und Visual Basic 6 beziehungsweise twinBASIC. Die VBA-Signaturen nutzen wir, wenn wir Ribbon-Erweiterungen direkt zu den mit den Office-Anwendungen erstellten Ribbonanpassungen hinzuf\u00fcgen wollen. Erstellen wir hingegen COM-Add-Ins mit VB6 oder twinBASIC, nutzen wir die alternativen Signaturen.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/RibbonSignaturen_fuer_VBA_VB6_und_twinBASIC\">Zum Artikel &#8230;<\/a><\/p>\n<h3>Youtube-Kanal mit VB.NET verwalten, Teil 1<\/h3>\n<p>Wie vielleicht einige wissen, f\u00fcttere ich seit kurzer Zeit einen Youtube-Kanal mit Access-Videos (sicher werden bald auch welche zu den Themen aus \u00bbVisual Basic Entwickler\u00ab folgen). Um den Zuschauern der Videos den besten Service bieten zu k\u00f6nnen, m\u00f6chte ich in den Beschreibungstexten der YouTube-Videos auf andere passende Videos und auch auf Artikel aus den Magazinen verweisen. Da immer wieder neue Videos und Artikel hinzukommen, die thematisch zusammenpassen, m\u00f6chte ich nat\u00fcrlich auch die Verlinkung in den Beschreibungstexten aktuell halten. Das ist allerdings eine Menge Aufwand, wenn man das immer von Hand erledigen muss. Da bietet es sich doch an, einmal einen Blick auf die M\u00f6glichkeiten des codegesteuerten Zugriffs auf einen Youtube-Kanal zu werfen \u2013 und damit Funktionen wie das Einlesen der vorhandenen Playlisten und Videos sowie das Aktualisieren von Inhalten wie den Beschreibungstexten zu automatisieren.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/YoutubeKanal_mit_VBNET_verwalten_Teil_1\">Zum Artikel &#8230;<\/a><\/p>\n<h3>YouTube-Kanal mit VB.NET verwalten, Teil 2<\/h3>\n<p>Im ersten Teil dieser Artikelreihe haben wir die Vorbereitungen auf der Seite von Google beziehungsweise YouTube erledigt. Dabei haben wir ein Google-Konto angelegt, dieses zum Entwickler-Konto erweitert und eine Anwendung f\u00fcr den Zugriff auf die YouTube-API registriert. Au\u00dferdem haben wir dort die f\u00fcr den Zugriff notwendigen Zugangsdaten erstellt, die wir in der nun zu programmierenden .NET-L\u00f6sung verwenden k\u00f6nnen. In der .NET-L\u00f6sung wollen wir verschiedene Informationen zu unserem YouTube-Kanal abrufen wie die Namen der Playlisten und Informationen zu den enthaltenen Videos. Au\u00dferdem wollen wir neue Videos anlegen und die Eigenschaften der vorhandenen Videos anpassen.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/YouTubeKanal_mit_VBNET_verwalten_Teil_2\">Zum Artikel &#8230;<\/a><\/p>\n<h3>COM-DLL f\u00fcr den Zugriff auf die YouTube-API<\/h3>\n<p>In der Artikelreihe \u00bbYoutube-Kanal mit VB.NET verwalten\u00ab haben wir Methoden vorgestellt, mit denen wir die Videos eines Youtube-Kanals auslesen und mit denen wir neue Videos hochladen oder die Eigenschaften bestehender Videos anpassen k\u00f6nnen. Diese Methoden wollen wir nun in einer DLL zusammenfassen, die wir in eine Office-Anwendung wie Excel oder Access einbinden k\u00f6nnen, um von dort aus beispielsweise Titel und Beschreibungstexte lesen und schreiben k\u00f6nnen. Im vorliegenden Artikel zeigen wir daher, wie wir die bereits beschriebenen Funktionen in einem neuen Projekt verwenden und daraus die gew\u00fcnschte DLL erstellen. In einem weiteren Artikel zeigen wir dann, wie Du von Excel aus die Daten der Videos eines Kanals in eine Excel-Tabelle einlesen kannst.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/COMDLL_fuer_den_Zugriff_auf_die_YouTubeAPI\">Zum Artikel &#8230;<\/a><\/p>\n<h3>VBA-Basics: Schnellstart<\/h3>\n<p>In diesem Magazin dreht sich Vieles um die Programmierung von Office-Anwendungen. Die Programmiersprache f\u00fcr die Programmierung in dem VBA-Projekten der jeweiligen Anwendungen hei\u00dft VBA \u2013 Visual Basic for Applications. Und auch wenn die Tools abseits des VBA-Editors, mit denen wir die Funktion von Office-Anwendungen erweitern wollen, teils andere Programmiersprachen wie VB.NET oder twinBASIC nutzen, so gibt es doch so viele Gemeinsamkeiten, dass wir zuerst einmal die Programmiersprache VBA im Detail betrachten wollen. Den Anfang machen wir mit diesem Artikel, der als Schnellstart die wichtigsten Informationen rund um VBA liefert \u2013 und auch die Elemente der Entwicklungsumgebung beschreibt, die wir zum Ausprobieren der in dieser Artikelreihe vorgestellten Techniken ben\u00f6tigen.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/VBABasics_Schnellstart\">Zum Artikel &#8230;<\/a><\/p>\n<h3>VBA-Basics: Variablen<\/h3>\n<p>Variablen sind die M\u00f6glichkeit unter VBA, bestimmte Werte wie Zahlen, Texte, Datumsangaben oder auch komplexere Elemente wie Verweise auf Objekte der Benutzeroberfl\u00e4che der Office-Anwendungen oder auf selbst erstellte Objekte f\u00fcr den Zeitraum der Benutzung zu speichern und wieder abrufen zu k\u00f6nnen. Kurz gesagt: Mit Variablen merken wir uns verschiedene Dinge, die wir noch mal brauchen k\u00f6nnen. Dieser Artikel stellt die verschiedenen Basisdatentypen f\u00fcr Variablen vor und zeigt, wie wir diese deklarieren, mit Werten oder Verweisen f\u00fcllen und diese wieder abfragen. Au\u00dferdem gehen wir auch auf den G\u00fcltigkeitsbereich, die G\u00fcltigkeitsdauer und die Frage der Benennung von Variablen ein.<\/p>\n<p><a href=\"http:\/\/www.vbentwickler.de\/VBABasics_Variablen\">Zum Artikel &#8230;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Office-Ereignisse mit VBA programmieren Visual Basic for Applications, kurz VBA, ist eine Ableitung der Programmiersprache Visual Basic. Im Gegensatz zu diesem, das mit Visual Basic 6 vor einigen Jahren seine letzte Version erlebt hat, erfreut<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"yst_prominent_words":[],"class_list":["post-88022022","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/pages\/88022022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=88022022"}],"version-history":[{"count":2,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/pages\/88022022\/revisions"}],"predecessor-version":[{"id":88072037,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/pages\/88022022\/revisions\/88072037"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=88022022"}],"wp:term":[{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=88022022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}