{"id":55000274,"date":"2015-04-01T00:00:00","date_gmt":"2020-01-24T15:59:20","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=274"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Zippen_mit_Bordmitteln","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html","title":{"rendered":"Zippen mit Bordmitteln"},"content":{"rendered":"<p class='introduction'>Das VBA-gesteuerte Packen und Archivieren von Dateien ist eine Aufgabe, der auch Access-Entwickler immer wieder begegnen. Dass man dabei keineswegs auf externe Komponenten oder Hilfsmittel angewiesen ist und mit Windows-Bordmittel auskommen kann, soll dieser Beitrag zeigen.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1502_Zippen.mdb<\/b>.<\/p>\n<h2>Zip-Format<\/h2>\n<p>Es gibt zweifellos Alternativen zum altehrw&uuml;rdigen Zip-Format, denn <b>RAR<\/b> oder <b>7z <\/b>etwa bieten erheblich bessere Kompressionsraten an. Doch diese Formate setzen voraus, dass auf dem System ein entsprechendes Archivierungsprogramm installiert ist, und bei Weitergabe einer solchen Archivdatei k&ouml;nnen Sie nicht einfach davon ausgehen, dass dies beim Adressaten der Fall ist. Mit dem Zip-Format sind Sie auf der sicheren Seite: Windows hat seit einigen Generationen einen entsprechenden Support eingebaut. &uuml;ber den Explorer lassen sich Zip-Dateien wie Ordner behandeln, einsehen und bearbeiten. Und was sich manuell erledigen l&auml;sst, sollte sich &uuml;ber irgendeinen Weg auch programmtechnisch realisieren lassen.<\/p>\n<h2>Shell-Funktionen<\/h2>\n<p>Die &uuml;bliche Herangehensweise, wenn Funktionen von Windows gefragt sind, ist die Suche im API-Katalog. In unserem Fall kann darauf verzichtet werden, da Windows mit der <b>Shell<\/b>-Bibliothek eine COM-Schnittstelle zur Verf&uuml;gung stellt, die alles N&ouml;tige mitbringt. Es handelt sich um die <b>shell32.dll<\/b> im Systemverzeichnis, welche sich in der Liste der Verweise von VBA namentlich als <b>Microsoft Shell Controls And Automation<\/b> ausgibt. Nachdem Sie die Bibliothek ihrem Projekt &uuml;ber den Verweisedialog hinzugef&uuml;gt haben, finden Sie deren Klassen im Objektkatalog, wenn Sie links oben den Eintrag <b>Shell32<\/b> ausw&auml;hlen (Bild 1). An den Klassenbezeichnungen, wie <b>Folder<\/b>, <b>FolderItem<\/b> und <b>ShellFolderView<\/b>, l&auml;sst sich bereits ablesen, dass es hier zuv&ouml;rderst um Verzeichnisse und deren Inhalte geht. Da die Shell, wie erw&auml;hnt, eine Zip-Datei als Verzeichnis ansieht, w&auml;re nun zu erl&auml;utern, wie man so ein Verzeichnis anspricht.  Dazu gehen Sie vom Hauptobjekt der Bibliothek aus, der <b>Shell<\/b>-Klasse, welche in der Abbildung bereits markiert ist.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/Objektkatalog_Shell.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/Objektkatalog_Shell.png\" alt=\"Die Shell32-Bibliothek, im VBA-Objektkatalog dargestellt\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Die Shell32-Bibliothek, im VBA-Objektkatalog dargestellt<\/p>\n<p>Eine Instanz dieser Klasse erhalten Sie einfach &uuml;ber die <b>New<\/b>-Zuweisung an eine Objektvariable:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objShell<span style=\"color:blue;\"> As <\/span><span style=\"color:blue;\">New<\/span> Shell32.Shell<\/pre>\n<p>Hier sollte nicht unerw&auml;hnt bleiben, dass die ganze Angelegenheit auch komplett ohne einen Bibliotheksverweis ausk&auml;me. Folgender Ausdruck erzeugt n&auml;mlich ebenfalls das Shell-Objekt:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objShell<span style=\"color:blue;\"> As Object<\/span>\r\n<span style=\"color:blue;\">Set<\/span> objShell = _\r\n    CreateObject(\"Shell.Application\")<\/pre>\n<p>Haben Sie nun das Hauptobjekt, so k&ouml;nnen Sie sogleich allerlei Methoden desselben ansprechen. So &ouml;ffnet etwa die Methode <b>objShell.FileRun<\/b> den <b>Ausf&uuml;hren<\/b>-Dialog von Windows, oder <b>TrayProperties<\/b> den Dialog zu Einstellungen der Taskleiste. Warum Microsoft ausgerechnet solche Funktionen in die COM-Schnittstelle verbaute, ist nicht recht nachvollziehbar, da man sie programmgesteuert wohl h&ouml;chst selten aufrufen wird. Sie interessieren uns auch nicht weiter. Lediglich die Funktion <b>NameSpace<\/b> ist f&uuml;r unsere Belange wichtig: sie allein gibt ein <b>Folder<\/b>-Objekt, also ein Verzeichnis, zur&uuml;ck. Dazu &uuml;bergibt man ihr als Parameter den Verzeichnisnamen:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objFolder<span style=\"color:blue;\"> As <\/span>Shell32.Folder\r\n<span style=\"color:blue;\">Set<\/span> objFolder = objShell.NameSpace ( _\r\n    \"c:\\windows\")<\/pre>\n<p>Auf den Methodennamen <b>NameSpace<\/b> w&uuml;rde man wahrscheinlich nicht kommen und eher so etwas wie <b>GetFolder<\/b> erwarten. Grund f&uuml;r die Bezeichnung ist, dass sie eben nicht nur physische Verzeichnisse ermittelt, sondern auch virtuelle, wie dies beim Zip-Archiv vorliegt. Statt des Verzeichnispfads nimmt sie etwa auch Zahlen entgegen. Versuchen Sie dies:<\/p>\n<pre> objShell.NameSpace(0).Title<\/pre>\n<p>Ergebnis w&auml;re der String <b>Desktop<\/b>. (<b>Title<\/b> ist die Methode zum Auslesen der Bezeichnung eines Folder-Objekts.) Der komplette Pfadname ist etwas umst&auml;ndlicher zu ermitteln:<\/p>\n<pre> objShell.NameSpace(0).Self.Path<\/pre>\n<p>Das ergibt etwa <b>C:\\Users\\Andr&eacute;\\Desktop<\/b>. Sie k&ouml;nnen nun mit den Zahlenparametern experimentieren. &uuml;bergeben Sie die 3, so erhalten Sie als Bezeichnung <b>Systemsteuerung<\/b>. Tats&auml;chlich l&auml;sst sich die Systemsteuerung ja im Explorer-Baum an-zeigen. Was aber ist deren Pfad Sie erhalten den Ausdruck<\/p>\n<pre>::{21EC2020-3AEA-1069-A2DD-08002B30309D}<\/pre>\n<p>Diese <b>GUID<\/b> symbolisiert einen virtuellen Ordner. Machen Sie die Probe aufs Exempel und setzen diese GUID als String f&uuml;r den Pfadnamen ein:<\/p>\n<p> objShell.NameSpace(&#8222;::{21EC2020-3AEA-1069-A2DD-08002B30309D}&#8220;).Title<\/p>\n<p>Auch das geht und liefert uns abermals die Bezeichnung <b>Systemsteuerung<\/b>. <\/p>\n<p>Zusammengefasst also nimmt <b>NameSpace<\/b> als Parameter sowohl Verzeichnis-Strings entgegen, wie auch Zahlenwerte (die sogenannten <b>KnownFolder-ID<\/b>s) und schlie&szlig;lich GUIDs (<b>KnownFolder-CLSID<\/b>s) als Strings.<\/p>\n<p>Wenden wir uns nach diesem Ausflug in den Shell-Namespace wieder den Zip-Archiven zu. Sie k&ouml;nnen sicher erraten, wie eine Zip-Datei als <b>Folder<\/b>-Objekt zu erhalten ist: Sie &uuml;bergeben einfach deren Dateinamen. Ein Beispiel:<\/p>\n<pre><span style=\"color:blue;\">Set<\/span> objFolder = objShell.NameSpace ( _\r\n    \"d:\\beispiele\\test.zip\")<\/pre>\n<p>Als n&auml;chstes interessiert uns nat&uuml;rlich der Inhalt eines Ordners &#8211; in diesem Fall die enthaltenen Dateien. Die <b>Folder<\/b>-Klasse sieht daf&uuml;r die Auflistungs-Eigenschaft <b>Items<\/b> vor, welche sich &uuml;ber eine <b>For-Next<\/b>-Schleife durchlaufen l&auml;sst. Jedes Element der <b>Items<\/b>-Auflistung ist vom Typ <b>FolderItem<\/b>. M&ouml;chten Sie die Namen der Dateien im Ordner ausgeben, so k&auml;me etwa diese Routine infrage:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objItm<span style=\"color:blue;\"> As <\/span>FolderItem\r\nFor Each objItm in objFolder.Items\r\n     <span style=\"color:blue;\">Debug.Print<\/span> objItm.Name\r\n<span style=\"color:blue;\">Next<\/span> objItm<\/pre>\n<p>Auf diese Weise k&ouml;nnen Sie die in einem Zip-Archiv befindlichen Dateien inspizieren. Dabei sollte noch erw&auml;hnt werden, dass das Archiv wiederum Ordner enthalten kann. Nur dann weist die Eigenschaft <b>IsFolder<\/b> des entsprechenden FolderItems den Wert <b>True<\/b> auf, und die Eigenschaft <b>Type<\/b> gibt einen Text aus, der genau der Bezeichnung im Explorer entspricht. Je nach System kann diese Bezeichnung allerdings unterschiedlich sein. Ist etwa ein Packprogramm installiert, so k&ouml;nnte die Bezeichnung <b>WinRAR ZIP-Archiv<\/b> lauten. <\/p>\n<h2>FolderItems extrahieren<\/h2>\n<p>Wie jedoch lassen sich die Dateien oder Ordner des Archivs nun entpacken Im Objektkatalog findet man weder zum <b>FolderItem<\/b>, noch zum <b>Folder<\/b>-Objekt Funktionsnamen, wie <b>Extract<\/b> oder <b>Uncompress<\/b>, die daf&uuml;r dienlich sein k&ouml;nnten. Das aber ist einleuchtend, da die Shell das Archiv als normalen Ordner ansieht und somit lediglich jene Methoden anbietet, die auch f&uuml;r Dateien eines Verzeichnisses g&auml;lten. Im Explorer k&ouml;nnen Sie eine Datei aus dem Archiv extrahieren, indem Sie sie entweder per Drag&#038;Drop verschieben, oder indem Sie sie kopieren und in einen anderen Ordner einf&uuml;gen. Genau das geht auch hier &uuml;ber die <b>CopyHere<\/b>-Funktion eines <b>Folder<\/b>-Objekts.  Diese Methode erwartet als Parameter ein <b>Folder<\/b>&#8211; oder <b>FolderItem<\/b>-Objekt. Der Vorgang hat folgenderma&szlig;en auszusehen:<\/p>\n<p>Sie setzen zuerst ein Folder-Objekt auf das Zielverzeichnis. Dann benutzen Sie dessen <b>CopyHere<\/b>-Methode, um in dieses Verzeichnis Dateien oder Ordner zu kopieren, wobei diese in Form von zuvor erzeugten <b>FolderItems<\/b> daher kommen m&uuml;ssen.  <\/p>\n<p>Machen wir den Test und versuchen das Archiv <b>test.zip<\/b> in einen Ordner <b>d:\\testordner<\/b> zu extrahieren:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objZiel<span style=\"color:blue;\"> As <\/span>Folder\r\n<span style=\"color:blue;\">Set<\/span> objZiel = objShell.NameSpace( _\r\n     \"d:\\testordner\")\r\nobjZiel.CopyHere objZipFolder<\/pre>\n<p>Leider wird das Archiv damit nicht entpackt, sondern nur eine Kopie der Zip-Datei angelegt &#8211; eigentlich klar, da das Objekt <b>objZipFolder<\/b> ja das Archiv selbst kennzeichnet, nicht dessen Inhalt. Folglich muss hier  die oben angef&uuml;hrte Routine zum Auslesen der <b>FolderItems<\/b> modifiziert werden:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objItm<span style=\"color:blue;\"> As <\/span>FolderItem\r\nFor Each objItm in objFolder.Items\r\n     objZiel.CopyHere objItm\r\n     DoEvents\r\n<span style=\"color:blue;\">Next<\/span> objItm<\/pre>\n<p>Und tats&auml;chlich: Im Zielordner laden damit die Dateien des Archivs! Sollte das Archiv Unterordner mit Dateien enthalten, so werden auch diese alle anstandslos entsprechend der Struktur angelegt. Es ist also nicht etwa n&ouml;tig, diese Unterordner und Dateien in der Routine alle einzeln anzusprechen. <\/p>\n<p>Wichtig ist auch die Zeile mit der <b>DoEvents<\/b>-Anweisung. Da der Shell-Prozess asynchron arbeitet, ist er unter Umst&auml;nden noch mit dem Kopieren eines Items besch&auml;ftigt, w&auml;hrend VBA bereits mit dem Code fortf&auml;hrt &#8211; die <b>CopyHere<\/b>-Methode wartet nicht auf den Vollzug! Es hat sich gezeigt, dass ohne ein DoEvents manchmal Dateien unterschlagen werden.<\/p>\n<p>Bei umfangreicheren Archiven werden Sie feststellen, dass sich beim Ausf&uuml;hren der Routine automatisch der Windows-Fortschrittsdialog &ouml;ffnet. Das <b>Shell<\/b>-Objekt verh&auml;lt sich also exakt gleich, wie beim manuellen Kopieren von Dateien im Explorer. In Ma&szlig;en l&auml;sst sich das Verhalten jedoch &uuml;ber einen zweiten optionalen Parameter von <b>CopyHere<\/b> steuern, den wir bisher unterschlagen haben. Mit <b>Options<\/b> kann man eine Kombination von Steuerkonstanten &uuml;bergeben, die Sie im Modul <b>mdlZipShell<\/b> der Beispieldatenbank kommentiert als Enumeration <b>eFileOp<\/b> finden. So bewirkt etwa die Angabe von <b>eOpNoProgress<\/b>, dass sich eben kein Fortschrittsdialog &ouml;ffnet. Oder <b>eOpAllowUndo<\/b> weist an, dass die Operation wieder r&uuml;ckg&auml;ngig gemacht werden kann. In unserem Fall hie&szlig;e das, dass Sie im Explorer dann das R&uuml;ckg&auml;ngig-Symbol bet&auml;tigen k&ouml;nnten, wodurch sich das Zielverzeichnis wieder leeren w&uuml;rde. Interessant ist auch die Konstante <b>eOpNewName<\/b>. Ohne deren Angabe w&uuml;rde eine existierende Datei <b>mein.txt<\/b> im Zielverzeichnis nicht &uuml;berschrieben, sondern automatisch mit einem neuen Namen kopiert; also etwa in <b>Kopie von mein.txt<\/b> oder <b>mein(1).txt<\/b>. <\/p>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Access &#091;basics&#093;<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000\"><a style=\"color: #ff0000\" href=\"https:\/\/shop.minhorst.com\/magazine\/282\/access-basics?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000\">Danach greifen Sie sofort auf <strong>alle rund 400 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000274\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Passwort<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Angemeldet bleiben<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000274?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000274\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"75cf418e65\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Anmelden\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das VBA-gesteuerte Packen und Archivieren von Dateien ist eine Aufgabe, der auch Access-Entwickler immer wieder begegnen. Dass man dabei keineswegs auf externe Komponenten oder Hilfsmittel angewiesen ist und mit Windows-Bordmittel auskommen kann, soll dieser Beitrag zeigen.<\/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,"footnotes":""},"categories":[66022015,662015,44000004,44000014],"tags":[],"class_list":["post-55000274","post","type-post","status-publish","format-standard","hentry","category-66022015","category-662015","category-Formulare_fuer_die_Dateneingabe","category-Loesungen"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"Das VBA-gesteuerte Packen und Archivieren von Dateien ist eine Aufgabe, der auch Access-Entwickler immer wieder begegnen. Dass man dabei keineswegs auf externe Komponenten oder Hilfsmittel angewiesen ist und mit Windows-Bordmittel auskommen kann, soll dieser Beitrag zeigen.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Andr\u00e9 Minhorst\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Access [basics] - DAS ACCESS-MAGAZIN F\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Zippen mit Bordmitteln - Access [basics]\" \/>\n\t\t<meta property=\"og:description\" content=\"Das VBA-gesteuerte Packen und Archivieren von Dateien ist eine Aufgabe, der auch Access-Entwickler immer wieder begegnen. Dass man dabei keineswegs auf externe Komponenten oder Hilfsmittel angewiesen ist und mit Windows-Bordmittel auskommen kann, soll dieser Beitrag zeigen.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t\t<meta property=\"og:image:height\" content=\"127\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-24T15:59:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"-001-11-30T00:00:00+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Zippen mit Bordmitteln - Access [basics]\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Das VBA-gesteuerte Packen und Archivieren von Dateien ist eine Aufgabe, der auch Access-Entwickler immer wieder begegnen. Dass man dabei keineswegs auf externe Komponenten oder Hilfsmittel angewiesen ist und mit Windows-Bordmittel auskommen kann, soll dieser Beitrag zeigen.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html#blogposting\",\"name\":\"Zippen mit Bordmitteln - Access [basics]\",\"headline\":\"Zippen mit Bordmitteln\",\"author\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/author\\\/andreminhorst-com#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"..\\\/tl_files\\\/images\\\/Objektkatalog_Shell.png\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html\\\/#articleImage\"},\"datePublished\":\"2015-04-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"inLanguage\":\"de-DE\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html#webpage\"},\"articleSection\":\"2\\\/2015, 2015, Formulare f&uuml;r die Dateneingabe, L&ouml;sungen\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-basics.de\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2015#listItem\",\"name\":\"2015\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2015#listItem\",\"position\":2,\"name\":\"2015\",\"item\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2015\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2015\\\/2\\\/2015#listItem\",\"name\":\"2\\\/2015\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2015\\\/2\\\/2015#listItem\",\"position\":3,\"name\":\"2\\\/2015\",\"item\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2015\\\/2\\\/2015\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html#listItem\",\"name\":\"Zippen mit Bordmitteln\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2015#listItem\",\"name\":\"2015\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html#listItem\",\"position\":4,\"name\":\"Zippen mit Bordmitteln\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2015\\\/2\\\/2015#listItem\",\"name\":\"2\\\/2015\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/#organization\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"url\":\"https:\\\/\\\/access-basics.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/access-basics.de\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/logo400.png\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html\\\/#organizationLogo\",\"width\":400,\"height\":127},\"image\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/author\\\/andreminhorst-com#author\",\"url\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/author\\\/andreminhorst-com\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Andr\\u00e9 Minhorst\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html#webpage\",\"url\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html\",\"name\":\"Zippen mit Bordmitteln - Access [basics]\",\"description\":\"Das VBA-gesteuerte Packen und Archivieren von Dateien ist eine Aufgabe, der auch Access-Entwickler immer wieder begegnen. Dass man dabei keineswegs auf externe Komponenten oder Hilfsmittel angewiesen ist und mit Windows-Bordmittel auskommen kann, soll dieser Beitrag zeigen.\",\"inLanguage\":\"de-DE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Zippen_mit_Bordmitteln.html#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/author\\\/andreminhorst-com#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/author\\\/andreminhorst-com#author\"},\"datePublished\":\"2015-04-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/#website\",\"url\":\"https:\\\/\\\/access-basics.de\\\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"inLanguage\":\"de-DE\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Zippen mit Bordmitteln - Access [basics]","description":"Das VBA-gesteuerte Packen und Archivieren von Dateien ist eine Aufgabe, der auch Access-Entwickler immer wieder begegnen. Dass man dabei keineswegs auf externe Komponenten oder Hilfsmittel angewiesen ist und mit Windows-Bordmittel auskommen kann, soll dieser Beitrag zeigen.","canonical_url":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html#blogposting","name":"Zippen mit Bordmitteln - Access [basics]","headline":"Zippen mit Bordmitteln","author":{"@id":"https:\/\/access-basics.de\/index.php\/author\/andreminhorst-com#author"},"publisher":{"@id":"https:\/\/access-basics.de\/#organization"},"image":{"@type":"ImageObject","url":"..\/tl_files\/images\/Objektkatalog_Shell.png","@id":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html\/#articleImage"},"datePublished":"2015-04-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00","inLanguage":"de-DE","mainEntityOfPage":{"@id":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html#webpage"},"isPartOf":{"@id":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html#webpage"},"articleSection":"2\/2015, 2015, Formulare f&uuml;r die Dateneingabe, L&ouml;sungen"},{"@type":"BreadcrumbList","@id":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/access-basics.de\/#listItem","position":1,"name":"Home","item":"https:\/\/access-basics.de\/","nextItem":{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/category\/2015#listItem","name":"2015"}},{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/category\/2015#listItem","position":2,"name":"2015","item":"https:\/\/access-basics.de\/index.php\/category\/2015","nextItem":{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/category\/2015\/2\/2015#listItem","name":"2\/2015"},"previousItem":{"@type":"ListItem","@id":"https:\/\/access-basics.de\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/category\/2015\/2\/2015#listItem","position":3,"name":"2\/2015","item":"https:\/\/access-basics.de\/index.php\/category\/2015\/2\/2015","nextItem":{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html#listItem","name":"Zippen mit Bordmitteln"},"previousItem":{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/category\/2015#listItem","name":"2015"}},{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html#listItem","position":4,"name":"Zippen mit Bordmitteln","previousItem":{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/category\/2015\/2\/2015#listItem","name":"2\/2015"}}]},{"@type":"Organization","@id":"https:\/\/access-basics.de\/#organization","name":"Access [basics]","description":"DAS ACCESS-MAGAZIN F\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN","url":"https:\/\/access-basics.de\/","logo":{"@type":"ImageObject","url":"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png","@id":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html\/#organizationLogo","width":400,"height":127},"image":{"@id":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/access-basics.de\/index.php\/author\/andreminhorst-com#author","url":"https:\/\/access-basics.de\/index.php\/author\/andreminhorst-com","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","@id":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","width":96,"height":96,"caption":"Andr\u00e9 Minhorst"}},{"@type":"WebPage","@id":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html#webpage","url":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html","name":"Zippen mit Bordmitteln - Access [basics]","description":"Das VBA-gesteuerte Packen und Archivieren von Dateien ist eine Aufgabe, der auch Access-Entwickler immer wieder begegnen. Dass man dabei keineswegs auf externe Komponenten oder Hilfsmittel angewiesen ist und mit Windows-Bordmittel auskommen kann, soll dieser Beitrag zeigen.","inLanguage":"de-DE","isPartOf":{"@id":"https:\/\/access-basics.de\/#website"},"breadcrumb":{"@id":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html#breadcrumblist"},"author":{"@id":"https:\/\/access-basics.de\/index.php\/author\/andreminhorst-com#author"},"creator":{"@id":"https:\/\/access-basics.de\/index.php\/author\/andreminhorst-com#author"},"datePublished":"2015-04-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00"},{"@type":"WebSite","@id":"https:\/\/access-basics.de\/#website","url":"https:\/\/access-basics.de\/","name":"Access [basics]","description":"DAS ACCESS-MAGAZIN F\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN","inLanguage":"de-DE","publisher":{"@id":"https:\/\/access-basics.de\/#organization"}}]},"og:locale":"de_DE","og:site_name":"Access [basics] - DAS ACCESS-MAGAZIN F\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN","og:type":"article","og:title":"Zippen mit Bordmitteln - Access [basics]","og:description":"Das VBA-gesteuerte Packen und Archivieren von Dateien ist eine Aufgabe, der auch Access-Entwickler immer wieder begegnen. Dass man dabei keineswegs auf externe Komponenten oder Hilfsmittel angewiesen ist und mit Windows-Bordmittel auskommen kann, soll dieser Beitrag zeigen.","og:url":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html","og:image":"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png","og:image:secure_url":"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png","og:image:width":400,"og:image:height":127,"article:published_time":"2020-01-24T15:59:20+00:00","article:modified_time":"-001-11-30T00:00:00+00:00","twitter:card":"summary_large_image","twitter:title":"Zippen mit Bordmitteln - Access [basics]","twitter:description":"Das VBA-gesteuerte Packen und Archivieren von Dateien ist eine Aufgabe, der auch Access-Entwickler immer wieder begegnen. Dass man dabei keineswegs auf externe Komponenten oder Hilfsmittel angewiesen ist und mit Windows-Bordmittel auskommen kann, soll dieser Beitrag zeigen.","twitter:image":"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png"},"aioseo_meta_data":{"post_id":"55000274","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2024-01-27 03:11:55","updated":"2026-10-19 16:34:05","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/access-basics.de\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/access-basics.de\/index.php\/category\/2015\" title=\"2015\">2015<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/access-basics.de\/index.php\/category\/2015\/2\/2015\" title=\"2\/2015\">2\/2015<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tZippen mit Bordmitteln\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/access-basics.de\/"},{"label":"2015","link":"https:\/\/access-basics.de\/index.php\/category\/2015"},{"label":"2\/2015","link":"https:\/\/access-basics.de\/index.php\/category\/2015\/2\/2015"},{"label":"Zippen mit Bordmitteln","link":"https:\/\/access-basics.de\/index.php\/Zippen_mit_Bordmitteln.html"}],"_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=55000274"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000274\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}