{"id":55000528,"date":"2007-12-01T00:00:00","date_gmt":"2020-05-06T15:18:54","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=528"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Custom_Task_Panes_mit_VB6","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/","title":{"rendered":"Custom Task Panes mit VB6"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg08.met.vgwort.de\/na\/fb3dc514ebfb4bb7825ed55eb5cf5129\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Neben Ribbon, Formularen und Berichten liefert Access 2007 noch eine weitere M&ouml;glichkeit zum Anpassen der Benutzeroberfl&auml;che: Das Custom Task Pane. Wie Sie dieses erstellen und steuern, erfahren Sie im vorliegenden Beitrag.<\/b><\/p>\n<\/div>\n<div class=\"story\">\n<p>Ein Custom Task Pane ist ein spezielles Fenster innerhalb der Benutzeroberfl&auml;che von Access 2007 oder einer anderen Office 2007-Anwendung und das benutzerdefinierte Pendant zu den eingebauten Task Panes, die etwa in Access die Eigenschaften oder die Feldliste enthalten.<\/p>\n<p>Der Unterschied zu &uuml;blichen Formularen ist, dass Sie Task Panes am Rand des Anwendungsfensters verankern k&ouml;nnen und dass diese immer sichtbar sind (das hei&szlig;t, sie werden nicht von Formularen &uuml;berdeckt- tats&auml;chlich sind Task Panes technisch von den alten Symbolleisten abgeleitet). Ihre Verwendung bietet sich beispielsweise an, um Schnittstellen zu anderen Anwendungen oder andere wichtige Funktionen st&auml;ndig anzuzeigen. Denkbar ist etwa auch, die Navigation in der Datenbank komplett &uuml;ber ein Taskpane zu realisieren &#8211; der einbaute Navigationsbereich von Access 2007 macht es vor.<\/p>\n<p>Neben Visual Basic 6 k&ouml;nnen Sie solche Custom Task Panes auch mit Visual Studio .NET und Sprachen wie VB.NET oder C# erstellen. Allerdings sind f&uuml;r die daraus entstehenden DLLs das .NET-Framework sowie Assemblies des Visual Studio Tools for Office auf dem Zielrechner Voraussetzung. Mit VB6 geht das wesentlich einfacher, weil man nur die DLL auf den Zielrechner kopieren und sie registrieren muss.<\/p>\n<p class=\"zwischen-berschrift-oberer-spaltenrand\">Vorbereitungen<\/p>\n<p>Als Ausgangspunkt dient eine verschlankte Vorlage f&uuml;r ein Add-In-Projekt unter VB6. Dieses legen Sie zun&auml;chst &uuml;ber den Men&uuml;punkt <b>Datei\/Neues Projekt <\/b>und die anschlie&szlig;ende Auswahl des Eintrags <b>Addin <\/b>an. Nun geht es ans Ausd&uuml;nnen: Werfen Sie zun&auml;chst das Formular <b>frmAddin <\/b>raus und leeren Sie dann das Modul hinter dem Objekt <b>Connect <\/b>bis auf die erste Zeile <b>Option Explicit<\/b>.<\/p>\n<h2>Task Pane-Verbraucher<\/h2>\n<p>Um auf die Methoden zum Erzeugen eines Task Panes zuzugreifen, legen Sie zun&auml;chst einen Verweis auf die Bibliothek <b>Microsoft Office 12.0 Object Library <\/b>an. Gegebenenfalls m&uuml;ssen Sie zuvor noch die eingestellte Version 8.0 der gleichen Bibliothek entfernen. Mit der folgenden Zeile f&uuml;gen Sie dem Projekt die <b>ICustomTaskPaneConsumer<\/b>-Schnittstelle hinzu:<\/p>\n<pre>Implements ICustomTaskPaneConsumer<\/pre>\n<p>Bevor Sie die Ereignisprozedur zum Erzeugen des Task Panes anlegen, brauchen Sie noch eine Objektvariable, die einen Verweis auf das zu erzeugende Task Pane aufnimmt und deren Ereignisse abfangen kann:<\/p>\n<pre>Public WithEvents CTP As CustomTaskPane<\/pre>\n<p>Dann implementieren Sie die einzige Methode der Schnittstelle <b>ICustomTaskPaneConsumer<\/b>, indem Sie die passenden Eintr&auml;ge aus den beiden Kombinationsfeldern im oberen Bereich des Codefensters ausw&auml;hlen:<\/p>\n<pre>Private Sub _<br \/>    ICustomTaskPaneConsumer_CTPFactoryAvailable _<br \/>    (ByVal CTPFactoryInst As Office.ICTPFactory)\r\nEnd Sub<\/pre>\n<p class=\"zwischen-berschriftnachquellcode\">Task Pane als UserDocument-Container<\/p>\n<p>Bevor Sie diese Methode mit Leben f&uuml;llen, legen Sie erst noch ein <b>UserDocument <\/b>an, das die im Task Pane anzuzeigenden Steuerelemente enth&auml;lt. Dazu rufen Sie den Eintrag <b>Hinzuf&uuml;gen\/Benutzerdokument <\/b>des Kontextmen&uuml;s im Projekt-Explorer auf und w&auml;hlen dann im Dialog <b>Benutzerdokument hinzuf&uuml;gen <\/b>das Element <b>Benutzerdokument <\/b>aus. &auml;ndern Sie seinen Namen in <b>aiuTask Pane<\/b>. F&uuml;gen Sie au&szlig;erdem eine Schaltfl&auml;che hinzu. Anschlie&szlig;end brauchen Sie nur noch die soeben angelegte Methode zu f&uuml;llen:<\/p>\n<pre>Private Sub _<br \/>    ICustomTaskPaneConsumer_CTPFactoryAvailable _<br \/>    (ByVal CTPFactoryInst As Office.ICTPFactory)\r\n    Set CTP = CTPFactoryInst.CreateCTP _<br \/>        (\"MyAddin.aiuTask Pane\", \"AiU-Task Pane\")\r\n    CTP.Visible = True\r\nEnd Sub<\/pre>\n<p>Dabei kommt das Objekt <b>CTPFactoryInst<\/b> als Parameter der Methode selbst. <b>CreateCTP <\/b>erzeugt das Task Pane und die <b>Visible<\/b>-Methode macht es schlie&szlig;lich sichtbar. Achten Sie dabei auf die genaue Schreibweise der <b>ProgID <\/b>ihres Benutzerdokuments. Sie setzt sich so zusammen: <b>&lt;Name des VB6-Projekts&gt;.&lt;Name des Benutzerdokuments&gt;<\/b>. Debugging anwerfen, Access starten, fertig &#8211; es erscheint ein Task Pane wie in Bild 1. Wichtig ist es zu erw&auml;hnen, dass das Debuggen an dieser und anderen Stellen in Zusammenhang mit dem Erzeugen von Custom Task Panes und Ribbon-Anpassungen nicht zuverl&auml;ssig funktioniert. Verwenden Sie in jedem Fall eine Fehlerbehandlung, die gegebenenfalls Fehlercode und -beschreibung ausgibt.<\/p>\n<div class=\"abbildung\">\n    <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_06\/CustomTaskPaneMitVB6-web-images\/abb001_opt.jpeg\" alt=\"abb001.tif\" \/>\n<\/div>\n<div class=\"story\">\n<p><b><span style=\"color:darkgrey\">Bild 1: Das Access-Fenster mit einem benutzerdefinierten TaskPane<\/span><\/b><\/p>\n<\/div>\n<p class=\"zwischen-berschrift-oberer-spaltenrand\">Ein- und ausblenden<\/p>\n<p><!--30percent--><\/p>\n<p>Nun war das noch lange nicht alles &#8211; selbst wenn Sie das Best&uuml;cken des Task Panes mit echten Funktionen au&szlig;en vor lassen. Denn irgendwie m&uuml;ssen Sie ja beim Arbeiten mit umfangreichen Formularen oder Berichten auch mal Platz schaffen &#8211; zum Beispiel durch Ausblenden des Task Panes. Das funktioniert sehr zuverl&auml;ssig mit der Schlie&szlig;en-Schaltfl&auml;che rechts oben im Custom Task Pane. Leider gibt es keine passende M&ouml;glichkeit zum Wiedereinblenden des Task Panes. Also bauen Sie sich einfach eine eigene Schaltfl&auml;che, und zwar in Form eines Ribbon-Steuerelements. Am besten ist daf&uuml;r eine Umschaltfl&auml;che geeignet, die das Ein- und Ausblenden gleicherma&szlig;en erledigen kann. Die zum Hinzuf&uuml;gen dieser Ribbon-Umschaltfl&auml;che notwendigen Schritte sehen wie folgt aus:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Legen Sie die Ribbon-XML-Definition aus Listing 1 als Textdatei an, speichern Sie diese unter dem Namen <b>Ribbon.xml <\/b>und f&uuml;gen Sie sie als benutzerdefinierte VB-Ressource zum Projekt hinzu.<\/li>\n<div class=\"abbildung\">\n<p class=\"kastentabelleheader\">Listing 1: XML-Code zur Anzeige einer Umschaltfl&auml;che zum Ein- und Ausblenden des Custom Task Panes <\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">&lt;customUI xmlns=&#8220;http:\/\/schemas.microsoft.com\/office\/2006\/01\/customui&#8220; <\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">        loadImage=&#8220;LoadImage&#8220;&gt;<\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">    &lt;ribbon startFromScratch=&#8220;false&#8220;&gt;<\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">        &lt;tabs&gt;<\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">            &lt;tab idMso=&#8220;TabHomeAccess&#8220;&gt;<\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">                &lt;group id=&#8220;grpTaskPane&#8220; label=&#8220;Task Pane&#8220;&gt;<\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">                    &lt;toggleButton id=&#8220;tglTaskPane&#8220; <\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">                        label=&#8220;Taskpane ein-\/ausblenden&#8220; <\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">                        onAction=&#8220;OnAction_tglTaskPane&#8220; <\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">                        image=&#8220;Window_Sidebar.png&#8220; size=&#8220;large&#8220; \/&gt;<\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">                &lt;\/group&gt;<\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">            &lt;\/tab&gt;<\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">        &lt;\/tabs&gt;<\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">    &lt;\/ribbon&gt;<\/p>\n<p class=\"quellcode-funktionssammlung-1-5\">&lt;\/customUI&gt;<\/p>\n<\/div>\n<li class=\"aufz-hlung\">Implementieren Sie die Schnittstelle <b>IRibbonExtensibility<\/b>, indem Sie diese mit der Anweisung <b>Implements IRibbonExtensibility <\/b>bekanntgeben und die folgende Routine zum <b>Connect<\/b>-Modul hinzuf&uuml;gen.<\/li>\n<\/ul>\n<pre>Private Function _<br \/>        IRibbonExtensibility_GetCustomUI( _<br \/>        ByVal RibbonID As String) As String\r\n    Dim bin() As Byte\r\n    Dim sXML As String\r\n    Dim F As Integer\r\n    On Error GoTo Fehler\r\n    bin = LoadResData(\"ribbon.xml\", \"CUSTOM\")\r\n    sXML = StrConv(bin, vbUnicode)\r\n    IRibbonExtensibility_GetCustomUI = sXML\r\nEnde: \r\n    Exit Function\r\nFehler:\r\n    MsgBox Err.Number &amp; \" \" &amp; _<br \/>        Err.Description, vbCritical, _\r\n        \"Fehler in \" _<br \/>        &amp; \"IRibbonExtensibility_GetCustomUI\"\r\n    Resume Ende\r\nEnd Function<\/pre>\n<p>Fehlt noch, dass die Umschaltfl&auml;che auch das Custom Task Pane ein- und ausblendet. Dazu hinterlegen Sie die folgende Routine, die beim Anklicken der Umschaltfl&auml;che ausgel&ouml;st wird:<\/p>\n<pre>Sub OnAction_tglTaskpane(control As _<br \/>        IRibbonControl, pressed As Boolean)\r\n    CTP.Visible = pressed\r\nEnd Sub<\/pre>\n<p>Zus&auml;tzlich zu diesen Routinen ben&ouml;tigen Sie &#8211; wenn Sie die Umschaltfl&auml;che mit einem Icon versehen m&ouml;chten &#8211; noch einige Anpassungen, die Sie dem Beitrag <b>Ribbon mit VB6 <\/b>(Shortlink 526) entnehmen k&ouml;nnen. In der Regel kann man &#8211; wie auch bei den zahlreichen eingebauten Task Panes der Office-Anwendungen &#8211; davon ausgehen, dass diese &uuml;blicherweise erst einmal ausgeblendet sind und der Benutzer sie erst bei Bedarf einblendet. Dazu m&uuml;ssen Sie lediglich die folgende Zeile aus der Routine <b>ICustomTaskPaneConsumer_CTPFactoryAvailable <\/b>l&ouml;schen:<\/p>\n<pre>CTP.Visible = True<\/pre>\n<p class=\"zwischen-berschriftnachquellcode\">Umschaltfl&auml;che synchronisieren<\/p>\n<p>Der Ordnung halber sorgen Sie nun noch daf&uuml;r, dass die Umschaltfl&auml;che auch beim Ausblenden des Custom Task Panes den richtigen Status anzeigt &#8211; also normal bei ausgeblendetem, hervorgehoben bei eingeblendetem Task Pane. Das ist nicht ganz unkompliziert, zeigt aber sehr sch&ouml;n, wie das Ribbon tickt. Ausl&ouml;ser der ganzen Aktion ist das Ausblenden des Custom Task Panes. Damit dabei &uuml;berhaupt etwas geschieht, implementieren Sie die folgende Ereignisprozedur:<\/p>\n<pre>Private Sub CTP_VisibleStateChange(ByVal CustomTaskPaneInst As Office.CustomTaskPane)\r\n    objRibbon.Invalidate\r\nEnd Sub<\/pre>\n<p>Im vorliegenden Fall soll die Routine das Ribbon dazu bringen, den Status seiner Elemente auf Basis der vorhandenen <b>get&#8230;<\/b>-Attribute, hier <b>getPressed <\/b>der Umschaltfl&auml;che, zu aktualisieren. Damit dies funktioniert, muss man beim Anpassen des Ribbons einer Variablen einen Objektverweis auf das Ribbon zuweisen. Der richtige Zeitpunkt daf&uuml;r ist die Ausf&uuml;hrung der <b>onLoad<\/b>-Callbackfunktion, die Sie im XML-Dokument wie folgt festlegen:<\/p>\n<pre>&lt;customUI xmlns=\"http:\/\/schemas.microsoft.com\/office\/2006\/01\/customui\" loadImage=\"LoadImage\" onLoad=\"OnLoad\"&gt;<\/pre>\n<p>Der Objektverweis soll in einer in einem Standardmodul deklarierten Variablen namens <b>objRibbon<\/b> gespeichert werden:<\/p>\n<pre>Public objRibbon As IRibbonUI<\/pre>\n<p>Die <b>OnLoad<\/b>-Funktion sieht schlie&szlig;lich wie folgt aus:<\/p>\n<pre>Function OnLoad(ribbon As IRibbonUI)\r\n    Set objRibbon = ribbon\r\nEnd Function<\/pre>\n<p>Damit Access den Status der Umschaltfl&auml;che auch aktualisiert, weisen Sie diesem Element in der XML-Definition das Attribut <b>getPressed <\/b>mit einer passenden Callbackfunktion zu:<\/p>\n<pre>&lt;toggleButton id=\"tglTaskPane\" <br \/>label=\"Taskpane ein-\/ausblenden\" <br \/>onAction=\"OnAction_tglTaskPane\" <br \/>image=\"Window_Sidebar.png\" size=\"large\" getPressed=\"GetPressed_tglTaskPane\" \/&gt;<\/pre>\n<p>Und wenn Sie nun ein Objekt namens <b>objRibbon<\/b> haben, f&uuml;r das Sie beim Ausblenden des Task Panes per Schlie&szlig;en-Schaltfl&auml;che die <b>Invalidate<\/b>-Methode aufrufen, dann sorgt das <b>getPressed<\/b>-Attribut der Umschaltfl&auml;chen-Definition daf&uuml;r, dass die folgende Routine den Status der Umschaltfl&auml;che mit der Sichtbarkeit des Custom Task Panes synchronisiert:<\/p>\n<pre>Function GetPressed_tblTaskPane(control As IRibbonControl) As Boolean\r\n    GetPressed_tblTaskPane = CTP.Visible\r\nEnd Function<\/pre>\n<p>Zu guter Letzt noch der Hinweis, dass Sie die XML-Ribbon-Definition nach &auml;nderungen selbstverst&auml;ndlich jeweils wieder aus der Liste der benutzerdefinierten Ressourcen l&ouml;schen und wieder hinzuf&uuml;gen m&uuml;ssen. Nach dem Kompilieren des Projekts und dem n&auml;chsten Start von Access zeigt sich dieses im gewohnten Look, aber wenn Sie dann eine Datenbank &ouml;ffnen, erscheint die neue Schaltfl&auml;che im Ribbon. Zum Einblenden des Custom Task Panes m&uuml;ssen Sie diese nur bet&auml;tigen (siehe Bild 2).<\/p>\n<div class=\"image\">\n    <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_05\/CustomTaskPaneMitVB6-web-images\/abb003_opt.jpeg\" alt=\"abb003.tif\" \/>\n<\/div>\n<div class=\"story\">\n<p><b><span style=\"color:darkgrey\">Bild 2: Access mit Ribbon-Umschaltfl&auml;che zum Ein- und Ausblenden des Custom Task Panes<\/span><\/b><\/p>\n<\/div>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>Das Grundger&uuml;st eines Custom Task Panes zu erstellen, ist kein Hexenwerk. Das Komplizierteste daran ist wohl die Synchronisierung der Ribbon-Umschaltfl&auml;che zum Ein- und Ausblenden beim Ausblenden des Task Panes per Schlie&szlig;en-Schaltfl&auml;che. Der Spa&szlig; beginnt freilich erst danach &#8211; n&auml;mlich wenn es an den Bau der eigentlichen Funktionen geht. Als Beispiel k&ouml;nnten Sie etwa mal eine Art Query Analyzer implementieren &#8211; m&ouml;glicherweise kennen Sie diesen schon von &auml;lteren Versionen des SQL Servers. Es handelt sich dabei um ein Fenster, das in zwei Bereiche aufgeteilt ist und in einem Textfeld im oberen Bereich die Eingabe von SQL-Ausdr&uuml;cken erlaubt, deren Ausgabe im unteren Bereich angezeigt wird.<\/p>\n<p>Wie dies funktioniert, erfahren Sie in der folgenden Ausgabe in einem weiteren Beitrag namens <b>Permanenter Access-Query-Analyzer <\/b>(Shortlink 544).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neben Ribbon, Formularen und Berichten liefert Access 2007 noch eine weitere M&ouml;glichkeit zum Anpassen der Benutzeroberfl&auml;che: Das Custom Task Pane. Wie Sie dieses erstellen und steuern, erfahren Sie im vorliegenden Beitrag.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","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":""},"categories":[662007,66062007,44000028,44000026,44000025],"tags":[],"class_list":["post-55000528","post","type-post","status-publish","format-standard","hentry","category-662007","category-66062007","category-Ergonomie_und_Benutzeroberflaeche","category-Interaktiv","category-VBA_und_Programmiertechniken"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Custom Task Panes mit VB6 - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Custom Task Panes mit VB6\" \/>\n<meta property=\"og:description\" content=\"Neben Ribbon, Formularen und Berichten liefert Access 2007 noch eine weitere M&ouml;glichkeit zum Anpassen der Benutzeroberfl&auml;che: Das Custom Task Pane. Wie Sie dieses erstellen und steuern, erfahren Sie im vorliegenden Beitrag.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-06T15:18:54+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg08.met.vgwort.de\/na\/fb3dc514ebfb4bb7825ed55eb5cf5129\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Custom Task Panes mit VB6\",\"datePublished\":\"2020-05-06T15:18:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/\"},\"wordCount\":1520,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/fb3dc514ebfb4bb7825ed55eb5cf5129\",\"articleSection\":[\"2007\",\"6\\\/2007\",\"Ergonomie und Benutzeroberfl\u00e4che\",\"Interaktiv\",\"VBA und Programmiertechniken\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/\",\"name\":\"Custom Task Panes mit VB6 - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/fb3dc514ebfb4bb7825ed55eb5cf5129\",\"datePublished\":\"2020-05-06T15:18:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/fb3dc514ebfb4bb7825ed55eb5cf5129\",\"contentUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/fb3dc514ebfb4bb7825ed55eb5cf5129\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Custom_Task_Panes_mit_VB6\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Custom Task Panes mit VB6\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Custom Task Panes mit VB6 - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/","og_locale":"de_DE","og_type":"article","og_title":"Custom Task Panes mit VB6","og_description":"Neben Ribbon, Formularen und Berichten liefert Access 2007 noch eine weitere M&ouml;glichkeit zum Anpassen der Benutzeroberfl&auml;che: Das Custom Task Pane. Wie Sie dieses erstellen und steuern, erfahren Sie im vorliegenden Beitrag.","og_url":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-06T15:18:54+00:00","og_image":[{"url":"http:\/\/vg08.met.vgwort.de\/na\/fb3dc514ebfb4bb7825ed55eb5cf5129","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Custom Task Panes mit VB6","datePublished":"2020-05-06T15:18:54+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/"},"wordCount":1520,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/#primaryimage"},"thumbnailUrl":"http:\/\/vg08.met.vgwort.de\/na\/fb3dc514ebfb4bb7825ed55eb5cf5129","articleSection":["2007","6\/2007","Ergonomie und Benutzeroberfl\u00e4che","Interaktiv","VBA und Programmiertechniken"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/","url":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/","name":"Custom Task Panes mit VB6 - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/#primaryimage"},"thumbnailUrl":"http:\/\/vg08.met.vgwort.de\/na\/fb3dc514ebfb4bb7825ed55eb5cf5129","datePublished":"2020-05-06T15:18:54+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/#primaryimage","url":"http:\/\/vg08.met.vgwort.de\/na\/fb3dc514ebfb4bb7825ed55eb5cf5129","contentUrl":"http:\/\/vg08.met.vgwort.de\/na\/fb3dc514ebfb4bb7825ed55eb5cf5129"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Custom_Task_Panes_mit_VB6\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Custom Task Panes mit VB6"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000528"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000528\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}